Hello, I am trying to fix broken famiclone cartridge. The cartridge is MM3 based - it has some 74XX chips, AX5202P (Pirate MMC3), PRG-ROM (PROM) and CHR-ROM (PROM). All chips except CHR-ROM are OK. The CHR-ROM (512 kB / 4 MBIT) chip has internal short-cirtuit between D7 and GND (measured by multimeter after desoldering), so that every read byte has bit 7 set to 0. Normally this shouldn't be problem for running, just the graphics would constain black vertical bars, but.. Author of this cartridge didn't have enough space in PRG-ROM to encode 6502 code for menu & selecting games, so.. it encoded it in CHR-ROM and after powerup, CPU reads it from CHR through PPU's PPUDATA and copies to RAM at $300-$7FF (it's 1024 bytes of code) and then jumps to $300.
I even wrote an app that allows me to toggle bit 7 of every byte to any value I want and checks what 6502 opcode it corresponds to. I tried to play with it, but sometimes it is hard, for example if it's LDA opcode then its hard to determine if the LDA constnt's bit 7 should be 0 or 1.
My question is - assuming, the data to PROM was burned correctly in factory and internal short-cirtuit is result of incorrect use of cartridge, is there any way to recover the data? I thought of forcing large current (eg. 1A) for a moment between D7 and GND, so it could burn the shortcirtuit.
I even wrote an app that allows me to toggle bit 7 of every byte to any value I want and checks what 6502 opcode it corresponds to. I tried to play with it, but sometimes it is hard, for example if it's LDA opcode then its hard to determine if the LDA constnt's bit 7 should be 0 or 1.
My question is - assuming, the data to PROM was burned correctly in factory and internal short-cirtuit is result of incorrect use of cartridge, is there any way to recover the data? I thought of forcing large current (eg. 1A) for a moment between D7 and GND, so it could burn the shortcirtuit.