{"id":40429051,"url":"https://github.com/mistle-dev/nanomig","last_synced_at":"2026-01-28T04:48:13.828Z","repository":{"id":241615815,"uuid":"806154388","full_name":"MiSTle-Dev/NanoMig","owner":"MiSTle-Dev","description":"Amiga Minimig ported to the Tang Nano 20k FPGA","archived":false,"fork":false,"pushed_at":"2026-01-16T10:04:15.000Z","size":1870,"stargazers_count":176,"open_issues_count":31,"forks_count":21,"subscribers_count":20,"default_branch":"main","last_synced_at":"2026-01-16T23:54:15.801Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Verilog","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MiSTle-Dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["harbaum"]}},"created_at":"2024-05-26T14:27:21.000Z","updated_at":"2026-01-16T10:04:19.000Z","dependencies_parsed_at":"2024-06-18T07:48:22.702Z","dependency_job_id":"ac5567b7-4e2b-4203-9997-4aacb890d21b","html_url":"https://github.com/MiSTle-Dev/NanoMig","commit_stats":null,"previous_names":["harbaum/nanomig","mistle-dev/nanomig"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/MiSTle-Dev/NanoMig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiSTle-Dev%2FNanoMig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiSTle-Dev%2FNanoMig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiSTle-Dev%2FNanoMig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiSTle-Dev%2FNanoMig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MiSTle-Dev","download_url":"https://codeload.github.com/MiSTle-Dev/NanoMig/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiSTle-Dev%2FNanoMig/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28606287,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T14:45:23.139Z","status":"ssl_error","status_checked_at":"2026-01-20T14:44:16.929Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-20T16:00:27.723Z","updated_at":"2026-01-20T16:00:57.955Z","avatar_url":"https://github.com/MiSTle-Dev.png","language":"Verilog","funding_links":["https://github.com/sponsors/harbaum"],"categories":[],"sub_categories":[],"readme":"# NanoMig\n\nNanoMig is a port of the [Minimig](https://en.wikipedia.org/wiki/Minimig) Commodore Amiga FPGA implementation to the [Tang Nano 20K](https://wiki.sipeed.com/hardware/en/tang/tang-nano-20k/nano-20k.html), [Tang Primer 25K](https://wiki.sipeed.com/hardware/en/tang/tang-primer-25k/primer-25k.html), [Tang Mega 138K Pro](https://wiki.sipeed.com/hardware/en/tang/tang-mega-138k/mega-138k-pro.html) and [Tang Console with Mega 60k / 138k module](https://wiki.sipeed.com/hardware/en/tang/tang-console/mega-console.html) FPGA development boards.\n\n![NanoMig](doc/nanomig.jpg)\n\nThis is based on the [MiSTeryNano project](https://github.com/harbaum/MiSTeryNano/) and also relies on a [FPGA companion](http://github.com/harbaum/FPGA-Companion) to be connected to the FPGA board for USB support and on-screen-display control.\n\nThis is still a work in progress. The current version is based on the [MiSTer Minimig AGA code](https://github.com/MiSTer-devel/Minimig-AGA_MiSTer) and runs many Amiga games and demos.\n\nCurrent state:\n\n  * Minimig based on [MiSTer Minimig AGA](https://github.com/MiSTer-devel/Minimig-AGA_MiSTer)\n  * Amiga 500 and Amiga 1000 modes\n  * Kick ROM stored in flash ROM\n  * Up to 2MB chip and 1.5MB slow RAM\n  * OCS and ECS chipset (no AGA!)\n  * Up to four virtual floppy drives\n  * HDMI video and audio, PAL and NTSC\n  * Keyboard, mouse and joystick via USB\n  * Virtual IDE hard disk read and write support\n  * Runs on [Tang Nano 20k](https://wiki.sipeed.com/hardware/en/tang/tang-nano-20k/nano-20k.html), [Primer 25K](https://wiki.sipeed.com/hardware/en/tang/tang-primer-25k/primer-25k.html), [Mega 138K Pro](https://wiki.sipeed.com/hardware/en/tang/tang-mega-138k/mega-138k-pro.html) and [Tang Console with Mega 60k / 138k module](https://wiki.sipeed.com/hardware/en/tang/tang-console/mega-console.html)\n  * [Fully simulated](sim)\n\nPlanned features:\n  * Floppy disk write support\n  * Accelerated 68020 support (may not fit)\n  * AGA support (may not fit)\n\n## Videos\n\nThese youtube shorts mainly document the progress:\n\n  * [NanoMig #10: World of Commodore Amiga Demo on Tang Primer 25k](https://youtube.com/shorts/XdLlrg1wgko)\n  * [NanoMig #9: Amiga speedball 2 on Tang Mega 138k Pro](https://youtube.com/shorts/NHFjJwGAOZ0)\n  * [NanoMig #8: Booting from virtual Harddisk](https://youtube.com/shorts/9LJ0tsSZb60)\n\n\u003cdetails\u003e\u003csummary\u003eMore ...\u003c/summary\u003e\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"https://youtube.com/shorts/vbYURdxtEAQ\"\u003eNanoMig #7: Tiniest Amiga running Gods\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"https://youtube.com/shorts/uFKjddN-WSA\"\u003eNanoMig #6: First signs of life with the 68ec020\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"https://youtube.com/shorts/PSqerpTvJrw\"\u003eNanoMig #5: Cheap FPGA Amiga finally runs Planet Rocklobster Demo\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"https://youtube.com/shorts/00sgeovKQa4\"\u003eNanoMig #4: Running Amiga Pro tracker on the Tang Nano 20k\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"https://www.youtube.com/shorts/ZvdcHXi-k2g\"\u003eNanoMig #3: Booting workbench for the first time on Tang Nano 20k\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"https://www.youtube.com/shorts/5n52x6f5NDI\"\u003eNanoMig #2: USB keyboard and audio for the FPGA Amiga\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"https://www.youtube.com/shorts/ti7aLr5Kjqc\"\u003eNanoMig #1: Amiga DiagROM booting on Tang Nano 20k\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\n## What's needed?\n\nThe necessary binaries can be found in the [project releases](https://github.com/MiSTle-Dev/NanoMig/releases).\n\n  * ```nanomig.fs``` needs to be flashed to the FPGA's flash memory\n    * ```openFPGALoader -f nanomig.fs```\n    * Currently supported are Tang Nano 20k with HDMI (```nanomig.fs```), Tang Nano 20k with RGB LCD (```nanomig_lcd.fs```), Tang Primer 25k (```nanomig_tp25k.fs```), Tang Mega 138k Pro (```nanomig_tm128k.fs```), Tang Console 60k (```nanomig_tc60k.fs```) and Tang Console 138k (```nanomig_tc128k_bl616.fs```)\n  * On Nano 20k, Primer 25k and Console 60K 256kByte Kickstart 1.3 ```kick13.rom``` needs to be flashed to offset 0x400000 _and_ 0x440000 (identical file). On 138k boards use addresses 0x600000 and 0x640000 instead.  \n  Note: 512kB Kickstart 1.3 ROMs at offset 0x400000 respectively 0x600000 for 138k.\n    * ```openFPGALoader --external-flash -o 0x400000 kick13.rom```\n    * ```openFPGALoader --external-flash -o 0x440000 kick13.rom```  \n    See here for [checksums of known working Kickstart roms.](https://github.com/MiSTle-Dev/NanoMig/blob/main/doc/KICKSTART_ROMS.md)\n  * For IDE HDD support 512kB Kickstart 3.1 ```kick31.rom``` needs to be flashed at offset 0x400000 (138k: 0x600000) only.\n    * ```openFPGALoader --external-flash -o 0x400000 kick31.rom```\n  * The [latest FPGA Companion firmware](http://github.com/harbaum/FPGA-Companion) needs to be flashed to the support MCU\n    * Currenly supported are [M0S Dock (BL616)](https://github.com/harbaum/FPGA-Companion/tree/main/src/bl616), [Raspberry Pi Pico (RP2040)](https://github.com/harbaum/FPGA-Companion/tree/main/src/rp2040), [ESP32-S2/S3](https://github.com/harbaum/FPGA-Companion/tree/main/src/esp32)  \n    and TN20k, Console 60k/138k, Primer25k, Mega138k Pro integrated [onboard BL616](https://en.bouffalolab.com/) MPU\n  * A default ADF disk image named ```df0.adf``` should be placed on SD card (e.g. workbench 1.3)\n  * For the SD card to work [all components incl. the support MCU](https://github.com/harbaum/NanoMig/issues/5) have to work properly\n\n## LED UI\n\n| LED | function    | TN20K | TP25K |TM60K|TM138K Pro|Console60K/138k|\n| --- |           - | -     | -     | -   |-         |-|\n| 0 | POWER         | x     | x     | x   |x         |x|\n| 1 | F.DISK        | x     | x     | x   |x         |x|\n| 2 | H.DISK 1      | x     | -     |   - |x         |-|\n| 3 | H.DISK 2      | x     | -     |   - |x         |-|\n| 4 | SD-CARD       | x     | -     |   - |x         |-|\n| 5 |               | x     | -     |   - |x         |-|\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmistle-dev%2Fnanomig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmistle-dev%2Fnanomig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmistle-dev%2Fnanomig/lists"}