Jump to content
Sign in to follow this  
Urchlay

Bad BASIC cart puzzler

Recommended Posts

So I've got an old BASIC cartridge, CXL4002 with silver label. Had
it since maybe '87, and it used to work. Now it doesn't: Powering up
with the cart plugged in causes the Atari to come up in "green screen
of death" mode. No "pop" from the audio as I normally hear when the OS
clears the POKEY regs, and the Reset button doesn't do anything. It's
acting exactly the same as if I e.g. pulled the OS ROM or the RAM from
the motherboard. Cleaning the contacts didn't help. I tried the cart on
3 different (working) machines before I took it apart. The rest of my
testing (see below) was all done on an 800XL that has no problems I'm
aware of.

The inside of the cart looks fine, no dust/dirt, no burnt traces or
obvious bad solder joints, no visible cracks.

This cart's got 2 socketed masked ROMs (or maybe they're PROMs? no erase
window anyway). The part numbers are different: one is CO14502 and 8226,
the other is CO12402 and 8223CCP. I was honestly expecting EPROMs when
I took it apart: it came from a hardware hacker, had a hand-labelled
"Rev C" sticker on it.

I've been told by a couple of IRC users whose hardware knowledge is
greater than mine, that if I remove the ROMs and power up with the board
plugged in, the Atari should come up in self-test with only 40K of RAM
visible. Can anyone actually confirm this, from experience? (I have no
other socketed carts to try it with)

What actually happens when I remove the ROMs and plug in the board is
the same thing as with the ROMs in place: greenscreen, no pop, etc.

The only component on this board other than the ROM sockets is a little
filter capacitor that's wired between Vcc and ground. Someone recommended
I lift a leg of that, but it didn't make any difference.

Something else I tried: my other carts (which all work BTW) cause the
Atari to reboot when I insert them with the power on. So I tried it with
the bad BASIC cart, sitting at the self-test menu after booting with
Option held down. And it crashes the Atari with garbage like you get
from a bad display list. Pressing Reset after than causes the "green
screen of death", except the shade of green is the self-test screen's
background color (a bit brighter than the powerup greenscreen).

I'm thinking this is a really low-level problem: like, maybe a couple
of the address and/or data lines have shorted together. I don't have any
way to test the ROMs in a different cart board (my other carts all have
soldered in ROMs, no sockets), but I'm thinking the board itself is the
problem. Currently checking continuity between every pair of pins on the
cart's connector to see if any are shorted. Am I right in thinking that
shorted address/data pins could cause exactly the symptoms I'm seeing?
An open (unconnected) data or address pin shouldn't cause "instant death"
should it? (I mean the OS should still pop the speaker before it inits
the cart, right?)

Can anyone think of anything else I should check?

Share this post


Link to post
Share on other sites

You are right, any short between address pins or data pins will crash/hang the computer.

 

From what you describe you have checked most things, but have you also checked the pins on the chip sockets.

 

Maybe post some close up photos of the bare board, both front and back

 

Share this post


Link to post
Share on other sites

I'm definitely not a photographer, but...

Front

Back

You can see the filter cap's no longer connected, I did that last night.

I checked all the pins on the card edge connector last night, no pin is
shorted to any other pin, except vcc and rd5 (board's made that way). Also
I checked all the pins on both sockets, the two sockets are in parallel:
pin X on one socket is connected to pin X on the other one.

Looks like the two ROMs have different part numbers because one of them
uses active-low chip select or output enable, and the other uses active
high. That way the top address line can be connected to both chips
without using an inverter or such.

I'm about out of ideas. Someone suggested using an eprom burner to
dump the roms, which I might be able to do, but the fact that the bare
board causes the Atari to crash means the roms aren't the problem (or,
not the only problem). Yet I can't find any shorted pins.

Share this post


Link to post
Share on other sites

You can attempt to dump the Rom with a program on the Atari side.

 

Re removing the chips - try that, the cart should then just make the system appear as 40K, if it crashes then it means it's likely the Roms are OK but the board has a fault.

Share this post


Link to post
Share on other sites

Re removing the chips - try that, the cart should then just make the system appear as 40K, if it crashes then it means it's likely the Roms are OK but the board has a fault.



I'd gotten that far before posting it here... the Atari behaves the
same with this board plugged in, whether the roms are in it or not
(greenscreen of death, no speaker pop).

If I can fix the board, the roms still might be bad, but bad roms should
cause the Atari to crash *after* the sceen turns black and the speaker
pops (the OS zeroes all the HW registers before it inits/runs the cart).
At least, if the chips work but the contents are scrambled. If the
roms have died with an internal short, I might get symptoms like I'm
getting... but then the rom-less bare board wouldn't cause the same thing.

I'm just at a loss for what the fault in the board might be. Thought it
might be the filter cap, removing it didn't change anything. Thought
there might be shorted lines on the edge connector, but there aren't
(except Vcc and RD5 as expected). The sockets are connected in parallel,
pin N on the left socket is connected to the same pin on the right socket.

At this point I'm wondering if maybe there's some kinda micro-fine crack
in a trace, so it reads connected with my cheap meter but acts like a
capacitor when it's in the Atari. In other words I'm grasping at straws...

Share this post


Link to post
Share on other sites

So, no crossed address or data lines?

That is a mystery then.  Of course if it's just the bare board I assume you plugged it in the right way?

 

How about other cartridges - do they cause any unwanted behaviour?

Share this post


Link to post
Share on other sites

So, no crossed address or data lines?



That is a mystery then. Of course if it's just the bare board I assume you plugged it in the right way?



Heh. I assumed that too. Turns out I'm dumb and wrong. When it's plugged
in the right way, chips sockets facing the back of the Atari, the bare
board doesn't crash the machine. It boots to self-test, and the memory
test shows only 40K of RAM available. You have solved the mystery,
and I now have doubts about my own brain...

So it looks like the board is actually OK, and the ROMs are fried. More
specifically, only one is fried (I get self-test when the left ROM only
is in, and greenscreen with the right one only).

These ROMs aren't pin-compatible with 27xx series EPROMs I don't think,
and there's not room in the cart case for one of the adaptors, so I
guess the cart is permanently dead. Maybe I can reuse the shell for one
of the cart boards the AA store sells...

I even think I know what killed the ROM: the little springloaded wire
that puts pressure on the cart shell's lid was out of place, and probably
touching the board somewhere.

Share this post


Link to post
Share on other sites
50 minutes ago, Urchlay said:

So it looks like the board is actually OK, and the ROMs are fried. More
specifically, only one is fried (I get self-test when the left ROM only
is in, and greenscreen with the right one only).

Well this is disappointing.  I was hoping for a bigger mystery ..

 

  • Haha 1

Share this post


Link to post
Share on other sites

It goes to Self Test with only the low Rom inserted because the OS only checks the flags etc around $BFF8-$BFFF to decide whether to attempt a cartridge start.

 

You could try inserting both Roms but in the wrong slots.  The low Rom shouldn't provide the right flag sequence in that area so it should also go to Self Test.

That could verify that both ICs aren't just spitting out spurious data.

 

Alternatively, just try each IC on it's own in the low slot.

 

Also, re the board itself, might be worth checking that the /S4 and /S5 lines are correct.  They have pins on the slot with a connection to each Rom socket (check schematics or just follow the traces)

Edited by Rybags

Share this post


Link to post
Share on other sites


Alternatively, just try each IC on it's own in the low slot.





Edited. Originally said:


I dunno which socket is low or which is high... but you're right: with
either ROM in the right socket, I get self-test. With either ROM in the
left, I get greenscreen.



...But I was mistaken: one of the ROM chips causes greenscreen
no matter which socket it's in, and the other one allows booting no
matter which socket it's in.

From what I can tell, the 2 sockets are electrically identical: the pins
are wired 1-to-1, 2-to-2, etc for all 24 pins. So if both ROMs were
working, it wouldn't matter if I swapped them. Since one of the ROMs
causes greenscreen no matter which socket it's in, I have to assume that
one is bad, maybe internally shorted so it shorts the address/data buses.

I went ahead and dumped the one ROM that works. It matches the bottom 4K
of a BASIC revision A dump (NOT rev C as the sticker on the front claims).
Edited by Urchlay

Share this post


Link to post
Share on other sites

Yes, bottom 4K when put in the top wouldn't have the valid flags.

 

Swapping would matter if they both worked as you'd get the invalid startup flags and Self Test as a result.

 

How did you dump the working Rom?  Burner or by program on the Atari?

Share this post


Link to post
Share on other sites







How did you dump the working Rom? Burner or by program on the Atari?





K (Binary Save) option from DOS 2.5 menu. I have an old burner but
haven't yet found its power supply or the 9-to-25 pin RS232 cable it
needs (minor miracle that I found the burner actually, I'm not what
you'd call organized).








Swapping would matter if they both worked as you'd get the invalid startup flags and Self Test as a result.





Not on this board. I didn't figure this out myself (credit goes to joe_z
on IRC, aka "Joey Z" on AA I think). The way this board works is, one
ROM has an active high chip select, and the other has active low. The 2
chip selects are connected together, and also connected to the A12 pin
on the cart port.

So when A12 is low, the low ROM gets selected, regardless of which
physical socket it's in.

When I dump the working ROM, I get an identical file regardless of which
socket the ROM is plugged into: the lower 4K is the BASIC code and the
rest (if I save 8K) is all $FF.

This makes sense in another way: if there were high and low sockets,
there would have to be a chip or at least some other components on the
board to select between them based on A12. But all this board has is
the 2 sockets and the filter cap, no other components.

I dunno why I'm going into such detail now, except maybe that this
info will someday help someone else. One of my ROMs is fried for sure,
so this cart won't be fixed unless I can find a replacement somewhere. Edited by Urchlay

Share this post


Link to post
Share on other sites

OK, though there'd be 2 chip selects per chip, the other would be /S5 which is active if the address is in the $A000-$BFFF range.

Share this post


Link to post
Share on other sites

So.. you have two 2332 4K mask ROM's with opposing chip selects... a good "low" ROM ($A000-AFFF) and bad "high" ROM. ($B000-BFFF)... Couple ideas here for the PCB before you give up.. You could probably mod a 2532 EPROM to work, with some remapping of the CS to OE pins (50% chance of it working without needing an inverter.. hmm)

 

Anyway... your quickest 'fix' here is probably to just take an 8K Atari BASIC mask ROM (2364) out of an XE or XL and plug it directly into one of the sockets of this 8K PCB leaving the other empty and it should work without any modifications. Since a Retro Innovations 2364 adapter would be too big to fit inside the cartridge shell, you could instead use the in the BASIC socket in the XL or XE you pulled the BASIC mask ROM from where there is the room to accomodate it. (And also benefit from 1 or optionally 2/4/8 switchable internal BASIC ROM replacements with larger EPROMs :) )

 

And on the topic of that adapter not fitting inside a cartridge, check out this old topic by @sloopy where he managed to cram one in, with the max 8 8K cartridges in 1. :)

 

Lastly, you could directly modify this 8K PCB to take a single more common 2764 EPROM. It looks like it might actually still fit in the original shell: https://www.insentricity.com/a.cl/200/A800-2764

 

 

Share this post


Link to post
Share on other sites

Lot of useful suggestions here...

> You could probably mod a 2532 EPROM to work, with some remapping of the CS to OE pins (50% chance of it working without needing an inverter.. hmm)

Not a 2732? I ask because I actually have some 2732s in a drawer (used
to use them for 2600 carts).

I think the high rom would have the active high chip select, it would
need an inverter like the 2600 does.

> quickest 'fix' here is probably to just take an 8K Atari BASIC mask ROM (2364) out of an XE or XL and plug it directly into one of the sockets of this 8K PCB leaving the other empty and it should work

Yeah, except I don't wanna break a working machine, plus all my XLs have
built in Rev B (ugh). Maybe Best/B&C can sell me one.

> you could directly modify this 8K PCB to take a single more common 2764 EPROM

That looks like something I could do, and I've likely got 2764s lying
around (or can order some, they're still pretty common I think). I know
I've got at least one 27256 (also 28 pins), used it for a 2600 multicart
that's still in the closet somewhere.

So a 2364 mask ROM is 24 pins, but a 2764 EPROM is 28. Was there ever
such an animal as a 24-pin 8K EPROM (2564 maybe)? My old EPROM programmer
could definitely handle the old chips, it looks like late 70s tech,
an RS232 GTek.

Really the deal here is, I'm willing to spend time & effort to fix this
old cart, but not very much money. I don't absolutely *need* it working,
I only have one machine without built-in BASIC and I have a working
BASIC cart for it. The dead BASIC cart has some sentimental value,
that's about all.

Also I got a BASIC XL cart that works nicely, just in case :)

Share this post


Link to post
Share on other sites
51 minutes ago, Urchlay said:

Not a 2732? I ask because I actually have some 2732s in a drawer (used
to use them for 2600 carts).

2732 Can work with more work - more pins to swap around.

 

51 minutes ago, Urchlay said:

Maybe Best/B&C can sell me one.

I bought a couple Rev C mask ROMs directly from Bruce in July 2018, price was $15USD each.

ICA947   BASIC C  CHIP                   15.00

Actually, you're welcome to one of the Rev C mask ROM's I got from B&C and never used for my cost. 1 chip would be cheap to mail. PM if interested.

51 minutes ago, Urchlay said:

Was there ever such an animal as a 24-pin 8K EPROM (2564 maybe)?

Motorola 68764 or 68766 EPROMs are supposedly drop-in 8K 24-pin replacements. Hard to find, expensive, and not supported by modern programmers, but maybe yours: https://atariage.com/forums/topic/293818-28-pin-ic-adapted-to-24-pin-socket/?do=findComment&comment=4317223

Share this post


Link to post
Share on other sites
23 hours ago, Urchlay said:

> you could directly modify this 8K PCB to take a single more common 2764 EPROM

That looks like something I could do, and I've likely got 2764s lying
around (or can order some, they're still pretty common I think). I know
I've got at least one 27256 (also 28 pins), used it for a 2600 multicart
that's still in the closet somewhere.

So a 2364 mask ROM is 24 pins, but a 2764 EPROM is 28. Was there ever
such an animal as a 24-pin 8K EPROM (2564 maybe)? My old EPROM programmer
could definitely handle the old chips, it looks like late 70s tech,
an RS232 GTek.

Not that hard to modify to handle 2764.

https://hackaday.com/2013/03/22/atari-800-eprom-cartridge-hack/

 

Best-Electronics does still have both of the original Rev.A ROMs as well.

Edited by BillC

Share this post


Link to post
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...