[HN Gopher] Capcom CPS-1 Graphic system study
       ___________________________________________________________________
        
       Capcom CPS-1 Graphic system study
        
       Author : zdw
       Score  : 41 points
       Date   : 2022-02-22 14:24 UTC (1 days ago)
        
 (HTM) web link (fabiensanglard.net)
 (TXT) w3m dump (fabiensanglard.net)
        
       | TacticalCoder wrote:
       | 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
        
         | fabiensanglard wrote:
         | 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.
        
         | codezero wrote:
         | 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.
        
       | corysama wrote:
       | If anyone finds this article even slightly interesting, be sure
       | to check out the rest of the site!
        
       | Bigpet wrote:
       | 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
        
         | allenu wrote:
         | 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.
        
       | codezero wrote:
       | 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.
        
         | kingcharles wrote:
         | Crap! I need to reread the whole page now. Thanks :)
        
       ___________________________________________________________________
       (page generated 2022-02-23 23:00 UTC)