Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FM16W08-SG (64Kbit) #4

Open
StanMOI opened this issue Oct 21, 2021 · 4 comments
Open

FM16W08-SG (64Kbit) #4

StanMOI opened this issue Oct 21, 2021 · 4 comments

Comments

@StanMOI
Copy link

StanMOI commented Oct 21, 2021

Hi sonnic,

I would like to use FM16W08-SG (64Kbit).
I see that only pin 1 and pin 26 are not used with FM16W08.
Should I do something else with FM16W08 when its for Hirom or Lorom use?
Will adress pins changes for FM16W08-SG if I will use it for Hirom or Lorom game? (Like in the case of FM18W08).
Or all I need to do Is just tied all pins to respective address names, except pin 1 and 26 (that need to be tied to GND).
I dont understand why for 256Kbit FRAM we need to have different pin connection for HiROM and LoROM ?
And for other size like 64Kbit and 16Kbit one schema for both?
Here is my visual schematic how to connect SNES for FRAM like FM16W08, FM18W08,
or use one of them (FM16W08 or FM18W08) like 16Kbit size FRAM.
Can you confirm me if you think that it will works?

Thank you for help.
FM18W08 SNES pinout

FRAM 16Kbit (2K x 8K) pinouts

FM16W08-FM18W08 as 16Kbit SNES pinout

@soniccd123
Copy link
Owner

Hi friend, from what I remember you can just solder the FM1608 directly in the FM1808 footprint without modifications, the are pin compatible. Also, I may be wrong, but I think you won't need the connect the NC pins to GND...

The HiROM and LoROM connection schemes access the cartridge in diferently sized banks (32kbit and 64kbit), they also have the save memory mapped in diferent locations in the SNES address space, thats why they're wired diferently.

May I ask why are you interested in using diferent sized FeRAMs like 16kbit? If it is because of the anti-copier/flashcart checks that some games like DKC2 do, you can just crack these games before writing the EEPROM with UCON64 and use bigger save memory sizes

@StanMOI
Copy link
Author

StanMOI commented Nov 1, 2021

Hi friend, from what I remember you can just solder the FM1608 directly in the FM1808 footprint without modifications, the are pin compatible. Also, I may be wrong, but I think you won't need the connect the NC pins to GND...

The HiROM and LoROM connection schemes access the cartridge in diferently sized banks (32kbit and 64kbit), they also have the save memory mapped in diferent locations in the SNES address space, thats why they're wired diferently.

May I ask why are you interested in using diferent sized FeRAMs like 16kbit? If it is because of the anti-copier/flashcart checks that some games like DKC2 do, you can just crack these games before writing the EEPROM with UCON64 and use bigger save memory sizes

Hi sonnic,
Thank you for your answer.
Yes,
I know that some games like DLC2 do check anti-copier/flashcart and it can be cracked with UCON64.
But I still would like to have that option on my future PCB, to have a chose what feram size i will solder on it (FM1608 with 64Kbit or FM1808…) etc.
Why not?
And maybe the reason is also just to avoid using "ucon64" or some other applications when it can be avoided.
:)

About connect the NC pins to GND :
I had some bad expirience with "flash memory chip",
when NC pin wasn't connected to GND or VCC game had some bugs. Don't remember all details...
The address pin was floating, meaning it toggles between High and Low all the time.
So i maybe wrong, but for me it's always better to connect NC pins to GND or to VCC to give it a stable value.

About HiROm and LoROM save memory maps to diferent locations :
Do you know if it's depends of rom size too...?
I still don't understand how for FeRAMs with 16kbit/64kbit size we can keep same adress pins connections for HiROM and LoROM ?
But for FeRAM with 256kbit size, adress wiring need to be changed when its HiROM or LoROM.

I would like to understand better which data pin are responsible for what data size (space) etc.
Or maybe rather, which adress pin are resposible for what size.
Do you know where can i find this information?

Sorry to ask you so much :)

@soniccd123
Copy link
Owner

Hello friend,

I'm sorry that it to took so long to reply, the last semester was quite hard at college and i didn't had the time to look into my project for the last few months. Hopefully i'll get more time this year.

Well, using the correct sized FeRAM is perfectly possible, just solder it as shown in the chip pinout and it should work, the higher addresses will simply not be connected. Yet I must warn you that I have not tested this, if you try it, please be sure to report any trouble or success here, it will be very much apreciated! I won't test because while I have quite a large collection of FM1808 chips laying arround, I don't have any FM16W08 to test it. About the NC to GND situation, I'm not sure, it really depends if the pins are really internally connected to the silicon, I can't really answer that about the FM16W08

About the mapping, it does not depend on the game size, HiROM and LoROM will map the save to their respective address in the address space. Size can influence the complexity of the save RAM mappers, as smaller games tends to not try to read higher addresses that may conflict with the save RAM.

We can keep the same pins for the FeRAM footprint because as the jumpers are shorted for LoROM or HiROM in my board, the important pins that maps the save RAM for each one are changed. Thats why this project PCB has so much jumpers.

When I was designing this project, The main resource I used for understanding the memory mapping was poorstudenthobbys blog (today know as Mouse Bite Labs), It has a lot of information explaining how to mapping words. Also, the NESdev forums had a lot of resources, unfortunately, it seems to be offline, I hope that it comes back one day or, at least, a backup of it remains

Don't be sorry! I'm glad that you're interested in the project, I hope to have helped with your questions. If you have anymore questions or need more indepth answers, don't be afraid to ask!

@StanMOI
Copy link
Author

StanMOI commented Feb 1, 2022

Thank you for answer soniccd123.

I have some more questions for you.

  • 74LS245 (Octal Bus Transceiver): For what function do you use it on your board?

  • Others people boards using "multiplexers" like 74*257 to convert data from EPROM (16bit) to SNES system (8bit).
    I see that you don't have any Multiplexer. Why?

  • I see on your schema "BYTE_0" and "BYTE_1" between decoder 74LS139 (pins 4 and 5) and 74LS245 (pin19 CE)
    and also "BYTE" between SNES-EDGE pin17 (A0) and FM18W08 pin10 (A0).
    Why?

Capture d’écran 2022-02-01 à 14 22 13

Capture d’écran 2022-02-01 à 14 25 04

Capture d’écran 2022-02-01 à 14 57 53

I would like to try to use your schema for FM18W08 with Flash chip like MX29LV320 (8 bit) instead of EPROM 32MBIT (16bit).
If I setup Flash chip to 8bit mode, so I will not need to use any multiplexer.
Then I have some questions:

  • Do I still have to use 2x 74LS245 with MX29LV320 ?

  • Do i have to keep all pinouts with names "BYTE" ? (BYTE, BYTE_0, BYTE_1)

  • Do you think it can works? Or schema have to be changed for MX29LV320 ?

Capture d’écran 2022-02-01 à 14 46 54

And just to let you know, NESdev forum work’s again ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants