NanoMig is a port of the Minimig Commodore Amiga FPGA implementation to the Tang Nano 20K, Tang Primer 25K and Tang Mega 138K Pro FPGA development boards.
This is based on the MiSTeryNano project and also relies on a FPGA companion to be connected to the FPGA board for USB support and on-screen-display control.
This is still a work in progress. The current version is based on the MiSTer Minimig AGA code and runs many Amiga games and demos.
Current state:
- Minimig based on MiSTer Minimig AGA
- Kick ROM stored in flash ROM
- Up to 2MB chip and 1.5MB slow RAM
- OCS and ECS chipset (no AGA!)
- Up to four virtual floppy drives
- HDMI video and audio, PAL and NTSC
- Keyboard, Mouse and Joystick via USB
- Virtual IDE hard disk read an write support
- Runs on Tang Nano 20k, Primer 25K and Mega 138K Pro
- Fully simulated
Planned features:
- Floppy disk write support
- Accelerated 68020 support (may not fit)
- AGA support (may not fit)
These youtube shorts mainly document the progress:
- NanoMig #10: World of Commodore Amiga Demo on Tang Primer 25k
- NanoMig #9: Amiga speedball 2 on Tang Mega 138k Pro
- NanoMig #8: Booting from virtual Harddisk
More ...
- NanoMig #7: Tiniest Amiga running Gods
- NanoMig #6: First signs of life with the 68ec020
- NanoMig #5: Cheap FPGA Amiga finally runs Planet Rocklobster Demo
- NanoMig #4: Running Amiga Pro tracker on the Tang Nano 20k
- NanoMig #3: Booting workbench for the first time on Tang Nano 20k
- NanoMig #2: USB keyboard and audio for the FPGA Amiga
- NanoMig #1: Amiga DiagROM booting on Tang Nano 20k
The necessary binaries can be found in the project releases.
nanomig.fs
needs to be flashed to the FPGA's flash memoryopenFPGALoader -fs nanomig.fs
- Kickstart 1.3
kick13.rom
needs to be flashed at offset 0x400000 and 0x440000openFPGALoader --external-flash -o 0x400000 kick13.rom
openFPGALoader --external-flash -o 0x440000 kick13.rom
- The latest firmware needs to be flashed to the M0S Dock
- Or use a Raspberry pi pico or esp32-s2/s3
- A default ADF disk image named
df0.adf
should be placed on SD card (e.g. workbench 1.3) - For the SD card to work all components incl. the M0S have to work properly