• Please review our updated Terms and Rules here

Apple IIe Enhanced garbage on screen... two machines, same problem!

Ozzuneoj

Experienced Member
Joined
Nov 16, 2015
Messages
185
Location
PA, USA
So, I was given a whole bunch of Apple stuff recently. I have three monitors (Apple Color Composite IIe, Apple Green Phosphor and an Amdek amber monochrome), two Apple IIe Enhanced systems, an Apple IIc (no power pack yet), two dual disk drives (no cables yet), two single disk drives and a bunch of assorted cables and software (Oregon Trail... because, what else would people have??).

So far I've cracked open the power supplies in both IIe systems and replaced the Rifa X caps, and I've tested the two Apple monitors and two single disk drives. Everything works except that I get garbage on the screen on both IIe systems. I also get some odd issues when trying to view or edit the top-ten in Oregon Trail. The game itself works great from start to finish.

Also, when I try to use http://asciiexpress.net/diskserver/ from my iPad to either IIe system I can get Insta Disk to load, but I get "Disk Error" immediately when formatting or writing, without it ever even spinning the disk up to do anything. I'm using unused DD disks. I don't think it's the disks or the drives.

I have noticed that the garbage on the screen happens much more frequently with the IO interface card (for the disk drive) inserted. When I take it out, it more commonly when reach the prompt without garbage on the screen.

Also, when I switch off the power the same garbage is still on the screen when I switch the power back on, usually with some different characters scattered in. One time when it kept showing garbage, so I switched it off and on a few times in quick succession (a couple seconds apart), then it slowly typed out "SYNTAX ERROR IN 57088". I switched it off and on again and the message switched to "SQNTAP ERROR IN 57088" and then, after doing it again "6RPNTAP DRRNR @F....". Kind of funny, but quite mystifying.

Here are some pictures of the errors and the types of garbage I get on the screen. Both have very similar problems

I have tried reseating most of the socketed chips. I have also run the self diagnostic and it passed with "System OK". Both systems play Oregon Trail perfectly, but both crash with an "Error 53 at line #41000" when showing the top ten scores.

Here's a gallery with some pictures of the errors, and showing the game working.

https://photos.app.goo.gl/mYhcTeKMU6EEHbwr9

I can diagnose things to some degree, but I have no idea where to start with this. I'm an IBM\PC guy mainly... this is the first time I've played with an Apple II since I was in grade school in the early '90s. :)

Any help is much appreciated.
 
That sounds like a memory problem. Your symptom tells me a bit inside one of the memory chips is stuck at 0 (instead of switching between 0 and 1). If you can find the revision on the board, I could probably help.
 
Thank you! Both are marked 607-0187-A

Also, they both have RAM cards (different kinds) and I get problems with and without the cards, so the problem may be the RAM chips on the board.
 
Ok, I did a bit more research.

The research I've done points to RAM chip 4, which, if you are having problems figuring out which one it is, (If my understanding of how binary is sorted on an 8-bit machine is correct) I believe it's Chip #10 that you have to remove and replace. (If this is how your system board looks: )

RAM1.jpg

With all types of memory, including old memory, bytes (8-count binary numbers, like 01110010) are spread across chips, but not how you think. If you think of a byte as a sequence of colors (red thru purple) It does not fill up one chip with a continuous stream of info, continuing on to the end, and then filling the next chip, like this:
123456781234567812345678

It works more like this:

The byte packages are broken down into bits: 1-2-3-4-5-6-7-8

Then they are sorted according to bit position:

Bit 1 goes into the first chip
Bit 2 goes into the second
...
Bit 8 goes into the 8th chip (This is where the byte is completed. It's now spread across the 8 RAM chips.)
but Bit 9 (of the next byte) goes back into the FIRST chip.
Bit 10 goes into the second, and so-on and so-forth.

So now the information looks like this:

RAM Chip 1: 1111111... (All the way to the end of the chip capacity)
RAM Chip 2: 2222222... (All the way to the end of the chip capacity)
RAM Chip 3: 3333333... (All the way to the end of the chip capacity)
etc.

Something in RAM chip 4 is not working, causing it to be stuck.
 
Wow, thank you so much for taking the time to explain that in such detail!

I will see what I can do.

I have heard of people piggybacking memory chips to diagnose problems. I might try that (I'll do some more research first) to see if that makes any difference before I take a soldering iron to the board.
 
I actually learned about it from an individual who repaired ZX Spectrums back in 2013 and 2014.

Here's a good example (at 5:17):

Since each binary bit also corresponds to what digital memory switches are turned on or off to make a value...:
(To do this, add all the values of the bits that are switched ON or "1")
Chip 1 - 1
Chip 2 - 2
Chip 3 - 4
Chip 4 - 8
Chip 5 - 16
Chip 6 - 32
Chip 7 - 64
Chip 8 - 128

...if you were able to run a counting program in a working location of memory (on a functioning RAM card, for example), you could see a problem right away, the same as in the video (In the case of the video, the memory locations corresponding to chip 3 aren't working properly, so all values are 4 more than-expected.)
 
I keep forgetting to mention, I have two of these but I'm just going to focus on ONE right now, even if they both have the same problem.

I tried piggybacking the memory chips with similar chips from another device and nothing seemed to change, so I'm assuming if it's one bad RAM chip, it must be stuck in the way described here, which requires that the bad chip be removed from the circuit.

Can I ask how you determined that it was chip 4 (10)? I'm looking for a pattern like what was shown in the video, but I'm not seeing it.

I'm just leery of taking chips off the board unless I'm fairly certain. I like to think I'm better at soldering than I was a few years ago, but since I tore up some traces trying to replace a RAM chip in my 5150 I'm extra cautious. :)

Is there a way I can do a quick test for this using commands in basic?

Thank you again!

EDIT: Also, the system generates random characters on a blank screen when I shut it off and turn it back on. If I shut it off again and turn it back on within a few seconds it has random characters in the same spots, plus more. How does it NOT reset everything when it turns off? Is it possible for one bad memory chip to do this?
 
Last edited:
I just tried the method used in this video at around the 18:00 mark to write and read memory:
https://www.youtube.com/watch?v=7afup03v7xw

Is it normal that it doesn't reset all the memory when I power down for a few seconds or do control-openApple-reset? I have to leave it off for several seconds for it to reset, or else I can write something to memory, turn off the system, wait 3 seconds, turn it on, and that memory is still written.

Also, I don't know squat about accessing memory, but I'm definitely seeing issues on mine that I'm not seeing on that Franklin 1000. Most of his memory is showing as uniform. On mine, if I type 2000.4000 I get alternating large groups of 00 and FF, which looks normal, but there is a pattern of scattered incorrect values. It's very hard to catch since there doesn't appear to be a pause key, so I used modern technology and took a high speed video of it.

The quality is awful due to youtube's compression, but if you pause it you should be able to see the errors.
https://youtu.be/TV0E70AD_dY

I don't think there should be anything other than FF or 00 in this video, but I saw these:

2000 00 DF
2028 FF 00
2040 00 0F
2068 FF 00

2200 00 62
2228 FF 00
2240 00 F8
2268 FF 00

2400 00 C6
2428 FF 00
2440 00 8F
2468 FF 00

So, every 200 (what is this called?) a sequence of errors appears. Again, I've never even looked at memory like this... I don't even know what to call these. Are they addresses? LOL... anyway. Does it mean the errors are at:
2001
2028
2041
2068
2201
2228
2241
2268

If so, what does it mean? :)

EDIT: Just wanted to add, there are no cards or memory expansions installed in the system currently.
 
Last edited:
I just tried the method used in this video at around the 18:00 mark to write and read memory:
https://www.youtube.com/watch?v=7afup03v7xw

Is it normal that it doesn't reset all the memory when I power down for a few seconds or do control-openApple-reset? I have to leave it off for several seconds for it to reset, or else I can write something to memory, turn off the system, wait 3 seconds, turn it on, and that memory is still written.

DRAM can hold its contents for a variable amount of time after power is removed. Several factors determine this time, including environmental temperature; But the longer it goes without power, the more corrupt the residual data becomes until it all eventually becomes nonsense as each memory cell reverts to some random state. This is why more modern computers fill the memory with zeroes at power up, so the memory map is in a known state.

Also, I don't know squat about accessing memory, but I'm definitely seeing issues on mine that I'm not seeing on that Franklin 1000. Most of his memory is showing as uniform. On mine, if I type 2000.4000 I get alternating large groups of 00 and FF, which looks normal, but there is a pattern of scattered incorrect values. It's very hard to catch since there doesn't appear to be a pause key, so I used modern technology and took a high speed video of it.

The quality is awful due to youtube's compression, but if you pause it you should be able to see the errors.
https://youtu.be/TV0E70AD_dY

It looks like you may have multiple bad memory chips. At 0x2001, you have DF (223 or 11011111) instead of 00 (0 or 00000000) If the byte has one bit per memory chip, it'd mean that every memory chip is bad except chip 3 at that address. But this assumes that you cleared that memory address before trying to read it. If the machine doesn't clear the RAM to 00/FF at boot, and you didn't do it either, it could be in some random state.

0x2041 is 0F (15 or 00001111) which would mean chips 4-8 are stuck high at that address.

Try writing a known value to the suspect memory addresses and reading them back. You may want to do it several times, each time setting it to a different value.
 
Progress report!

Last night I decided to just go all the way with this thing and swap out all eight memory chips with DIP sockets (sockets harvested from an older printer memory board).

Amazingly, it went extremely well with no problems at all. I used a method that is new to me (but probably is the way it's "supposed" to be done). I used my heat gun to heat up a chip (both sides), then used my desoldering gun (ZD985... poorly designed pain in the butt, but when it works it is an indispensable tool) to suck the solder out of each pin on that chip, being careful not to cram the tip into the tiny and fragile solder pads. Normally, at this point is when the headaches start because you don't always get all of the solder out. But I realized that with a heat gun on hand, it no longer matters! Once most of the solder is out of all the holes (checked with a flash light) I could heat the solder joints again with the heat gun with a chip puller slightly wedged under the chip on the other side. Once the tiny bits of solder in the holes have softened, the chip will come free with minimal pressure on the chip puller. I didn't damage a single pad or a single trace out of 128 joints! I was very happy.

This is the first time I've attempted to work on so many DIP chips and this is the first time I've used this method. I wouldn't dream of doing anything differently the next time... this was by far the easiest and least scary method I've ever used to remove DIP chips. I had all 8 chips out, had 8 sockets soldered in (including time straightening the pins on the harvested sockets) and the board totally cleaned of flux residue in about two hours. I normally spend an hour or two struggling with the stupidly designed chamber and easy-clog nozzle on my desoldering gun, so this was amazing. :)

I had some hopefully-compatible memory chips around (Sharp 2164-15) that I'd harvested from unused boards, so I installed those in the system.

So far, I'm noticing that I only get screen corruption if I turn it off and back on too quickly.

Strangely, I still get "Error 53" in Oregon Trail after it loads the top ten list... maybe it's a problem with the disk? Or maybe the bad memory corrupted the top ten file when I saved to it before. Oops?

Also, it turns out the disk errors when using the diskserver website were totally unrelated to memory! Apparently the IO card needs to be in slot 6 to work properly, not slot 7. I wish I'd known this before... heh. Once I had the card in slot 6 I could easily format and write programs (using the HIFI option) from my iPad.

I've run two memory testers (Apple Cillin II and Apple II RAM Test 1.4) and found no memory errors at all with the replacement RAM installed in the sockets, and with no RAM expansions installed.

Now that I have RAM test disks I'm tempted to put the old chips in to see if I can figure out which ones are actually bad. Should make fixing the other machine a bit easier... unless ALL of it's chips are bad. :D

One thing that is odd... despite the fact that everything seems to work fine with these chips, when I check the memory in BASIC, using 2000.8000 for example, the memory is now filled with seemingly random, scattered numbers and no patterns or large areas of a single value. Is this just a difference in using Sharp 2164 chips rather than the Micron 4264 chips that were in it before? I wasn't 100% sure if they would work at all, but it passes every single memory test, so it must be working... right?

EDIT: TURNS OUT THE ORIGINAL RAM WAS NOT BAD, SEE THE NEXT POST.
 
Last edited:
HAH! Okay... well, all of the original chips are in the sockets now and all the memory tests are passing perfectly fine.

Rather than having bad RAM, I think there were a number of different things at play here:

*An issue with the Oregon Trail disk causing an unrelated error
*The IO card being in slot 7 rather than slot 6, which gave disk errors using Insta Disk via the tape input from my iPad
*No real diagnostic software available due to the above disk error...
*My lack of understanding of what should appear onscreen on an Apple IIe when you power it off and back on without waiting long enough (IBM PCs don't generally have this issue... but maybe that's part of why startup can take longer)
*My general lack of understanding of how an Apple IIe should behave
*My complete lack of understanding of how Apple BASIC interacts with memory

I'm not going to point any fingers because of a incorrect diagnoses... I'm sure on some level I wasn't providing sufficient information, and I was injecting my own assumptions into the conversation.

I'm glad I didn't have a terrible time adding the sockets anyway. This board is now more "future proof" since it can be much more easily maintained.

Anyway, in the future if you guys come across complaints of garbage on screen or other misc errors, perhaps link to this post and my previous one. It could save someone a ton of time and possibly damaging a board due to unnecessary desoldering of components.
 
Last edited:
Back
Top