Dallas "ROMs"

( part 2 of SmartOS)

by Bob Woolley

Previous Start

In the SmartOS modification that we had last year, the core of the project was a non-volatile static RAM. The stock Atari is built with either an EPROM or ROM for the storage of die operating system code. These devices retain whatever data is written to diem without die aid of external circuitry or power. The problem is, you cannot alter their contents once they are programmed. Any changes you would like to make in the OS require die removal and replacement of the chip. The cartridge, MIO interfaces, the 1050 and 850, also have ROMs or EPROMs that score code. Changing code in any of these devices is difficult. The static RAM devices, such as the 62256, have the same pinoucs as an EPROM of equal size and can be altered just like any RAM memory. Unfortunately, the data in a RAM will not survive a power down, Once the power is turned off, all data is lost. The SmartOS presented a method of retaining data in one of these RAM chips through numerous power cycles, giving us the ability to alter our OS as often as we like.

Never being content to leave something alone, I have made a few modifications to the SmartOS modification. The alteration I will describe here is to the method used to retain data in our static RAM chip. In the first design, I used a Dallas Smart Socket to provide all the necessary components. All you did was plug in a static RAM and you were up and running. This makes for a simple project but it left something to be desired from my point of view. First, the battery was internal and not replaceable. Sure, they last 10 years. Usually. I can just imagine my RAM chip blowing it's brains out and shorting out the battery in the Smart Socket. No more Smart Socket. I can also see wanting to use a larger RAM (128K or 512K). Can't use a single Smart Socket for that either... Or multiple RAMs. What was needed was a little
more flexible setup. And, if it's a few bucks cheaper - great!

Take a look at the Smart IDE schematic. The lower right hand corner is a sketch of the data retention circuit. Again, we use a Dallas Semiconductor part, but instead of the whole assembly, we only use the controller chip - a DS1210 This chip provides the sensing and control circuits to prevent data loss while power is being cycled, completing any write cycles and switching in the battery when needed The battery may be either a PC style 3.6 volt lithium cell or three ordinary penlight batteries (4.5 volts). Either battery will supply much more power than is available in the Smart Socket and can be replaced easily and cheaply. As an added benefit, the cost of the DS1210 is only about five bucks.

The DS121O has three main functions. Although you may chink that the power goes off instantaneously when you turn off your computer, in computer time, it takes quite a while. The DS1210 watches the +5 volts from your computer (connected at pin 8) for a drop of more than .25 volts. If it sees such a dip, it assumes that the power is going off and prepares the RAM for data retention. First, it checks to see if you are selecting RAM with the chip select line from the computer logic (connected at pin 5). If RAM is being used, the DS1210 waits for
it to finish (chip select at pin 5 goes high). It then holds the chip select output to the RAM (pin 6) at a high level, ignoring any more changes at the chip select input. This prevents the RAM from being "glitched" while power is going down. The DS1210 also connects it's battery (connected at pin 2) to the VCC pin of the RAM (connected to pin 1), to supply enough power for the RAM to retain all the data currently stored in the chip. On powerup, the DS1210 disconnects it's battery, allows chip selects from die computer and you're back in business with all of your original data intact. You may even connect a second battery to pin 7 if you are really worried about losing your data. The DS1210 will then switch to this backup battery if the main battery goes dead (seems like overkill in this application - I didn't use this feature).

All in all, the DS1210 is just perfect for this application. Many, many power cycles have been executed on my RAM with no problems whatsoever. Although I show a 32Kx8 RAM in the schematic, I actually used a 128Kx8 bit unit in my controller. With the DS1210 I could use any size RAM I wanted - may even do a 5l2Kx8 bit ramdisk with this guy. The DS1210 worked fine and, it's a little bit cheaper than a Smart Socket. There are also other versions of this controller chip that will control up to 8 RAM chips - for those really big projects. Now, you have two ways to replace your EPROMs and ROMs, so get busy and hack a new 1050 or something!


ds1210




Previous Start



These pages created and maintained by Clarence Dyson.

Copyright © 2001 Clarence Dyson. All rights reserved.
Any reproduction, duplication, or distribution in any form
is expressly prohibited, except by consent of credited creators.

Ride Free, Citizen