Repository navigation
MSXnano v2.1 — sorted SD browser, faster CPU read path (pre-release)
Pre-releaseMSXnano v2.1 — an MSX2+ on a Tang Nano 20K. A pre-release until it is validated on the board; the last validated one is v2.0-final.
What's new
- Sorted SD browser: folders first, then ROMs and disks together, alphabetical and case-insensitive. Hidden and system files stay out of the list (Windows'
System Volume Information, the.Trashesand._name.roma Mac leaves behind). Up to 112 entries per folder; if there are more, the counter ends in+(112/112+). On the gamepad, left and right (page jumps) count once per press. - A faster CPU read path: the CPU read multiplexer is a tree instead of a 31-deep chain, with exactly the same priority (proven with a formal equivalence check, yosys SAT plus 200,000 random vectors). The CPU clock now closes on 6 placements out of 6, against 3 out of 6 before; this build runs at 62.5 MHz for the 54 MHz it needs (v2.0: 61.7).
- BIOS packs in English as well as Spanish.
- Settings shows 2.1 as the FPGA version. The RP2040 and ESP32-C6 firmwares are the same as v2.0.
💾 What to flash
| File | Where | How |
|---|---|---|
msxnano_v2.1.fs |
FPGA flash 0x000000 |
Gowin Programmer, External Flash Mode |
| One pack (below) | FPGA flash 0x200000 |
Gowin Programmer, exFlash C Bin Erase, Program thru GAO-Bridge |
rp2040_keyboard_zero.uf2 (Waveshare RP2040-Zero) or rp2040_keyboard_pico.uf2 (Pico) |
RP2040 | hold BOOTSEL, drag onto RPI-RP2 (unchanged from v2.0) |
firmware_esp32c6_v2.0_merged.bin |
ESP32-C6-LCD-1.3, 0x0 |
esptool — only if you fit the C6 (unchanged from v2.0) |
| Pack | Menu | Nextor |
|---|---|---|
pack_bios_msxnano.bin |
Spanish | 2.1.4 — recommended |
pack_bios_msxnano_en.bin |
English | 2.1.4 |
pack_bios_msxnano_nextor3.bin |
Spanish | 3 beta |
pack_bios_msxnano_en_nextor3.bin |
English | 3 beta |
Flash one pack. Flashing a pack resets the saved Settings. The system ROMs inside the packs are copyrighted by their owners.
What to check on the board
Settings says 2.1; F11 turbo; keyboard, gamepad and mouse; the SD browser sorted, with no System Volume Information; a folder with more than 112 files ends the counter in +; launching a ROM and a DSK; File-Hunter; Save & Restart surviving a power cycle.
📚 Documentation
In the repository, in Spanish: docs/INDICE.md. The timing measurements of v2.1 (six placements with the old chain against six with the tree) are in docs/tecnica/06-sintesis-timing.md, and the change log in docs/tecnica/08-changelog.md. The repository rebuilds this bitstream: the placement seed that was delivered is in top.v.
MD5
7e5ac2d34a680a2eacce48d541c9bffc msxnano_v2.1.fs
eb03b904e5cacbdc813a3d5c97c3c159 pack_bios_msxnano.bin
e7fe504e4704404c57a862f57b6c65de pack_bios_msxnano_en.bin
a2a0c4c351bc0da7e6c1110d1ef6d8be pack_bios_msxnano_nextor3.bin
422dd54f91c114815a20945ca59849de pack_bios_msxnano_en_nextor3.bin
f848f2e93e65c23c4440a813ab578f5d rp2040_keyboard_zero.uf2
cc5d531b324b868affeae6763ec9a5f9 rp2040_keyboard_pico.uf2
b28245c48147c7dac29eca19798f350f firmware_esp32c6_v2.0_merged.bin