Recovered listing
The attached disk is a 720 KB MSX2 FAT12 image. Boot is Z80. The Master System is the same CPU at the same clock, so this port is a native rewrite — not a binary translator, and not the original ROM.
| MSX2 | Master System | Notes |
|---|---|---|
| Z80 3.58 MHz | Z80 3.58 MHz | Same silicon family. Port is a native rewrite, not a binary patch. |
| V9938 (MSX2 VDP) | 315-5124 VDP (TMS9918-derived) | 256×192, 16 on-screen colors from a 6-bit RGB set. |
| AY-3-8910 + YM2413 OPLL | SN76489 + YM2413 (JP Mark III FM Unit) | Same Yamaha OPLL as MSX-MUSIC. MML at $9243 plays on the Japanese FM unit; export SMS is 3 square + noise. |
| 64–128 KB RAM + disk | 8 KB RAM + ROM mapper | State packed into a few hundred bytes plus a tilemap. |
| MSX-DOS BDOS $F37D | No DOS — cartridge vector | Boot loader discarded; game starts in ROM. |
EXTRA 80 drops the first sector at $C000, sets SP to $DAFF, then talks to MSX-DOS BDOS at $F37D and probes page-1 RAM with BIOS WRSLT/RDSLT.
C01F 31 FF DA LD SP,$DAFF ; Stack below boot page C022 0E 2E LD C,$2E ; BDOS: disk info C024 1E 00 LD E,$00 ; C026 CD 7D F3 CALL $F37D ; MSX-DOS BDOS entry C029 0E 1A LD C,$1A ; BDOS: set DMA address C02B 11 00 C0 LD DE,$C000 ; DMA = boot page C02E CD 7D F3 CALL $F37D ; C031 0E 2F LD C,$2F ; BDOS: read logical sector C033 21 00 01 LD HL,$0100 ; Record / count C036 11 00 00 LD DE,$0000 ; LBA 0 C039 CD 7D F3 CALL $F37D ; Pull next boot block C03C CD 2B C1 CALL $C12B ; Hardware probe C03F CD C9 C0 CALL $C0C9 ; Init C042 CD BB C0 CALL $C0BB ; Slot scan C058 AF XOR A ; C059 C3 D0 C1 JP $C1D0 ; Enter loader C0A0 21 00 40 LD HL,$4000 ; Page-1 RAM test C0A3 1E 55 LD E,$55 ; Write pattern C0A5 CD 14 00 CALL $0014 ; BIOS WRSLT C0AA CD 0C 00 CALL $000C ; BIOS RDSLT C0AD FE 55 CP $55 ; Did the write stick? C260 ED B0 LDIR ; Copy packed game into $C000
2500 01 00 0F 00 0A 00 05 00 14 00 32 00 64 00 02 00 2510 1E 00 14 00 0A 00 28 00 64 00 C8 00 03 00 2D 00 2520 1E 00 0F 00 3C 00 96 00 2C 01 01 00 05 00 0A 00 2530 06 00 08 00 32 00 64 00 01 00 05 00 0A 00 06 00 2540 08 00 32 00 64 00 … 100/200/300 cost ladder (LE words)
Japanese Master System / Mark III FM Sound Unit is Yamaha YM2413 OPLL — the same chip as MSX-MUSIC. The disk already speaks that dialect. Export SMS keeps the SN76489 path.
V15S150,255,15,200,18,15O2L64M3W18CRM2W9CW6CW0V13C^R1 V15S0,80,255,255,0,50O5L64W10M1C^D^E^M3A^F^M2V13G+^G^F+^R1 Q8V15O6L64S255,255,255,255,0,6M1CECGCECG>C^<R1 V15S255,255,10,100,5,20O3L64=1*1E^B^>E^B^<U10,1R1
Root directory is obfuscated (every 8.3 name is 11 garbage bytes, size field locked at 11). Classic Japanese disk protection — the volume still mounts as FAT12 (BPB: 512 bps, 2 spc, 2 FATs, 112 root, media F9) but files are not named. Game code lives in packed sectors loaded by the EXTRA 80 stub.
Credits recovered at $9DF3: METAL KNIGHTS for MSX2 / GAME DESIGN & PROGRAMED by YU_ICHI.TOYAMA with BACKSTAGE DREAMER / COPYRIGHT 1988 (C) TECNOSOFT / PROGRAMING DAYS '87.10-11 '88.1-3