Other than playing arcade games, I also enjoy messing around with the hardware, and I’ve finished up a few small CV1000 related projects recently.
U13 CPLD Replacement
I reverse engineered the behavior of the U13 CPLD, and wrote a compatible bitstream, that can be programmed to EPM7032 CPLDs. This allows repairing boards where the internal flash has gone bad. An indepth description of this is available at the project page: https://github.com/buffis/cv1k_research/tree/main/U13_Research
Ideally, it would be better to use the original bitstream of the CPLD, but it’s read protected, and no public dumps are available, so this is the second best thing.
JTAG of CV1000 PCBs
I figured out how to use the JTAG port of the PCB’s to easily read/write the prog rom (U4) as well as the EEPROM. U2 reads/writes are also possible, but not recommended since they require some pretty sketchy bitbanging.
This allows for very simple dumping of U4, as well as upgrading to bugfix releases.
I’m fairly certain that more than a few other people have also figured this out earlier, but the information was not public until now. More info is available at the project page: https://github.com/buffis/cv1k_research/tree/main/JTAG