スターソルジャーは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);
}
