Dan Mons

CPS2 reverse engineering progress – DL-0921

In addition to impressing us with his highly objective and accurate controller and game engine input lag measurements, Loïc Petit has been working hard on a years-long project to fully reverse engineer the Capcom Play System 2, or “CPS2” arcade system.  This arcade hardware is responsible for some all time classic titles in series such as Super Street Fighter II, Street Fighter Alpha, Mega Man arcade, X-Men/Marvel versus, Alien vs Predator, and countless other amazing arcade titles.

Loïc mentioned in a recent tweet that a particular milestone has been reached, reverse engineering the DL-0921 chip (also known as the CPS-B-21) on the CPS2 A-board (and also on the original CPS1 C-board).  This chip is responsible for several features including some security features and a number of graphical tasks across layer assembly, palette copying, raster effects and generating the video signals and graphics timings.

This represents an enormous amount of work (Loïc mentions hundreds of hours over seven months just for this chip), and includes a lengthy list of contributors to the project including CPU decapping and delayering expert John McMaster, long time CPS1 expert Eduardo Cruz, electronics engineers and FPGA developers Jose Tejada and ElectronAsh, Hardware hacker, CPS modder and arcade multicart developer Darksoft, and the entire MAMEDev team.

The ongoing project has many, far reaching, positive ramifications for the state of CPS1 and CPS2 preservation, repairs of physical hardware, mods/hacks/multicarts, improved software emulation accuracy, and better tools for future FPGA development.  With all of this work open to the public and at this incredible level of detail, the future status of CPS1 and CPS2 hardware is in a much better place thanks to all of the efforts of these individuals and their incredibly generous willingness to collaborate and share.

You can read more about this specific chip, including its various functions, block diagrams and other information in this part of the project:

https://gitlab.com/loic.petit/cps2-reverse/-/tree/master/DLs/DL-0921

And see the project in its entirety here:

https://gitlab.com/loic.petit/cps2-reverse

And if you’re still hungry for more technical information on the work, why not dive into Loïc’s excellent blog posts.  These will take you through countless points of discovery and documentation of the hardware that goes in to making some of the greatest arcade games of all time, as well as see the driving force for why all this research is so desperately needed:

https://medium.com/@WydD/diving-into-silicon-for-the-first-time-73086018e7de

Many thanks to Loïc and all of the contributors on this project!