What's new

[SOLVED] CPS2 Openkey not working on Blast City cabinets

Tailsnic Retroworks

Grand Master
Joined
Jan 8, 2019
Messages
650
Reaction score
481
Location
Spain
FINAL SOLUTION:

Change the first delay(50) of the code to delay(500). This is no problem at all because the ATtiny404 commands the game to make a reset after the code injection.
Write the ATtiny404 code with 16ms instead of 0ms



Hi. I have experiencing an extrange problem with this Openkey. I have installed it carefully on 5 games, it boots correctly on any Astro City, hantarex or intervideo power supply, but not in Blast City cabinets.

I have tested the problem in 3 Blast City cabinets, it's a mysterious error. On the other hand, I have another CPS2 with undamned's Infinikey installed, and it boots on all the machines (even de Blast City ones).

Has somebody the same problem? I think it's a problem of timmings and coordination of the ATtiny404 with these supplies. The example:

- Blast City, no boot
- Astro City, codes injected
- Blast City, boots because the Astro City injected the codes a minute ago
- I change one jumper to force injection of another game. It boots on Blast City misteriously
- I return to Astro City, black screen because they are incorrect codes
- I return to Blast City, black screen because on Astro City it injected distinct codes
 
Last edited:
How odd!

There was also that SCSI2SD revision that wouldn't work on a Blast.
 
How odd!

There was also that SCSI2SD revision that wouldn't work on a Blast.
It is really extrange, isn't it?

What I have really clear is that the Openkey isn't activated for injection on Blast City. Forcing to inject the incorrect codes when the board has the correct ones is the key.
 
Last edited:
I looked into this a little from our PMs. The only thing I can think of is its taking a while for the powersupply to get up to 5V. With the Attiny's lower end operating voltage, perhaps its kicking off the programming cycle before the powersupply has made it high enough for the cps2 board to boot. As a test try adjusting the initial Delay() to 5000. This will cause openkey to hold off for 5 seconds before trying to program.
 
I looked into this a little from our PMs. The only thing I can think of is its taking a while for the powersupply to get up to 5V. With the Attiny's lower end operating voltage, perhaps its kicking off the programming cycle before the powersupply has made it high enough for the cps2 board to boot. As a test try adjusting the initial Delay() to 5000. This will cause openkey to hold off for 5 seconds before trying to program.
Checked. On Astro City the game has a reset after 5 seconds (it's writting the code).

On Blast City it boots (thanks to the previous injected codes), but not makes any reset after 5 seconds. "setup()" code is not initializing inside the ATtiny404.
 
Discovered the problem. It fully works with startup time 16ms, not 0ms like the tutorial (the option you use to flash the ATtiny). I have tried even 64ms and still works, but the minimum quantity of ms for making it works is 16ms. Hope it is for use for other people
 
How odd!

There was also that SCSI2SD revision that wouldn't work on a Blast.
I still don't think I ever saw actual definitive proof of that. Not that it matters anymore with all the good (and available) alternatives.

I agree it sounds like low 5v, i've seen CPS2 boot as low as 4.5v before (coincidentally a blast city pre recap). I'd be curious to know VCC measured at an IC.

Upramp time of PSU can do weird things. For example I have a crystal oscillator of a certain frequency that vibrates at the wrong harmonic if 5v is locked onto during PSU upramp beore the PSU reaches the full 5v. I have to physically delay power to it with a relay when using meanwell PSUs, or it oscillates 1/3 the proper speed.
 
Discovered the problem. It fully works with startup time 16ms, not 0ms like the tutorial (the option you use to flash the ATtiny). I have tried even 64ms and still works, but the minimum quantity of ms for making it works is 16ms. Hope it is for use for other people
I had this same problem with openkeys and infinikeys alike however my problems were exclusive to rev 3&4 boards. DId you experience this on rev 6 and 7 boards?
 
I had this same problem with openkeys and infinikeys alike however my problems were exclusive to rev 3&4 boards. DId you experience this on rev 6 and 7 boards?
Yeah, it works on Children of the Atom B-7
 

Attachments

  • PXL_20230916_103446435.jpg
    PXL_20230916_103446435.jpg
    244.7 KB · Views: 73
Discovered the problem. It fully works with startup time 16ms, not 0ms like the tutorial (the option you use to flash the ATtiny). I have tried even 64ms and still works, but the minimum quantity of ms for making it works is 16ms. Hope it is for use for other people
I'm surprised that would have any effect as I believe it requires having the bootloader burned to use that setting. But glad you figured something out.
 
Last edited:
I'm surprised that would have any effect as I believe it requires having the bootloader burned to use that setting.
In my case I burn the chip with jtag2updi, burnt on an arduino nano setup. It leaves me to config that option of timming

EDIT: I have been reading and on ATtiny chips isn't necessary to burn again the bootloader. The ms startup time is a variable summed on the compilation/uploading sequence
 

Attachments

  • PXL_20230809_155528007.jpg
    PXL_20230809_155528007.jpg
    219.1 KB · Views: 68
Last edited:
FINAL SOLUTION:

Change the first delay(50) of the code to delay(500). This is no problem at all because the ATtiny404 commands the game to make a reset after the code injection.
Write the ATtiny404 code with 16ms instead of 0ms
 
Back
Top