What's new

buffi

Champion
Joined
Aug 12, 2019
Messages
1,087
Reaction score
2,381
Location
Sweden
This is a small fun project using a few different tools.

Link here:
https://github.com/buffis/cv1k_research/tree/main/U2_Replacement

CV1000 boards have NAND flash at U4 which is uh... not greatly utilized. It basically doesn't handle bad blocks that occur post programming very nicely.
If you want to repair a board where this has failed, you are stuck with trying to find a K9F1G08U0M from old stock somewhere though, cause the board does a manufacturer check at startup.

Well... unless you patch out that check of course. For the early games like mushi, this is pretty trivial. Just change some instructions and you are good to go. The later boards use a compression scheme that requires decompressing, patching and compressing the data back though.

The compression was reverse engineered a while ago (not by me) at https://gitlab.com/-/snippets/2101367 , but I went ahead and messed around with the compress step to produce an algorithm which seems to give 1-to-1 results for the compression cave uses (as in, if you extract, decompress, and then compress again, the same result will be produced). This is now at: https://github.com/buffis/cv1k_research/blob/main/U4_Utils/compress.py

The TL;DR is that there's instructions for how to use other flashes at the link on top of this post. If you want more indepth details of what it does, check the python scripts.
 
Fantastic research! I'm glad that we'll have options to replace the flash on these boards, because their failure seems more and more likely as time goes on.
 
Back
Top