[label] BANDAI M60001-0115P 728100 [pinout] PDIP 28 pin 1 i? 青 |28 s +5V 2 i? 黄 |27 o internal ROM EN# 3 i? 橙 |26 o external ROM EN# 4 i PPU A11 |25 o VRAM A10 5 i PPU A10 |24 o output PORT 6 i CPU ROM R/W |23 o program ROM A14 7 i CPU ROMSEL# |22 o program ROM A15 8 i CPU A14 |21 o program ROM A16 9 i CPU A13 |20 o program ROM A17 10 i CPU A12 |19 ? 11 io CPU D0 |18 i CPU D6 12 io CPU D1 |17 i CPU D5 13 io CPU D2 |16 i CPU D4 14 s GND |15 i CPU D3 [凡例] s: power supply i: input o: output io: input and output
[代替論理式] always @(posedge CPU_R/W) begin if(CPU_ROMSEL# == 1'b0) begin reg[6:0] <= CPU_D[6:0]; end end PORT = reg[6]; VRAM_A10 = reg[5] == 1'b0 ? PPU_A10 : PPU_A11; internal ROM EN# = ~( (CPU_ROMSEL# == 0 && CPU_A14 == 1) || (reg[4] == 1'b1 && CPU_ROMSEL# == 0 && CPU_A14 == 0) ); external ROM EN# = ~( reg[4] == 1'b0 && CPU_ROMSEL# == 0 && CPU_A14 == 0 ); program ROM A[17:14] = CPU_A14 == 0 ? reg[3:0] : 4'b1111; //↑ reg[3:0] | 4{CPU_A[14]}; cpu_d[2:0] = (CPU_ROMSEL# == 1'b1 && CPU_A14 == 1'b1) ? {mic_ad, mic_b, mic_a} : 3'bzzz;
[CPU - read] $6000-$7fff MIC input $8000-$bfff program ROM bank #0 (switchabale) $c000-$ffff program ROM bank #1 (fixed, bottom page) [CPU - write] $8000-$ffff VRAM control, program ROM bank #0 register $8000-$ffff ROM (bus conflict) [PPU - read and write] 0x0000-0x1fff cartridge RAM 0x2000-0x2fff system VRAM
[MIC input] address: CPU $6000-$7fff read bit assignments --------------- 2 MIC input A/D coneveted data??? (おそらく 0:on, 1:off) 1 MIC button B 0 MIC button A
[VRAM control, program ROM bank #0 register] address: CPU $8000-$ffff write (and read) bit assignments --------------- 6 pin 24 output (disabled) 5 VRAM A10 connection (0:PPU A10, 1:PPU A11) 4 ROM select (0: sub cartridge, 1:main cartridge) 3:0 program ROM A17:14
value ---------------------------- 0x00-0x07 sub cartridge ROM 0x08-0x0f sub cartridge ROM (市販品2つはmirror) 0x10-0x17 main cartridge ROM 0x18-0x1f main cartridge ROM (mirror)
offset length --------------------------------- 0x00000 0x00010 NES header 0x00010 0x20000 main cartridge ROM 0x20010 0x20000 sub cartridge ROM (optional)