Klyde Posted May 22, 2021 Share Posted May 22, 2021 (edited) Hello guys, I am an Atari fan and collector of 8-bit computers and consoles. I live in France, and some of you already know me as I am a member of The Atari Owner's Club https://atari-owner.com/club/ I own several 600/800XL and 65/130XE machines, Atari STE and STF, TI 99, MSX, Oric, Amstrad... well, you name it, plus obscure French computers you probably never heard of... I also sell an Atari 2600 SECAM RGB video mod, among other things, on my website: http://klydes-korner.site/ I try to refurbish and maintain them all, and I have for that all the equipment needed: soldering station with hot air, bench power supply, multi-meter, oscilloscope, logic probe (but no logic analyser), RAM tester, EPROM programmer, etc. though my knowledge in electronics is somewhat limited when it comes to read schematics. Today I need the help of some experts in electronics, with an Atari 400 PAL machine I bought as spares or repair 2 month ago. The CPU, POKEY and one of the OS ROM chip (CO15199) were missing. I have replaced the missing CPU and POKEY with known good spares I had. By testing the other chips, I found out the ANTIC was bad, as well as one RAM chip. I replaced them too. All the other chips, including 74xx logic chips were tested ok. The power supply is ok, and the various voltages +5V, -5V, +12V, are present across the board. I also have installed a UAV (thank you TBA, it works like a charm). The Atari 400 main board About the missing CO15199 OS ROM, I couldn't find a spare one (not a surprise) except at Best-Electronics, but I can't (and dont want) to buy from them, as they won't let me buy only one $8.00 chip, plus it would cost me a lot more in shipping fees. So I wanted to try to "emulate" the CO15199. I read somewhere (maybe here?) it was a kind of 2532 ROM chip, so I programmed a 27C32 EPROM with the correct dump image (rev. A PAL ROM file), and I built an adapter with a strip board, since the 27C32 is not just a drop-in chip. The adapter board I made - The 74LS04 was here for signal testing purposes But I am facing an "oddity" with the real CO15199 I can't sort out: it has two CS pins (a CS# and a CS pin), whereas the 27C32 only has one CS# pin. I know what a CS# signal is, and what "active LOW" and "active HIGH" signal means, but I can't figure out how both CS# and CS do work together (if they do?). According to the schematics: Atari 400/800 Field Service Manual p.43 CO15199 ROM "E" (A104): CS# is connected to pin 9 of a 74LS42 (which is an output pin). CS is connected to pin 6 of a 74LS138 (which is an input pin). I am ok with the CS# pin but, what is the purpose of the CS pin? - My first thought: CS# and CS are tied together internally with an inverter: the 74LS42 "drives" the CO15199 with the CS# signal, the CO15199 invert the signal internally to "drive" the 74LS138. But I tried to do some testing of this theory on a breadboard and on the Atari 400 itself (hence the 74LS04 on my adapter board), but had no good results. - Second thought (most likely?): CS# and CS are both needed, CS# has to be LOW and CS has to be HIGH at the same time to select the ROM chip. - Third thought (unlikely?) : CS# and CS are not related, but the signals can be emulated somehow. - Fourth thought (unlikely?): CS# and CS are not related, should be considered as two independent signals and can't be emulated. The only result I have so far is the Red Screen of Death. Is it possible to emulate the CO15199 with a 27C32 or other EPROM? Or am I loosing my time trying? Did one of you do it already? What do you think? If it is not possible to replace it with a 27C32, do some of you plan to place a joint order to Best-Electronics in a near future and would be ok to order a CO15199 on my behalf and send it to France? Thank you for reading me. Edited May 22, 2021 by Klyde Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted May 22, 2021 Share Posted May 22, 2021 If anyone can help then please do, Klyde is a really great guy and on the level. We were both hoping to get a 400 around the same time but mine fell through and his arrived a bit worse off then he had been told.. Paul.. 1 Quote Link to comment Share on other sites More sharing options...
Klyde Posted May 22, 2021 Author Share Posted May 22, 2021 Thank you Paul! I forgot to mention I did an unboxing video of this A400: Quote Link to comment Share on other sites More sharing options...
+slx Posted May 22, 2021 Share Posted May 22, 2021 @tf_hh who built a replacement RAM/ROM board for the 400 probably knows (and if you don't succeed you can still use his board to resurrect your 400. Quote Link to comment Share on other sites More sharing options...
BillC Posted May 22, 2021 Share Posted May 22, 2021 1 hour ago, Klyde said: So I wanted to try to "emulate" the CO15199. I read somewhere (maybe here?) it was a kind of 2532 ROM chip, so I programmed a 27C32 EPROM with the correct dump image (rev. A PAL ROM file), and I built an adapter with a strip board, since the 27C32 is not just a drop-in chip. The CS signals are always inputs, the different active input levels are used to determine which ROM is active in a multi-ROM environment. The original chip is a mask ROM, the 2 chip selects can be customized as either active high(CS) or active low(/CS) during manufacture. While using the same pinout as the 2332 mask ROM the 2532 EPROM has fixed values for the 2 chip selects, one active high and the other active low. When replacing a mask 2332 ROM with a 2532 EPROM the different active input levels for the chip select signals need to be taken into consideration, often one signal will need to be inverted, then you are changing to a 2732 which has a different pinout. @slx mentioned the RAM/ROM upgrade board by tf_hh as an option, there are also adapters available for what you have been attempting that also allow inverting the CS signals, unfortunately I don't know of a european company that sells them. http://store.go4retro.com/23xx-adapter/ Quote Link to comment Share on other sites More sharing options...
Klyde Posted May 22, 2021 Author Share Posted May 22, 2021 Thank you BillC, I got it! The CO15199 is not a 2532 but a 2332! I am going to try to have a 2332 eprom programmed. Cheers! Klyde Quote Link to comment Share on other sites More sharing options...
Klyde Posted May 22, 2021 Author Share Posted May 22, 2021 It appears that I may have difficulties to find a 2332 eprom, they are quite rare. I am going to stick to the 23xx adapter link you provided. Quote Link to comment Share on other sites More sharing options...
ClausB Posted May 23, 2021 Share Posted May 23, 2021 6 hours ago, Klyde said: CO15199 ROM "E" (A104): CS# is connected to pin 9 of a 74LS42 (which is an output pin). CS is connected to pin 6 of a 74LS138 (which is an input pin). CS# connects to the /S7 output of the LS42, which decodes the 6502's 64K address space into 8 blocks of 8K each using A15, A14, and A13. /S7 is the highest block, addresses $E000 to $FFFF. But the OS ROMs are only 4K each so they need another address line to select one or the other, A12. When you include that signal, you decode the block $E000 to $EFFF, which is why they call A104 the E ROM. So CS connects to A12. You can replace the ROM chip with an EPROM if you add an OR gate between /S7 + A12 and the /CS input of the EPROM. 1 Quote Link to comment Share on other sites More sharing options...
ClausB Posted May 23, 2021 Share Posted May 23, 2021 16 hours ago, Klyde said: Second thought (most likely?): CS# and CS are both needed, CS# has to be LOW and CS has to be HIGH at the same time to select the ROM chip. They are both needed but they both have to be low to select the ROM. They are both inputs to the ROM chip. The LS138 is not involved in ROM selection, it just happens that A12 goes there too. Quote Link to comment Share on other sites More sharing options...
Klyde Posted May 23, 2021 Author Share Posted May 23, 2021 12 hours ago, ClausB said: CS# connects to the /S7 output of the LS42, which decodes the 6502's 64K address space into 8 blocks of 8K each using A15, A14, and A13. /S7 is the highest block, addresses $E000 to $FFFF. But the OS ROMs are only 4K each so they need another address line to select one or the other, A12. When you include that signal, you decode the block $E000 to $EFFF, which is why they call A104 the E ROM. So CS connects to A12. You can replace the ROM chip with an EPROM if you add an OR gate between /S7 + A12 and the /CS input of the EPROM. Thank you ClausB, this is clear! I didn't take A12 into account. I definitely need to learn how CPU address spaces and memory address decoding work! If you have any ressource or books to point me, don't hesitate, I only have a basic understanding of all that. Correct me if I am wrong, but I should end up with something like this? And I keep /OE grounded (always enabled), right? Quote Link to comment Share on other sites More sharing options...
ClausB Posted May 23, 2021 Share Posted May 23, 2021 (edited) 1 hour ago, Klyde said: Correct me if I am wrong, but I should end up with something like this? Oh, I forgot about /OE. It acts just like another /CS, so you don't need the OR gate after all! Just connect /S7 to /CE and A12 to /OE. Edit: it would be simpler to leave pin 20 connected to /S7, and it would work, but the EPROM would draw more current that way, since it would become active internally whenever A12 is low, about half the time. Putting /S7 on pin 18 only activates it one eighth of the time. Edited May 23, 2021 by ClausB 1 Quote Link to comment Share on other sites More sharing options...
Klyde Posted May 23, 2021 Author Share Posted May 23, 2021 As simple as that! Brilliant! I'll try that and let you know. Many thanks for helping me out! Cheers, Klyde Quote Link to comment Share on other sites More sharing options...
Klyde Posted May 23, 2021 Author Share Posted May 23, 2021 Thank you ClausB, I have followed your advice and redirected /S7 on pin 18 and A12 on pin 20 and... If there is something I can do for you guys, just let me know... Cheers! Happy Klyde 3 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted May 24, 2021 Share Posted May 24, 2021 Great new Klyde / Manu So happy it works... Paul.. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.