So we have a good system up and running and what is left to do?
We have now in place:
- TG68 68010 running at 100mhz with a double-precision FPU.
- Console via telnet over ethernet.
- 16mb DDR3 with a L2 cache.
- Gameduino, OPL3 and SDCard via SPI interfaces.
- RTC via I2C.
- FRAM Spi memory with large "rom" memory space storing ehbasic & the motorola assembler and monitor
- A simple monitor in rom (block rom)
- PS2 interface and timers running with interrupts
- The ehBasic "shell" which provides a FAT32 disk command line, access to the Gameduino commands, plus any other memory mapped peripherals using poke & peek.
- Native dis/assembler running on the 68000
- Support for an ESP32 wifi running an AT command firmware over UART
- GCC c++/c/asm toolchain with support for the full Newlib stdio and Maths libraries, FAT32 file system, OPL3, Gameduino libraries.
- I have written a C++ SPI Class which enables easy porting of other Arduino style libraries. Examples available for Gameduino, OPL3Duo and Adafruit Fram.
Work now in progress:
Hardware
PCB design to connect the 68k bus via the PMOD connectors to external hardware.
- I will provide a 48 pin socket to connect a CMOD-A7. This will provide the glue and will also have enough space to run either a 6809 or Z80 co-processor with the onboard 512k sram. By providing a co-processor I am following the design pattern from the 68000 based Capcom System 16 which used a Z80 co-processor to manage the sound chip (YM2151). This should free the main CPU up from long running hardware requests.
- External SRAM (2mb) to provide fast ram for the 68k.
- Level shifted 5v expansion ports in the RC2014 8-bit format and the Rosco 68k expansion bus format. By using these bus layouts existing open source card designs will be usable by the Merlin FPGA system and also by the co-processor.
Some form of L1 cache for the TG68k processor. I'm currently experimenting with different designs.
Software
- Port of the Arduino WifiESP AT library to allow HTTP connections from either GCC or ehBasic. I just need to port the Serial stream class to Merlin GCC.
- Co-processor Rom to control the new PCB hardware.
To-do & not started
- Addition to the bios to create a keyboard/HDMI console and tile/sprite engine using the Gameduino system
- Basic commands to control the OPL3 chips.
- Mouse interface
- USB Host
- Some form of operating system? (Not sure I need this)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.