Image Map Image Map
Page 1 of 2 12 LastLast
Results 1 to 10 of 11

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

  1. #1

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

    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.

  2. #2
    Join Date
    May 2011
    Location
    San Antonio, TX
    Posts
    377

    Default

    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.

  3. #3

    Default

    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.

  4. #4
    Join Date
    May 2011
    Location
    San Antonio, TX
    Posts
    377

    Default

    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.

  5. #5

    Default

    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.

  6. #6
    Join Date
    May 2011
    Location
    San Antonio, TX
    Posts
    377

    Default

    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.)

  7. #7

    Default

    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 by Ozzuneoj; November 26th, 2020 at 07:11 PM.

  8. #8

    Default

    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 by Ozzuneoj; November 26th, 2020 at 08:21 PM.

  9. #9
    Join Date
    Apr 2015
    Location
    Austin, Texas
    Posts
    2,272

    Default

    Quote Originally Posted by Ozzuneoj View Post
    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.

    Quote Originally Posted by Ozzuneoj View Post
    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.

  10. #10

    Default

    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.

    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 by Ozzuneoj; December 1st, 2020 at 10:58 AM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •