Ditch your SRAM battery

Started by famiac, November 11, 2022, 03:35:46 AM

Previous topic - Next topic

famiac

In the process of making my X68030 more palatable for resale, i've found a way to use non-volatile memory to store the system settings. This means you can eliminate the CMOS battery entirely if you don't care about the real-time clock. The rest of this post should serve as a guide for those willing/able to do the mod.
Make sure to read the whole post before attempting. i will not be held responsible for any damage / malfunctions that may occur as a result of anybody performing this mod.

You will need two genuine FM16W08 chips (~$6.50ea on digikey), or two FM18W08 chips (more expensive, but easier to buy in bulk on ebay). If you're buying secondhand, make sure they're not counterfeit! (see photo attached, then play spot the differences...)
You also need two 0.1uF ceramic capacitors with long leads and some thin wire.

Guide:
1. disassemble your X680x0 and remove the motherboard.

2. de-solder the original SRAM chips, which are located above the boot roms. I use a hot-air station.

3. before soldering the FRAM chips, bend up pins 20 (/CS) and 28 (VDD). On an FM18W08, also bend up pins 1 and 26 and tie them both to either GND or VCC.

4. solder the chips in place.

5. solder a 0.1uF ceramic capacitor between pins 28 and 14.

6. connect pin 28 of each chip to 5V anywhere you like on the motherboard. I used the supply pin on the ROM chips nearby. Check with a multimeter to make sure the location you chose is connected to 5V.

7. connect pin 20 of both chips to each other.

8. connect a wire from the data strobe (/DS) line to /CS on the FRAM chips. On my X68030, this signal is located on pin 2 of the nearby 74AS08N chip (IC39) where it is serving as an input. You can check that you have the right line by doing a continuity test to pin 58 of the YUKI chip.

Done. You can remove your SRAM battery. No more fretting about losing your drivers until the end of your days as an X680x0 owner.

Note: you can also find the /DS signal by tracing the /CE pin on your ROM chips. The X68030 service manual refers to this signal as /CRCE and it should lead to the output of an AND gate. The /DS signal you want should be one of the two inputs that feed /CRCE. I did not check whether the /CE signal on the ROM chips could also be used as the /CS line for the FRAM chips.

After performing the mod on my X68000 EXPERT, I'll update this post with the /DS location for that model.


kamiboy

This is a great mod for SASI owners. It is a bit messy though with all those wires. Maybe it will all be moved over to a clean install PCB of some sort in the future.

leonk

Isn't the battery there in SASI computers for the RTC as well? FRAM doesn't fix that issue and without a good RTC, the power circuit wouldn't work correctly.

kamiboy

What? This is news to me. What is the link between RTC and power circuitry?

famiac

#4
Quote from: leonk on November 12, 2022, 10:44:47 AMIsn't the battery there in SASI computers for the RTC as well? FRAM doesn't fix that issue and without a good RTC, the power circuit wouldn't work correctly.
the battery doesn't connect to the RTC directly. there's a circuit that automatically directs power to the RTC chip when the PC is plugged in.

Quote from: kamiboy on November 11, 2022, 06:01:40 PMThis is a great mod for SASI owners. It is a bit messy though with all those wires. Maybe it will all be moved over to a clean install PCB of some sort in the future.
Using the FM16W08 means only having to install 4 wires (2 power + 2 signal) and 2 capacitors.
An FM18W08 takes 4 extra wires and is more expensive. i only used it because it's all i had in stock
a PCB solution for the 16W08 would save you 2 wires and would require a lot more soldering overall (PCB to PCB connection and chip to PCB connection)

Update:
it looks like on regular X68000 (not 030) the /DS and /WE lines are broken up into upper and lower portions. On the Cynthia chip, pin 25 is /LDS and pin 26 is /UDS

leonk

RTC = Real Time Clock.

If the SRAM battery wasn't connected to the RTC, how can the computer know what day/time when it's unplugged from the wall?

leonk

See attached schematics of CZ-600CE. The 3.6V battery connects to the RTC Vcc via a 1.5K resistor. Ground is direct connection.

battery.png

famiac

#7
your screenshot doesn't show the whole picture.
When the machine is on, the RTC chip is powered by VCC, and the 1.5k resistor limits the charge current to the battery. The diode (D5) isolates the rest of the circuitry so the battery can power RTC ONLY while the machine is off.

you can remove the battery and still have RTC function while the PC is on. I would bet most people don't care to maintain the timestamps on their files and would rather preserve the SRAM settings so they can keep using their machine without needing to boot from floppy to reinstall drivers.

leonk

RTC does more than just keep date/time. It also generates the signal used by the soft power switch (see: https://gamesx.com/wiki/doku.php?id=x68000:soft_power_switch_troubleshooting_and_repair)

It's been a few years since I played with that circuit, but I recall if the RTC is not working correctly (e.g. it has been reset due to dead battery) then what you'll see when you plug in the computer is the system will turn on its own (instead of stay off and give you the red power LED)

While not a big deal, some people might want to connect peripherals, external drives, etc before powering on the computer.

SRAM replaced by FRAM is a good idea, and I would take it one step further. Install a battery holder with a zenor diode + 1K resistor.  This will disable the charging circuit and allow you to use CR2032 batteries.  CR2032 in this circuit will last for years to keep the RTC happy and system behaviour the same as before.

famiac

#9
i haven't noticed any issues with soft-power functionality on my modded machine.

if you want to install a cr2032 and maintain your timestamps you'll want a schottky diode, not a zener. and you don't need a resistor.

leonk

You're right, that was a typo. A 1K resistor is highly advisable when a batter is used for backup purposes, you can see an example of this in some data sheets; see last page here which includes schematics and resistor calculation formula: https://www.farnell.com/datasheets/1496885.pdf

I recall even back in the day, resistors + diodes were used in data backup applications (e.g. all NES carts use a diode + resistor between the SRAM and CR2032)



famiac

ah, so the resistor would be a safety measure in case of short-circuit diode failure.

SiQux

#12
Did anyone try this on a CZ-600CE?

I'd love to do it on mine, but it would be nice to get confirmation that it works and some more info on how to wire the FM16W08 first.

Golga

You still need a battery to power the RTC circuitry. I can see where the OP is going with this.
It's like adding a FRAM to a 90's Willimas era Pinball, it's great because you do away with the batteries however you lose the RTC which for most people for home use nobody cares about.