Author Topic: Overriding the signal with FPGA  (Read 710 times)

0 Members and 1 Guest are viewing this topic.

Offline webhdxTopic starter

  • Newbie
  • Posts: 9
  • Country: pl
Overriding the signal with FPGA
« on: June 04, 2021, 09:32:50 am »
I know the topic sounds lame but I'm just starting my journey with FPGA. So I wanted to replicate a particular console modchip. It's well documented and pretty straightforward so I got it working very quickly. It's basically emulating an SPI flash memory. In order to make it work I had to lift MISO pin of the original mask ROM chip to be sure only my device is sending the data on that line. As I said it's working great but lifting a pin is risky so I don't want anyone to do it. Some other modchips from the era could work without lifting the pin. They were "overriding" the signal somehow and it was not doing that by pulling CS line high to disable the chip. I'm wondering how is it done electrically? What will happen if two devices will start talking on the same line? Is it possible for my FPGA to "override" the original ROM data line?
« Last Edit: June 04, 2021, 09:34:42 am by webhdx »
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3719
  • Country: us
Re: Overriding the signal with FPGA
« Reply #1 on: June 04, 2021, 04:43:53 pm »
What happens if two chips drive the same line is "who knows, but generally nothing good".  Essentially you get a short circuit from Vcc to ground through the high side transistor of one chip and the low side of the other.  One of them might win, or you could get an intermediate voltage.  Power draw goes way up.  You can also get weird time dependent glitches.  It's possible to damage one or both chips, although malfunction is more common than damage.

Some SPI flash chips have a RESET pin with an internal pullup and might be left floating on the PCB.  If you are lucky enough to have that you can just force the target chip into reset while your mod chip is installed.

Its possible if the target chip has relatively weak drivers and the mod chip has beefy output stages that you can just overpower it and things will work. It's not really ideal, but it can work. Disabling nCS would be work very well but is generally just as hard as lifting MISO.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf