Hacker News new | past | comments | ask | show | jobs | submit login
Capcom CPS-1 Graphic system study (fabiensanglard.net)
134 points by zdw on Feb 23, 2022 | hide | past | favorite | 20 comments



It's always great to read how these worked...

I'm the proud owner of both a real CPS PCB and a bootleg (but still vintage) PCB (they go in a arcade cab). If I'm not mistaken once you've got a CPS PCB, you can flash any CPS game you want on it.

As piracy was rampant with these, Capcom added a battery powering a Z80 on some CPS boards and if it was ever off, it'd erase the game. These Z80 are known as "Kabuki Z80". The issue is that... 25 to 30 years later, all these batteries started failing and these board would "suicide" themselves. So there are people out there who "desuicide" (it's the term employed) these boards.

They're a great piece of history and, well, of course Fabian Sanglard had to blog about it!

The Wikipedia page is a cool read too:

https://en.wikipedia.org/wiki/CP_System


Unfortunately, you cannot flash any game you want on any CPS PCB.

A CPS-1 is made of three boards. The CPS-B chip on your B board changes between games. On later boards, the CPS-B chip remains the same but it has a battery to store parameters, making it different.

If a game attempts to use the CPS-B registers in unintended way, the screen goes to black and is locked like this.

The Z-80 battery you mention on CPS-1.5 is to store a private key that is used to de-crypt the Z-80 instructions.

And I won't even talk about the CPS-2 because they even encrypted the 68000 code and shuffled the GFXROM there.


Oh hey you’re here! I love this series. Warrier was my favorite so far but they’ve all been excellent!

For the original commenter, while you can’t exactly just flash new roms to play a new cps1 game, there is a darksoft kit that comes out very soon, and lets you run roms off an sd card. It replaces your original B board - so it’s sort of like a flash-cart for your base A motherboard. Check it out! It also runs cps1.5 games in qsound.


The stories of how the keys were extracted and machines were de-suicided is pretty impressive.

Spend an evening with http://arcadehacker.blogspot.com/?m=1 and marvel!


Really interesting. I think it's very cool that it only cost $20M to develop a next generation board that had 10x the power of a consumer device at the time in an attempt to keep arcades relevant. It seemed to have worked well until dedicated 3D cards and the Internet became more consumer friendly, but that still gave them a good 15 years of lead time it seems.


Couldn't immediately find a good explanation of what STAR1 and STAR2 were. Looks like it's 256x256 bitmap that's scrollable and cycles automatically through a color palette. So you can make the stars "twinkle" by it just shifting through the palette

https://github.com/mamedev/mame/blob/master/src/mame/video/c...

edit: didn't see that "col" also contained an x-offset. So like (256*16)x256 but presumably "sparse", so I get more where the "star" idea comes from


Thank you for sharing this. That was my first question, i.e. was the star background hardcoded (or at least statically generated)? That's super interesting that it was built-in at all. I suppose so many shooter games had starfield backgrounds that it made sense at the time to include it.


Very interesting. I didn't know about these layers, and it's very different to how I conceptualized and tried to use bitmap graphics on my home computer.

I spent a big part of my childhood both playing coinops and also envying their awesome -- to me -- graphics. They looked so far beyond what my C64 and even my first PCs were capable of! To learn they actually ran on quite underpowered hardware was such a big reveal. Underpowered but dedicated, I guess that was the secret.


If anyone finds this article even slightly interesting, be sure to check out the rest of the site!


The Doom and Wolfenstein Black Books are highly worth the price, even if wolf3d is older than you are!


I remember reading a similar deep-dive on the rowscroll trick used in SF2's floor, but I can't seem to dig it up with Google anymore.

It's not an extremely complicated effect, but it's certainly one of the most notable early uses of the trick and very well thought-out.


Did you mean the amazing article from SF2 Platinum author:

https://sf2platinum.wordpress.com/2020/10/15/row-scrolling-f...


Great post, wanted to let others know you can hover over the images to see the original reference frame. I didn't realize this until half way through reading.


I updated the message to be centered and red. I agree it was not the most obvious. I also tried to use bink but it looks like it does not work :P !


I should have added - it didn't take away too much but some reference eye candy - I understood what was being described and thought it was great. Thanks again and keep up all the great work, I'm still slowly making my way through the DOOM book.


While I still remember, it'd also be great to preload images — iirc in some other of your articles there were sliders that flipped through images and it was kinda annoying to have to wait for them to load.


I considered it but in the end decided against preloading.

If users don't use the slider, they will have downloaded 3MiB of images for nothing. That is especially a problem for people on a data plan.

The ideal solution would be to implement a system that preload all images related to a slider as soon as the user touches it.


I was wondering what was being described! Clicking the lower right on iOS seems to work well enough.

Thanks for all your work on these.


Thanks - you can tap on mobile as well, but Firefox on Android requires a bit of finessing to make that work. Really added a lot to the article. Thanks for the pointer.


Crap! I need to reread the whole page now. Thanks :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: