Atari 400 repair

The Atari 8 bit computers have always been a bit of a mystery to me. I never owned one myself when i was younger, and only ever got to play on an Atari XEGS a couple of times at a friends house. I have a few different ones now but I didnt have an Atari 400. So when one popped up for sale at a good price, and with my new favourite words, faulty – spares or repairs, I jumped at the chance.

True to the description, when I powered on the unit, all I got was a red screen. I started with all the normal checks, were the power levels correct? Was the reset circuit working? Do I have a clock signal, and do the data bus and address bus lines look ok?

All of these checks appeared to be fine, so that always makes the repair slightly more difficult. Since I have a few other Atari’s I decided just to try swapping over the CPU and Pokey chips as they can fail. Both checked out fine so I marked them with a nice little tick just to remind myself in case I ever started second guessing the fault.

Now seemed like a good time to bust out my thermal camera, annoyingly I forgot to take a photo of this, but I noticed that one of the ROM chips was getting a lot hotter than the other two. I did a bit of reading up and found the Atari 400 has 3 ROM chips, The first 2 contain the OS ROM which are 4k each, then the 3rd contain an FPP (Floating Point Package) ROM which is 2K. This was the chip that was getting pretty toasty.

Concentrating on this chip now, I started looking on the oscilloscope and noticed that although in my first test the data bus and address bus looked fine, what I was now seeing was when the computer is first turned on, the data bus was held high across all pins for a few seconds and then faded down to normal activity. Something very strange going on!

To see if the FPP chip was causing this weird behaviour, I pulled it out and turned on the computer once more and was pretty shocked to see the following screen.

So it was alive! But how? Since I still had the ROM chip in my hand. Well, it turns out the Atari 400 will actually run fine with the FPP ROM removed, right until it needs to do something with the maths stored in this ROM.

So this was good news. The computer itself appears fine and I just have a faulty ROM chip. The issue now is the Atari uses customised 2316 style ROM chips which are hard to get these days. So I turned my attention to one of the 23xx EPROM adapters which allow you to use an M27C64 in place of the 2316 chip.

I ordered one of these from eBay as I didn’t have any in my parts bin.

Whilst waiting for that to turn up I decided to keep on troubleshooting just in case the ROM chip turned out not to be the issue, but instead maybe the chip select circuit wasn’t working. I actually went down a bit of a rabbit hole on this one, since there were 3 ROM chips, I really wanted to understand how the correct chip got chosen. So I found a copy of the memory map for the Atari. Looked at the memory locations for the OS ROM and the FPP ROM, translated these addresses into binary, and then from that worked out that address line 11 through to 15 were what was being decoded into the chip select lines via a 74LS42, 4 Line BCD to 10 Line Decimal Decoder.

As an example, if the last 5 bits on the address bus were 11011, This would set pin 18 on the FPP ROM chip (One of it’s 3 chip select lines) to high, then pin 21 on the FPP ROM chip to high, then the last 3 bits 011 would go to inputs ABC on the 74LS42, which would cause it to set the final chip select line on the FPP ROM to low. This combination of High High Low is the correct combination to select this specific chip.

I used the same logic above to work out how the Lower and Upper OS ROM chips were selected. This is where I hit a bit of an issue. The schematics I was looking at, combined with the decoding above didn’t add up. There was no way the computer could select the Lower ROM or the Upper ROM by themselves, it would always select both ROM chips.

I was fairly sure my workings out were correct, so I went in search of different schematics for the Atari 400. When I found some, even though they were low quality, I was pleasently suprised to see that the first schematics I was looking at were indeed wrong. For some reason I was pretty happy about this, it meant that I understood how the system worked well enough that I could actually disagree with the schematics that were right in front of me.

Notice on the left picture above that ROM 103 and 104 both have the same Chip Select combination, where as on the slightly blurry image, Pin 21 is Active High on one and Active Low on the other. If you are wondering about the 3rd chip select line, it is actually A11 (I would have to work it out, but I think it is used as a chip select on the FPP ROM but may actually be used as an address line on the OS ROM, something to ponder another day).

After all of that I decided the chip select logic all looked to be fine, and my issue was still likely to be the ROM chip itself.

After a couple of days the 23xx adapter arrived and I spent a long time trying to configure it correctly to emulate the FPP ROM. It took me a lot longer than I care to imagine to realise that the pins on the back, of which you need to bridge two of them, were actually in the order 321 rather than 123 (Why!!!!!), once I had worked that out, I set up the adapter by bridging pins 2-3 on 18,20 and 21. Then bridging 5 as the output pin. I wrote the FPP ROM code to my AT28C64 EEPROM chip, and since this was a 64kbit chip instead of a 16, I repeated the ROM code 4 times to fill the chip (I did try it just at address 0000 but that didn’t work, so remember to do this step).

Finally I was ready to plug in the new ROM chip and when I powered on the computer I was greated with Memo Pad. Now the issue here is Memo Pad actually worked without the FPP ROM installed so I wasn’t really testing anything yet, apart from it wasn’t giving me a red screen.

I happened to have an ATARI SALT Diagnostics cartridge kicking around (Yes I did try this at the start of my repair, but it wouldn’t run with the computer in the state it was in). The good thing about this cartridge is you can just burn an EEPROM and stick it in this cartridge to test ROM files. So I download an Atari BASIC ROM as I had read that this needs the FPP ROM to fucntion.

First test was to pull out my new ROM replacement and try Atari BASIC. It loaded and I got the ready prompt, but then a load of garbage appaeared on the screen and it crashed.

Next I placed my FPP ROM back in the socket, repeated the test and this time I had a fully functioning Atari 400.

All that was left was to re-assemble to computer and feel happy that I’d saved yet another computer and gained a lot more knowledge of the Atari 400 along the journey.

And here it is, The Atari 400!

Be the first to comment

Leave a comment

Your email address will not be published.


*