Open Hardware SNES Repro PCB with FeRAM support

A place that you can discuss reproduction of classic titles or "licensed-for-reproduction" homebrew for personal use.

Moderators: B00daW, Moderators

Forum rules
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
soniccd123
Posts: 46
Joined: Sat Jun 27, 2020 12:01 pm

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by soniccd123 »

RetroSwim wrote: Mon Mar 15, 2021 3:28 pm I'll try byteswapping before writing. Cheers.

Maybe a broader summary of your process for preparing+writing the ROMs would help?

SMW is a LoROM, and I definitely have all the jumpers set to L, that was the first thing I assumed I'd stuff up :lol:
Of course, that would be no problem, thanks again for giving feedback and sorry for the hassle. All the information you're telling me will for sure help to improve the project! Lets get this bad boy to work!
RetroSwim
Posts: 11
Joined: Tue Mar 09, 2021 4:09 am

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by RetroSwim »

Byte-swapped copies of my romhacks made no difference, tried with vanilla SMW too, without any luck :(

I'm going to get out my logic analyzer and try to see what's going on.

Edit:

I hooked up my logic analyzer (an old 8-bit 24MHz guy, so I could only monitor the data bus), and tried booting my byte-swapped and non-byte-swapped SMW copies. I wasn't able to see the value at the reset vector, 80 00 (or 00 80, I don't know what order the SNES reads them in), at all, nothing even resembling it.

To check my sanity, I re-read my games from my EPROMS, and was able to run the resulting dumps in an emulator, so I'm confident that the EPROMs are OK, and my writing process isn't screwing anything up.

I also built a second board with a fresh set of parts, to no avail.

I'm at a bit of a loss on what to do next. Any ideas?
soniccd123
Posts: 46
Joined: Sat Jun 27, 2020 12:01 pm

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by soniccd123 »

RetroSwim wrote: Tue Mar 16, 2021 12:26 am Byte-swapped copies of my romhacks made no difference, tried with vanilla SMW too, without any luck :(

I'm going to get out my logic analyzer and try to see what's going on.

Edit:

I hooked up my logic analyzer (an old 8-bit 24MHz guy, so I could only monitor the data bus), and tried booting my byte-swapped and non-byte-swapped SMW copies. I wasn't able to see the value at the reset vector, 80 00 (or 00 80, I don't know what order the SNES reads them in), at all, nothing even resembling it.

To check my sanity, I re-read my games from my EPROMS, and was able to run the resulting dumps in an emulator, so I'm confident that the EPROMs are OK, and my writing process isn't screwing anything up.

I also built a second board with a fresh set of parts, to no avail.

I'm at a bit of a loss on what to do next. Any ideas?
Let me ask you, how did you hookup the bank switching circuit? Also, are you using a SuperCIC or your SNES is modified to work without one? I ask this because both my SNESes came modified and I could not test the cart with a SuperCIC yet as i don't have any available.
RetroSwim
Posts: 11
Joined: Tue Mar 09, 2021 4:09 am

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by RetroSwim »

I put wire links in all 4 positions, as if the 4 switches are alwayas on, as the ROM takes the full 32Mbit.

My SNES has the lockout chip disabled.
soniccd123
Posts: 46
Joined: Sat Jun 27, 2020 12:01 pm

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by soniccd123 »

RetroSwim wrote: Tue Mar 16, 2021 4:48 pm I put wire links in all 4 positions, as if the 4 switches are alwayas on, as the ROM takes the full 32Mbit.

My SNES has the lockout chip disabled.
Thats strange, did you soldered the FeRAM and other logic chips? I supose so because its a SMW hack but just to check

Also, strange question, but how did you soldered both 74HC245? They are not in the same orientation if you look at the project, quite strange i know but did that to make it easier to route. Be sure that they are soldered in the correct orientation. I ask this because KiCad footprints have terrible silkscreen markings to identify the correct orientation on SMD chips, I myself have soldered chips wrong a couple of times.
RetroSwim
Posts: 11
Joined: Tue Mar 09, 2021 4:09 am

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by RetroSwim »

soniccd123 wrote: Tue Mar 16, 2021 5:42 pm
RetroSwim wrote: Tue Mar 16, 2021 4:48 pm I put wire links in all 4 positions, as if the 4 switches are alwayas on, as the ROM takes the full 32Mbit.

My SNES has the lockout chip disabled.
Thats strange, did you soldered the FeRAM and other logic chips? I supose so because its a SMW hack but just to check

Also, strange question, but how did you soldered both 74HC245? They are not in the same orientation if you look at the project, quite strange i know but did that to make it easier to route. Be sure that they are soldered in the correct orientation. I ask this because KiCad footprints have terrible silkscreen markings to identify the correct orientation on SMD chips, I myself have soldered chips wrong a couple of times.
When I built the second board, I did everything except the FeRAM chip, since I don't have spares of them. Will the game refuse to boot if it's not present? The 139 and 4000-series chips are all present though.

And yes, the 245's are oriented opposite, with the pin-1 ends "pointed away" from one another. I fired up KiCad to double-check this when the U5 pin 20 issue was raised.
DeLFuS
Posts: 6
Joined: Tue Feb 23, 2021 1:33 pm

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by DeLFuS »

Hello! I have already received the pcb for assembly. I am waiting for the FM18W08s because the FM1808s that I ordered from Ali did not send them to me. I already said that they were very cheap ...

Image

Image
hobodozer
Posts: 3
Joined: Wed Mar 24, 2021 2:04 am

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by hobodozer »

Hello, thank you for the board design. However I have the same issue as RetroSwim. Everything appears to be fine but the SNES just sits on a black screen. Logic analyzer seems to indicate that it's just waiting for instructions.
I've tried with CIC enabled and disabled, with and without the superCIC, which does appear to function, and several different roms all with the same results.
Any guidance would be much appreciated.
soniccd123
Posts: 46
Joined: Sat Jun 27, 2020 12:01 pm

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by soniccd123 »

Hey guys,

I feel ashammed with the results, at least 3 people are having problems with this board and I'm not having success finding what is wrong. I apologize for all the trouble that it is causing and also surprised as my prototypes worked normally. I think that i'll make a big warning at the repo while the problem is not figured.

@hobodozer and @RetroSwin, I'd like to ask you guys to help me if possible as both have access to logic analizers. There is some signals that could be analysed to at least pinpoint where is the problem. I'll also may order new PCBs from the last commit to analyse it and run tests myself.

Again, I'm deeply sad that this has happened. I'm trying my best to work it out and promise to help each one of you to fix this when I found out what happened.
hobodozer
Posts: 3
Joined: Wed Mar 24, 2021 2:04 am

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by hobodozer »

I'll help out however I can.
Don't stress about it too much, it wouldn't be a project if it worked perfect the first time. Besides, it gives me something to do.
Kayumba
Posts: 246
Joined: Sun Mar 01, 2020 2:36 am

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by Kayumba »

Hi,
You guys should do all tests with same game.
When I made my board I had one mistake on it but with some games you couldn’t see it, game was starting with no problem and only with some other games i could see that board have some error in my circuit.
hobodozer
Posts: 3
Joined: Wed Mar 24, 2021 2:04 am

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by hobodozer »

I got it to work! The SuperCIC also works. If you have everything properly assembled, you just need to byteswap the rom before you write the 27c322. After I did that it was instant success and I was greeted with a stock FF2 rom, which allowed me to test the FeRAM.
Got into the game a little, saved, shut-off the console and pulled the cartridge to make sure. Put it back in and was happy to still see my save file.
RetroSwim
Posts: 11
Joined: Tue Mar 09, 2021 4:09 am

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by RetroSwim »

I've sent a DM to soniccd, but in a nutshell, it turns out my TL866 adaptor was to blame.

It allows you to program the 32Mbit EPROM in 4Mbit chunks. The A18-A20 selection logic was wired contrary to the silkscreening on my adaptor, so while each 4Mbit chunk was written correctly, they were written in the reverse order.

So with a combination of a byteswapped ROM, and operating my adaptor "correctly", I now got soniccd's board to work.

:)
soniccd123
Posts: 46
Joined: Sat Jun 27, 2020 12:01 pm

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by soniccd123 »

Hey guys!

Very happy to read that all cases have been solved till now! So, the PCB definitely works from my own tests and independent users (science lol), now details can be addressed and sugestions implemented.

Firstly I will update the instructions concerning building the PCB and EPROM writting (already done).

The byteswapping thing is an artifact from when I was developing this board: The first prototypes were made in a breadboard and, in this format, byteswapping was just a matter of changing two wires. As I had my programmer configured for Genesis ROMs from my other project (which are byteswapped), I didn't realise that I was writting my SNES EPROMs byteswapped and just found a wiring configuration that worked. The thing is, this created a lot of problems but can be easily fixed now. Other repros seem to not need byteswapping. What you guys think? Should I make this modification?

Also, will update the design with some sugestions from the users, like all SMD components on the same side and etc. All sugestions are welcome!

So in a nutshell: The PCB is confirmed working from users, new updates will be made to the design.

Thanks for all the users for the patience and help, hope you all enjoy your repros!

Soniccd123.
RetroSwim
Posts: 11
Joined: Tue Mar 09, 2021 4:09 am

Re: Open Hardware SNES Repro PCB with FeRAM support

Post by RetroSwim »

I think it would save confusion if you fixed the byteswap issue.

As you say, other repro boards don't require this, and it sounds like the fix is simple. Also would let people follow various tutorials such as PoorStudentHobbyist's one on creating the EPROMs.

For pin 1 indicators, what I normally do when the footprint lacks a clear indicator is just chuck a small circle on the silkscreen layer like so:

Image

The DIP components such as the EPROM and PIC have the nice clear notch at the pin 1 end, and that's reflected on the silkscreen, so it's not as big of an issue.

Just noticed the readme.md has references to Genesis in the bank switching section.

Overall though, love your work! And huge props for working with us to try to solve things, it's rare to see, and I'm very grateful! :)
Post Reply