Help with 74157 JP/PAL Saturn mod => nope, fixed it

Started by lywenn, February 26, 2020, 08:39:45 AM

Previous topic - Next topic

lywenn

Hi everyone,

Probably more than a decade ago, I did a 74157 import mod on my PAL saturn to play Japanese games. So, in theory, that's just like the JP/US mod except you also wire JP12/13 with JP/10/11.

I recently dusted off my Saturn as I'm about to receive a couple of games and noticed the mod wasn't working anymore... The soldering of a wire had broken and... well... story short: I now have a brand new 74157 chip on a PCB to avoid the mess of wires of the original mod and so that the soldering won't break again.

And, you guessed it: it doesn't work and that's why I'm here.

I checked everything I could think off:
- JP6/7 wire in bottom of the saturn PCB is still connected
- JP12/13 wire on top still connected
- JP10/11 wire still connected directly to the lifted pin of the chip were the JP10/11 actually connects to because apparently, that long time ago, I managed to burn the JP10/11 pin! But, yeah, used to work, so...
- 74157 outputs 5V on wire that goes to JP6/7 and 0V when the reset button is pressed
- 74157 outputs 0V on wires that go to JP10/11 and JP12/13 and 5V when the reset button is pressed

Everything looks fine to me!

There is just one thing that bugs me though: all those years I thought the 74157 would swap inputs whenever the select line would change. But it's dumber than I thought, it just outputs A inputs when it's low and B inputs when it's high, it has no "memory".

So, I'm left wondering: how could this mod ever work? When the button is pressed, the saturn is in the reset process so it's not executing any code. And when the button is released, it starts executing code but the value on the JPx pins just came back to their original value, right? Except if the BIOS is really quick at reading the JPx pins, I don't see this mod ever working. Yet it used to...

What am I missing?

EDIT: and, of course, it's after writing this long post that I have an idea: what if I tested with the CD player plugged in? Yeah, the system boots way slower without it, probably because it's trying to find it. So, yup, my mod perfectly works.

Thanks :)

Segasonicfan

#1
Quote from: lywenn on February 26, 2020, 08:39:45 AMHi everyone,

Probably more than a decade ago, I did a 74157 import mod on my PAL saturn to play Japanese games. So, in theory, that's just like the JP/US mod except you also wire JP12/13 with JP/10/11.

I recently dusted off my Saturn as I'm about to receive a couple of games and noticed the mod wasn't working anymore... The soldering of a wire had broken and... well... story short: I now have a brand new 74157 chip on a PCB to avoid the mess of wires of the original mod and so that the soldering won't break again.

And, you guessed it: it doesn't work and that's why I'm here.

I checked everything I could think off:
- JP6/7 wire in bottom of the saturn PCB is still connected
- JP12/13 wire on top still connected
- JP10/11 wire still connected directly to the lifted pin of the chip were the JP10/11 actually connects to because apparently, that long time ago, I managed to burn the JP10/11 pin! But, yeah, used to work, so...
- 74157 outputs 5V on wire that goes to JP6/7 and 0V when the reset button is pressed
- 74157 outputs 0V on wires that go to JP10/11 and JP12/13 and 5V when the reset button is pressed

Everything looks fine to me!

There is just one thing that bugs me though: all those years I thought the 74157 would swap inputs whenever the select line would change. But it's dumber than I thought, it just outputs A inputs when it's low and B inputs when it's high, it has no "memory".

So, I'm left wondering: how could this mod ever work? When the button is pressed, the saturn is in the reset process so it's not executing any code. And when the button is released, it starts executing code but the value on the JPx pins just came back to their original value, right? Except if the BIOS is really quick at reading the JPx pins, I don't see this mod ever working. Yet it used to...

What am I missing?

EDIT: and, of course, it's after writing this long post that I have an idea: what if I tested with the CD player plugged in? Yeah, the system boots way slower without it, probably because it's trying to find it. So, yup, my mod perfectly works.

Thanks :)

Glad that you got this working :) To answer your questions though:

- re: "memory" what you're looking for is technically called a latch circuit.  The way to do it in Hardware is using a d flip flop like 74hc74 with a debouncer like 74hc14.  However, nowadays the easier way to do it is with a microcontroller / arduino like Attiny 13/84 etc.

I imagine it works without that by checking the region at the beginning of boot.  I've done this with Sega Genesis import mods where if you hold down the button for a few seconds it will bypass the region check and then it doesn't matter if it returns to the previous state. 

Only very rarely have I found games that check the region mid-game. And I mean extremely rarely, I think I found only one in the entire Genesis Library.

Happy hacking,
SSF
MY WEBSITE: https://segasonicfan.wixsite.com/retro
I design PCBs for retro game systems :)