Close
0%
0%

EuroCUBE-09 Flex ROM investigation

6809 board Flex firmware rescue

Similar projects worth following
411 views
0 followers
A Control Universal EuroCUBE-09 board appeared on eBay for 89 GBP. Rare, but expensive and in poor condition. I offered the vendor 10 GBP to read the ROM for me, and I disassembled it.

The hardware is based on their 6502-based board, with a change of CPU and logic chips. 

I already have a better 6809 board and peripherals, so I'm not that keen on getting the board for renovation. The firmware might be interesting, so I checked J.G. Harston's extensive website. It wasn't there. So I bought just the ROM data.

The EuroCUBE-65 manual documents the 16 different link-selectable memory maps. Two of them are for 6809 Flex systems. The ROM is enabled is the top 8K of memory space, but disabled in places to allow space for RAM and I/O.

E000-E7FF = RAM, 2K
E800-FFFF = ROM, 6K less 256 bytes
EE00-EE7F = I/O page, 256 bytes

I could not find an online 6809 disassembler, but did find many downloadable ones. I chose one that was Flex OS aware, as this is a Flex OS firmware ROM. 

The VIA, UART and RTC locations are taken from the manual, but the FDC locations are guessed. The 2793 chip has four contiguous locations.

I can't spare the many hours it would take to do it completely but it is good enough to see where the RAM, ROM, and I/O devices go. I'll leave further work to keen Flex enthusiasts.

Most importantly, the firmware has not been lost forever.

CU-EuroCUBE-09-MOS-F3-1-6809.dis.txt

Disassembly output

text/plain - 190.18 kB - 08/25/2021 at 00:24

Download

CU-EuroCUBE-09-MOS-F3-1.bin

Binary file. Only the top 4k is used.

octet-stream - 8.00 kB - 08/25/2021 at 00:26

Download

CU-EuroCUBE-09-MOS-F3-1.info.txt

Information file telling the assembler what to treat as code, data, vectors etc. The FDC location is an educated guess, the manual does not have an I/O map.

plain - 5.68 kB - 08/26/2021 at 14:53

Download

CU-EuroCUBE-09-MOS-F3-1.hex.txt

plain - 22.01 kB - 09/22/2025 at 02:07

Download

Control Universal Catalogue May 1987, EuroCUBE-09 materiel.htm.zip

Information from the pages of the Control Universal catalogue.

Zip Archive - 3.28 kB - 10/27/2021 at 20:50

Download

View all 7 files

  • Hardware notes

    Keith09/18/2025 at 23:14 0 comments

    the IC1 = 6809
    IC2 = 6522
    IC3,9 = 74LS244
    IC4 = 2716 OR 2732 EPROM
    IC5,6 = 2114
    IC7,8 = 74LS244
    IC10 = INS8208
    IC11 = 74S470 256 x 8-bit PROM
    IC12 = 74LS74
    IC13,14 = 74LS00
    IC15 = 74LS86

    The PROM  was the memory address decoder. These days it is harder to find than GAL16V8 which would do the same job. Stephen Crozier did this replacement for his Eurobeeb 6502 board.

    As a programmable part, you would have to work out the data by analysing the memory maps described in the manual.

    I can't find the circuit for this board. I'm confident it is just an Acorn 6809 board with a 6551 serial chip added. So most if it will be the same. If anyone has the circuit, I'd love a copy.

    Bram Prosman has heard that the Eurobeeb 6502 and 6809 boards are essentially the same, with only the CPU circuitry slightly different.

    The MAME project emulates the Eurobeeb 6809, and the source code shows the 16 possible memory maps that the address decoder can select. See https://github.com/mamedev/mame/blob/mame0280/src/mame/acorn/eurocube.cpp

    // Map 4 - FLEX, low cost (6809 only)
      m_view[4](0x0000, 0x1fff).ram();                   // M3
      m_view[4](0x2000, 0x3fff).ram();                   // M2
      m_view[4](0xe000, 0xffff).rom().region("m0", 0);   // M0
      m_view[4](0xe000, 0xe7ff).ram();                   // M1
    //m_view[4](0xe000, 0xefff).lrw8(                    // I/O Block

     Which shows

    0000-3FFF is 16K RAM 
    4000-DFFF is 40K free space (could be filled with RAM)
    E000-E7FF is 2K RAM
    E800-FFFF is the top 6K of an 8K EPROM, with a half-K hole for i/o

    EE00-EFFF is the half-K i/o device space (the commented line in the code contradicts my ROM disassembly)

    This gives us enough information to design a memory-mapping GAL.

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates