スターソルジャーはna6koさんによると2本ともダイオードが右向きなのでバンク切り替えのデータをwriteするとき、D4とD5は両方ともLowでなければならない。D0とD1は切り替えたいバンクとして、他のビットD2、D3、D6、D7は何でも良いことになる。74161でラッチするときにデータが衝突しないようにwriteするのに都合の良いデータをROMから探します。
/* スターソルジャー */ board <- { mappernum = 3, cpu_rom = { size_base = 0x8000, size_max = 0x8000 banksize = 0x8000 }, ppu_rom= { size_base = 0x8000, size_max = 0x8000, banksize = 0x2000 }, ppu_ramfind = false, vram_mirrorfind = true }; function cpu_dump(d, pagesize, banksize) { cpu_read(d, 0x8000, 0x4000); cpu_read(d, 0xc000, 0x4000); } function ppu_dump(d, pagesize, banksize) { cpu_write(d, 0x8011, 0x00); ppu_read(d, 0, 0x2000); cpu_write(d, 0x8144, 0x01); ppu_read(d, 0, 0x2000); cpu_write(d, 0x8250, 0x02); ppu_read(d, 0, 0x2000); cpu_write(d, 0x8100, 0x03); ppu_read(d, 0, 0x2000); }