This is a testprogram to verify the correct mapping of the GMod3 cartridge. to be able to identify the ROM pages easily, flash the cartridge using the "flash-markbanks" program first. -------------------------------------------------------------------------------- 00 00 00 cc 37 00 00 00 2f 37 01 01 01 01 01 01 01 01 10 01 01 01 01 01 01 01 01 01 01 20 01 01 01 01 01 01 01 01 01 01 30 01 01 01 01 01 01 01 01 01 01 40 01 01 01 01 01 01 01 01 01 01 50 01 01 01 01 01 01 01 01 01 01 60 01 01 01 01 01 01 01 01 01 01 70 01 01 01 01 01 01 01 01 01 01 80 00 00 ff ff ff ff ff ff ff ff 90 ff ff ff ff ff ff ff ff ff ff a0 94 e3 7b e3 43 42 4d 42 41 53 b0 bf b1 a5 65 45 0b 25 08 45 0b c0 01 01 01 01 01 01 01 01 01 01 d0 10 10 10 10 10 10 10 10 10 10 e0 85 56 20 0f bc a5 61 c9 88 90 f0 dd 09 02 8d 01 dd 2c 01 dd 70 ff 42 59 43 fe e2 fc 48 ff -------------------------------------------------------------------------------- first line: - high byte of ROM bank - low byte of ROM ban - value written to control byte - ghostbyte at $ffff (RAM) - value written to $01 (CPU port, memory config) second line: - high byte of ROM bank (read back from register) - low byte of ROM bank (read back from register) following lines are read from memory at $0000, $1000, $2000 etc. the last line is read from $fff8, so it contains the hardware vectors. toggling the hw-vectors should not have any effect on the rest of the mapping. at the bottom there is a bit of "graphics" that is located in the RAM at $f800 (charset) and $fc00 (videoram) respectively. also the border is opened to show the ghostbyte at $ffff. none of it should change when enabling/disabling the cartridge ROM or the hw-vectors. the two rasterbars at the top are showing the active NMI and IRQ vectors: the top bar is generated by timer NMI, - red means the vector in RAM is active - orange means the vector in kernal ROM is active - green means the vector in cartridge ROM is active the bottom bar is generated by raster IRQ, - red means the vector in RAM is active - yellow means the vector in kernal ROM is active - green means the vector in cartridge ROM is active -------------------------------------------------------------------------------- keys: Q and W increment/decrement the ROM bank number A and S increment/decrement the memory config E toggle bitbank mode (should have no effect in this program) R toggle EXROM line (toggles cartridge ROM on/off) T toggle hardware vectors (pattern from cartridge ROM or from Kernal) D shift ROM bank number left (multiplay by two)