tepples wrote:

Do any MMC5 games point their vectors at RAM?

Oh yeah, good idea! We're in luck! Scanning the 8k PRG banks:

**Code:**

Metal Slader Glory (Japan).nes

PRG size: 512k

Vectors bank 00: A730, 2F04, 1F46

Vectors bank 01: 2B40, 2120, 802B

Vectors bank 02: 5E00, 3E82, 0009

Vectors bank 03: 4E00, 02D0, 41A8

Vectors bank 04: BF9F, E08B, 9204

Vectors bank 05: 003A, 5100, 0041

Vectors bank 06: 0000, AFAB, 0000

Vectors bank 07: 0040, 2E46, 4100

Vectors bank 08: 9FBF, 0819, FE01

Vectors bank 09: F8EA, 204B, 4100

Vectors bank 0A: 0536, EA8F, 41A8

Vectors bank 0B: 4953, 02CE, 4151

Vectors bank 0C: 0068, 4B49, 4100

Vectors bank 0D: 3245, 4106, 0006

Vectors bank 0E: 0004, 0005, 0006

Vectors bank 0F: 4A49, 4100, 0001

Vectors bank 10: 010A, FA01, 0041

Vectors bank 11: 8220, 4C4E, 4108

Vectors bank 12: F8A8, 204D, 4100

Vectors bank 13: 8220, 814E, 4102

Vectors bank 14: 5152, 4041, 4100

Vectors bank 15: 0195, B401, 41A8

Vectors bank 16: 0200, 00D3, 4191

Vectors bank 17: 0040, AD4E, 4100

Vectors bank 18: 3030, 300F, 3030

Vectors bank 19: D000, 3A0A, 41A8

Vectors bank 1A: 18FE, 8BFF, 0000

Vectors bank 1B: B853, 2849, 4102

Vectors bank 1C: 010A, 000A, 1518

Vectors bank 1D: 0000, 3100, 0000

Vectors bank 1E: 4E02, 02F4, 41A8

Vectors bank 1F: 0042, 0043, 0044

Vectors bank 20: 0040, AE4E, 4100

Vectors bank 21: 031E, 7049, 4101

Vectors bank 22: 00AC, F8F7, 0041

Vectors bank 23: D003, 3A0A, 41A8

Vectors bank 24: 8210, 3149, 4100

Vectors bank 25: D003, 3A0A, 41A8

Vectors bank 26: B8EA, 9E49, 4100

Vectors bank 27: 01B4, 8210, 41A8

Vectors bank 28: 4D53, 031C, 41A8

Vectors bank 29: 0141, 0000, 0081

Vectors bank 2A: 3F85, 0009, 0000

Vectors bank 2B: 7B5F, 0E7D, 755F

Vectors bank 2C: 8A80, 091D, 0006

Vectors bank 2D: 8A10, 096F, 0006

Vectors bank 2E: 8269, 1D6F, 0009

Vectors bank 2F: 2001, 9587, 0009

Vectors bank 30: 726E, 0967, 0006

Vectors bank 31: 8187, 091E, 0006

Vectors bank 32: FC80, 0967, 0006

Vectors bank 33: 0433, 2005, 0001

Vectors bank 34: F785, 9880, 0002

Vectors bank 35: 9982, 1509, 0006

Vectors bank 36: 008B, 9880, 0002

Vectors bank 37: 8221, 093A, 0006

Vectors bank 38: 8162, 8082, 00F3

Vectors bank 39: 0000, 0000, 0000

Vectors bank 3A: FF00, 00FF, FF00

Vectors bank 3B: FF00, 00FF, FF00

Vectors bank 3C: FF00, 00FF, FF00

Vectors bank 3D: FF00, 00FF, FF00

Vectors bank 3E: FF00, 00FF, FF00

Vectors bank 3F: E9C3, E94E, F978

Uchuu Keibitai SDF (J).nes

PRG size: 128k

Vectors bank 00: FFFF, FFFF, FFFF

Vectors bank 01: FFFF, FFFF, FFFF

Vectors bank 02: FFFF, FFFF, FFFF

Vectors bank 03: FFFF, FFFF, FFFF

Vectors bank 04: FFFF, FFFF, FFFF

Vectors bank 05: FFFF, FFFF, FFFF

Vectors bank 06: FFFF, FFFF, FFFF

Vectors bank 07: FFFF, FFFF, FFFF

Vectors bank 08: FFFF, FFFF, FFFF

Vectors bank 09: FFFF, FFFF, FFFF

Vectors bank 0A: FFFF, FFFF, FFFF

Vectors bank 0B: 1B02, 0539, 0019

Vectors bank 0C: FFFF, FFFF, FFFF

Vectors bank 0D: E1E8, E4F2, FFFF

Vectors bank 0E: 074C, A9E0, 8D01

Vectors bank 0F: EC67, F916, ECFE

Extracted with a very simple python program:

**Code:**

def mmc5vectors(filename):

rom = open(filename,"rb").read()

print(filename)

prg = rom[4]

print("PRG size: %dk" % (prg * 16))

for i in range(prg*2):

bank = 16 + (0x2000 * i)

nmi = rom[bank+0x1FFA] | (rom[bank+0x1FFB]<<8)

rst = rom[bank+0x1FFC] | (rom[bank+0x1FFD]<<8)

irq = rom[bank+0x1FFE] | (rom[bank+0x1FFF]<<8)

print("Vectors bank %02X: %04X, %04X, %04X" % (i,nmi, rst, irq))

print()

mmc5vectors("Metal Slader Glory (Japan).nes")

mmc5vectors("Uchuu Keibitai SDF (J).nes")