Jump to content

Photo

800XL red screen


18 replies to this topic

#1 jum OFFLINE  

jum

    Chopper Commander

  • 102 posts
  • Location:Cape Town

Posted Mon Feb 15, 2016 11:43 AM

Hi, I have a PAL 800XL with red screen syndrome.

 

I have been trying to troubleshoot the cause of the fault (using the field service and Sams manual), would appear to be something wrong in the address decoding, mmu or roms. I'm kind of stuck now until I can get hold of some chips to swap out.

 

Anyway, I noticed that the signal on the data bus looks a little weird. See attached oscilloscope pics (The light blue signal is a line on the address bus, and the yellow is a  line on the data bus).

 

Anyone seen this before or know what causes it?

 

Cheers - James

 

 

 

 

Attached Thumbnails

  • addr3.jpg
  • addr vs data.jpg


#2 ProWizard ONLINE  

ProWizard

    River Patroller

  • 4,486 posts
  • Into Stampede
  • Location:In the cattle!

Posted Mon Feb 15, 2016 1:00 PM

RED screen...

 

I have seen this when:

OS rom is bad

CPU is bad

DRAM is bad

 

Hard to tell...

You should get yourself a SysCheck II device from Abbuc. This is one of those situations where you can't live without. I have been using it a few times, and it really made life easier.



#3 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,116 posts
  • Location:Australia

Posted Mon Feb 15, 2016 3:47 PM

OS is unable to start early initialization.  GTIA will often/usually display a reddish brown as background colour on startup, this is normally cleared by OS startup within about 1/2 second.

 

Bad Ram won't necessarily be the cause though if the Ram is outputting data in an unsolicited way it could crash the CPU.

Easy way to test, remove all the Ram, easy so long as it's socketed that is.

 

My order of suspicsion would be CPU, Antic, MMU, OS Rom.  This is a lot easier to debug if you have a similar known good machine to test swap components.


  • jum likes this

#4 ClausB OFFLINE  

ClausB

    Stargunner

  • 1,384 posts
  • Location:Michigan

Posted Mon Feb 15, 2016 8:02 PM

What's the time scale on your scope traces?



#5 Paul Westphal OFFLINE  

Paul Westphal

    Stargunner

  • 1,200 posts
  • Location:Portland, Oregon

Posted Mon Feb 15, 2016 11:22 PM

Open it up and take off the RF shield. Power on the system. After a minute, see which chip(s) get HOT. That's your culprit. It's old school, but it works.
  • jum likes this

#6 jum OFFLINE  

jum

    Chopper Commander

  • Topic Starter
  • 102 posts
  • Location:Cape Town

Posted Tue Feb 16, 2016 11:44 AM

What's the time scale on your scope traces?

1us (microsecond)



#7 jum OFFLINE  

jum

    Chopper Commander

  • Topic Starter
  • 102 posts
  • Location:Cape Town

Posted Tue Feb 16, 2016 11:58 AM

OS is unable to start early initialization.  GTIA will often/usually display a reddish brown as background colour on startup, this is normally cleared by OS startup within about 1/2 second.

 

Bad Ram won't necessarily be the cause though if the Ram is outputting data in an unsolicited way it could crash the CPU.

Easy way to test, remove all the Ram, easy so long as it's socketed that is.

 

My order of suspicsion would be CPU, Antic, MMU, OS Rom.  This is a lot easier to debug if you have a similar known good machine to test swap components.

I'll try removing all the RAM (luckily everything is socketed). What should happen if I boot without RAM?

Edit: Removed all the RAM. No difference (red screen as before).

 

I have already swapped the CPU with the one from my broken 5200 (unknown condition). No difference.

 

My 5200 is NTSC, so I don't think I can swap its ANTIC into the PAL 800XL.

 

Atari 600/800s are extremely rare in these parts, difficult to find a known good machine.


Edited by jum, Tue Feb 16, 2016 12:23 PM.


#8 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,116 posts
  • Location:Australia

Posted Tue Feb 16, 2016 3:26 PM

If the CPU is good but the (now removed) Ram was causing crashes, then you should get a black screen every time.


  • jum likes this

#9 ClausB OFFLINE  

ClausB

    Stargunner

  • 1,384 posts
  • Location:Michigan

Posted Tue Feb 16, 2016 3:43 PM

The yellow scope trace looks normal for data lines. The 6502 only drives the data bus for about half of each 560 ns cycle and you are seeing the undriven bus charging up during the other half, looking like a sawtooth.



#10 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,116 posts
  • Location:Australia

Posted Tue Feb 16, 2016 3:50 PM

For the purpose of testing it's fine to use the Antic from NTSC 5200.


  • jum likes this

#11 jum OFFLINE  

jum

    Chopper Commander

  • Topic Starter
  • 102 posts
  • Location:Cape Town

Posted Wed Feb 17, 2016 2:24 PM

For the purpose of testing it's fine to use the Antic from NTSC 5200.

Swapped in the ANTIC from my 5200. No change.

 

I was checking the reset circuit again, according to Sams troubleshooting guide. I noticed that there is no delay between power on and 5V on pin 8 of U19 (74LS14). See attached screenshot. Checked capacitor C49 (47uF), it takes 20+ seconds to charge up to around 5V. Is this normal?

 

PS: Thanks for all your replies, I wasn't expecting so much help :)

Attached Thumbnails

  • reset.jpg

Edited by jum, Wed Feb 17, 2016 2:28 PM.


#12 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,116 posts
  • Location:Australia

Posted Wed Feb 17, 2016 6:28 PM

No harm replacing suspect capacitors.

 

The power-on Reset sounds maybe not right.  The thing with XL or XE though is that when you press the Reset key it also generates a hardware Reset and would coldstart the machine for you.

That said though, if the circuit generating Reset is faulty then you probably have an issue.

 

Since you have means to monitor individual pins, can you see what the Sync pin on 6502 does on powerup?  Normally it should activate each time a new instruction is fetched, ie every 2-7 cycles, occasionally much more due to DMA loss.


  • jum likes this

#13 jum OFFLINE  

jum

    Chopper Commander

  • Topic Starter
  • 102 posts
  • Location:Cape Town

Posted Thu Feb 18, 2016 2:47 PM

Seems like the RESET is actually working as expected (I was previously measuring PIN 14 of U19, not pin 8 (doh!)). (See attached reset1,jpg). There is a delay of about 350ms after power on, before RESET goes high. (C49 is charged to about 1.6V before U19 pin 8 goes high).

 

Also attached are traces from the SYNC pin on the 6502 (sync signal in cyan).

Attached Thumbnails

  • reset1.jpg
  • sync at power on.jpg
  • sync1.jpg
  • sync2.jpg
  • sync3.jpg


#14 jum OFFLINE  

jum

    Chopper Commander

  • Topic Starter
  • 102 posts
  • Location:Cape Town

Posted Tue Mar 1, 2016 12:23 AM

Wrote a little Arduino sketch to test the MMU (PAL16L8): http://hackaday.io/p...uino-vs-pal16l8

 

Results seem to indicate that it is functioning normally (output states for given input states match as per mmupal.src). However there is still a possibility that the chip is flaky under real conditions.



#15 tf_hh OFFLINE  

tf_hh

    Moonsweeper

  • 464 posts
  • Location:Germany

Posted Tue Mar 1, 2016 1:37 AM

Seems like the RESET is actually working as expected (I was previously measuring PIN 14 of U19, not pin 8 (doh!)). (See attached reset1,jpg). There is a delay of about 350ms after power on, before RESET goes high. (C49 is charged to about 1.6V before U19 pin 8 goes high).

 

Also attached are traces from the SYNC pin on the 6502 (sync signal in cyan).

 

When SYNC is toggling sometimes, then it seems that the OS could start the very first part of coldstart (RESET) routine. First is to watch every D0...D7 and A0...A15 line. I´ve had some bad CPUs in the past where only one address line was broken. In some cases the system could start, but crashes after a few opcodes, of course. You can see this immediately with your scope.

 

You can use NTSC ANTIC or GTIA for testing, you also should get a picture, but it´s black/white. And if you have a very old "PAL only" television or monitor, the picture may roll. But for a quick test it´s ok.

 

In over 80% of these issues bad DRAM is the reason why the computer won´t start. Even when there are only some bits bad, when the CPU´s stack ($0100-$01FF) is affected, the OS-ROM coldstart subroutine will return to Nirvana - computer hangs. So changing the DRAMs is the first thing you should do. You can use any 4164 DRAM (as also found in some C64, Apple II and some other 8-Bit machines) or 41256 DRAMs (found on a lot of Amiga 500 memory expansions, all Atari ST 260,520,1040 ST/STF (not STE) and so on...).

 

Jurgen


Edited by tf_hh, Tue Mar 1, 2016 1:38 AM.


#16 jum OFFLINE  

jum

    Chopper Commander

  • Topic Starter
  • 102 posts
  • Location:Cape Town

Posted Tue Mar 1, 2016 2:18 AM

 

When SYNC is toggling sometimes, then it seems that the OS could start the very first part of coldstart (RESET) routine. First is to watch every D0...D7 and A0...A15 line. I´ve had some bad CPUs in the past where only one address line was broken. In some cases the system could start, but crashes after a few opcodes, of course. You can see this immediately with your scope.

 

You can use NTSC ANTIC or GTIA for testing, you also should get a picture, but it´s black/white. And if you have a very old "PAL only" television or monitor, the picture may roll. But for a quick test it´s ok.

 

In over 80% of these issues bad DRAM is the reason why the computer won´t start. Even when there are only some bits bad, when the CPU´s stack ($0100-$01FF) is affected, the OS-ROM coldstart subroutine will return to Nirvana - computer hangs. So changing the DRAMs is the first thing you should do. You can use any 4164 DRAM (as also found in some C64, Apple II and some other 8-Bit machines) or 41256 DRAMs (found on a lot of Amiga 500 memory expansions, all Atari ST 260,520,1040 ST/STF (not STE) and so on...).

 

Jurgen

Thanks Jurgen

All the address lines have pulses, but only 2 data lines seem to have proper pulses.

My 800XL has 4564 RAM chips. I will try swap in some 4164 chips from my broken Apple II and an old XT motherboard. 

Maybe I will test my RAM using Arduino:

https://juhannuskame...duino-and-dram/

http://blog.atmel.co...h-an-atmega8u2/

I also have a very cheap USB logic analyser that I need to learn...



#17 rockdoc2010 OFFLINE  

rockdoc2010

    Chopper Commander

  • 109 posts
  • working graves,
  • Location:Pittsburgh PA

Posted Wed Mar 2, 2016 4:43 PM

an oscilloscope on an eight bit?!?  YOU ROCK!



#18 jum OFFLINE  

jum

    Chopper Commander

  • Topic Starter
  • 102 posts
  • Location:Cape Town

Posted Sun Jun 18, 2017 10:05 AM

FINALLY - SOME CLOSURE!

 

Well today I finally managed to fix the 800XL  :)  :-D  :)  :-D  :)

 

After lots more probing and investigating and swapping out chips with my 600XL, I noticed with my cheap logic analyser that the correct reset vector ($C2AA?) was not being loaded on reset, meaning OS ROM was not being enabled on reset, which lead me to discover that the 6520 PIA was not pulling the REN line on the MMU high (like ti should be doing). So I swapped out the PIA with the PIA from my 600XL and happy day there was the "READY" text on the screen!

 

(Never thought to swap the PIA before as I have never seen it mentioned as a common failure).

 

Thanks for all the help and cheers! I'm going to have a beer now...



#19 jum OFFLINE  

jum

    Chopper Commander

  • Topic Starter
  • 102 posts
  • Location:Cape Town

Posted Fri Jun 23, 2017 3:08 AM

Correction: the 6520 PIA was holding the REN line LOW, not allowing it to default HIGH thru its pull-up resistor.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users