Basically, assuming it's a bad U2 (which it probably is), your options are:
Option 1: Replace U2.
Preferably locate a K9F1G08U0M and burn that with the rom from mame (first check that it doesnt have any bad blocks, otherwise you will have to do some... stuff)
... or patch U4 and use any other NAND flash that fits, see:
https://github.com/buffis/cv1k_research ... eplacement
This is not super hard, but requires a flash programmer and a NAND without bad blocks, unless you want to **** around with the bad block table and make changes to u2.
... or do it the EXCITING way
Option 2: Fix through JTAG without desoldering
The TL;DR is:
- Dump U2 (takes 72+h)
- Align blocks in dump with the clean dump in Mame (strip bad blocks, use table in block 1, page1)
- See if some block not marked bad in your dump is in fact bad
- Make a new bad-block-table in page1, where your newly bad block is also marked as bad
- Move all data away from that block
- Reflash using JTAG (takes 72+h)
- Hope it works? I've never tried it, but should!
Jtag info on:
https://github.com/buffis/cv1k_research/tree/main/JTAG
The scripts in:
https://github.com/buffis/cv1k_research ... xtractData
can be used to look at the sprites of your dump.
This is pretty complicated, but if you can dump your U2, I can probably help modify it to mark the block as bad. That way you just have to dump and reflash it yourself.
Option 3: Just accept it glitching I guess?
Easiest!
Learn to live with it
