Path: utzoo!attcan!uunet!convex!killer!ames!mailrus!rutgers!iuvax!bsu-cs!cfchiesa
From: cfchiesa@bsu-cs.UUCP (Christopher Chiesa)
Newsgroups: comp.sys.atari.8bit
Subject: Intermittent Heat-Related System Failure
Keywords: heat failure intermittent diagnose help
Message-ID: <3204@bsu-cs.UUCP>
Date: 30 May 88 19:27:10 GMT
Organization: CS Dept, Ball St U, Muncie, Indiana
Lines: 234


   Greetings.

   Regular readers of this group may recall my postings over the past several 
months, dealing with intermittent system problems which I attributed to my
aging Percom AT-88 disk drive.  Unfortunately, the problem has always been spo-
radic enough to elude simple cause-and-effect diagnosis, and the software which
locks up has always been complex enough (AtariWriter, AtariWriter Plus, video 
games) that the problem "could be anything" in the system.  

   Last night, however, all of that changed.  I've been working on a little 
graphics-demo program, in which the "main program" does the well-known "rain-
bow" effect with the "background" color,  while a VBI routine "rotates" five
players (yes, five) horizontally across the central portion of the screen.
It's a short program, I understand it thoroughly, and it LOCKED UP on my com-
puter three separate times when it absolutely should NOT have.  (Code is be-
low for those who want it.)

   From this latest development, I've been able to deduce that yes, the prob-
lem IS heat-related.  The first time this program locked up, the computer had
been on most of the day, and a hot day at that.  Thinking back, most of the 
other failures occurred when one or both of these factors was true.  The clin-
cher was when I let the program run all night.  It ran fine for a half hour
before I shut the monitor off at 2AM, then when I turned it back on at 10AM the
background ripple was gone, the player graphics data was corrupted, and the
program no longer responded to the "exit" command (START+SELECT+OPTION all
pressed at the same time.)  The "main program," in other words, had died.  The
VBI routine, however, was still running, rotating the players just as always.
THAT seems as though it ought to be significant; can anyone be more specific?

   On discovering this situation, I felt around the case (this is an 800, not
an XL or XE) and found that the hottest place was in the right rear, where as
I recall from years ago, the RF drive circuitry lies.  (I'm using a monitor
so the RF circuit is driving NOTHING; can that be enough of a problem to fry
the rest of the machine?)  The "personality board" and three RAM boards inside
the main hatch (BACK of the cartridge slots) were warm to the near-touch, also.

   There's a computer place north of here that for ten bucks will examine your
computer and tell you what's wrong with it.  I am thinking of taking this beast
up there, but I sure don't want them to MISS anything.  From what I've
described, can anyone here suggest the most likely / common cause of this
type of problem?  I should point out that no one else I've known with an Atari
(although most of them are XLs, not originals like mine) has any problem run-
ning the VERY SAME COPY of any of the programs that lock up on my machine.

   Thanks in advance for anything anyone can say.  The disk drive problem is
one thing, but if my main box is fried that's another story entirely.  SPARE 
NO EXPENSE! etc.

    Chris Chiesa
     Ball State University
     Muncie, IN

The following is the code for my short graphics-demo program.  Put it on when
you go to bed tonight, and see if it is still running properly when you get up
tomorrow morning.  If it IS, then I've got a problem.  If it ISN'T then YOU'VE
got the SAME problem.
===========CUT HERE =============== CUT HERE =================================

; STRIPES -- "moving stripes" graphics demo 
;   v4.1, Chris Chiesa, 5/29/88
;
RTCLOK   =   $14
SDMCTL   =   $022F
GPRIOR   =   $026F
SIZEP0   =   $D008
GRAFP0   =   $D00D
COLPM0   =   $D012
COLBK    =   $D01A
CONSOL   =   $D01F
POT0     =   $D200
WSYNC    =   $D40A
SETVBV   =   $E45C
SYSVBV   =   $E45F
XITVBV   =   $E462
;
VBI      =   $06         ; "Immediate VBLANK Vector" - for SETVBV routine
ALLKEYS  =   $07         ; CONSOL value when OPTION, SELECT, START all pressed
COLRINC  =   $10         ; Color-rotation increment (players): clr +1, lum +0
;
DMADSB   =   $00         ; Turn display off entirely 
DMAPM    =   $0C         ; Enable Players/Missiles only
DMAENB   =   $22         ; Enable normal playfield display
;
LMAR     =   $40         ; P/M coordinate "Left Margin" 
MID      =   $A0         ; P/M coordinate "threshold"
RMAR     =   $C0         ; P/M coordinate "Right Margin"
;
         *=  $2000
COLREG   .BYTE 0                        ; temporary Color Register
POSARR   .BYTE $40,$60,$80,$A0,$C0      ; P/M positions 0 - 4
DATARR   .BYTE $FF,$FF,$FF,$FF,$00      ; P/M graphic data, 0 - 4
;
START    JSR INIT             ; Initialize P/M graphics
;
INSTAL   LDX # >SCROLL        ; install P/M "scroll" routine as Immediate
         LDY # !{iuvax,pur-ee,uunet}!bsu-cs!cfchiesa 
cfchiesa@bsu-cs.UUCP