Xref: utzoo comp.sys.amiga.programmer:1736 comp.sys.amiga.hardware:7523 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!wuarchive!psuvax1!uwm.edu!uwvax!daffy!cat52.cs.wisc.edu!pochron From: pochron@cat52.cs.wisc.edu (David Pochron) Newsgroups: comp.sys.amiga.programmer,comp.sys.amiga.hardware Subject: Re: Is OS supposed to zero the TOD clock registers intermittently? Keywords: Intuition TOD clock bugs race condition Message-ID: <1991Mar24.204244.6123@daffy.cs.wisc.edu> Date: 24 Mar 91 20:42:44 GMT References: <1991Mar21.175806.23729@daffy.cs.wisc.edu> <20076@cbmvax.commodore.com> Sender: news@daffy.cs.wisc.edu (The News) Organization: U of Wisconsin CS Dept Lines: 89 In article <20076@cbmvax.commodore.com> jesup@cbmvax.commodore.com (Randell Jesup) writes: > In the past, most cases I've heard of like this (things go haywire >when dragging things) have been caused by blown CIA chips. I suspect that >if you were to swap them you'd see different behavior. > It sounds very much like a CIA hardware bug to me (but remember, I'm >a software guy...). Well, I have found the source of the problem - and it is indeed hardware- related. Unfortunately, it is not as simple as replacing the 8520's - I took my machine apart and swapped them this weekend, and it made no difference. The decision for me to take the machine apart came because I did some more tests and wrote a little "diagnostic" program and it was pretty obvious the OS was off the hook. (And any software, for that matter) Here's what I did: (I feel like an expert system!) 1) On a whim, I decided to try the old "Boxes" program that came with the 1.2 KS release, and lo and behold, the Clock went crazy as soon as it started running! Either there was a bug in "Boxes", or a bug in RectFill, or a Blitter problem. 2) To see if "Boxes" had the problem, I wrote a simple program in "C" that simply opened a window and forever called RectFill() with the x1,y1,x2,y2 coords. in fixed positions. Same thing happened - clock went crazy! "Boxes" was off the hook. 3) To see if it was the RectFill() call, I wrote my diagnostic program - in assembly, with direct access to the Blitter. I opened a screen and set the blitter to do rectangular fills, (source A data set to $ffff, it and all other sources (B,C) turned off. Source D pointed to my screen bitplanes. Oh, yes, and everything was done very legally - Own/Disown blitter calls were made and WaitBlit calls as well, and my own wait blit function which just loops around waiting for the blitter activity to finish. At first, the clock was fine...But, I thought, "This is not really a good test - the OS uses one of the other sources to combine rectangular fills with the existing screen data." So I set up source B to read from some screen data I had on another screen at address 85000 (decimal) POW! The clock started going crazy. RectFill() was off the hook. And what is stranger is this: a) The more bits that are set in the SrcA blitter data register, the more likely memory locations in the CIA chips are likely to get trashed. Ie., a "%1010101010101010" would be fine, but a "%1111101111111111" would make it go haywire, and the combination of bits does not matter, as long as 13-15 bits are set, it will go on a banging spree. b) When setting the source B read address ptr, only certain address ranges would cause problems. I could read from locations like 2048 with no problems, but ranges like 65000-85000 banged on the CIA registers. c) How the heck is it possible for the blitter to be banging on memory way up at $BFE001 anyway? It should be impossible, yet it happens! d) Again, none of this happens when the A2630 card is disabled. Which leads me to believe the problem is: 1) The Agnus chip (original, 512K fat lady) is flaky. 2) The A2630 68030 card is flaky. All of this started when I got the card last year. I wish this were not the case, as it could be very expensive to track down the extact problem and get it fixed. I'd much rather just replace an Agnus chip (with a nice 1meg one, too!) My motherboard is still only rev. 4.2, but I don't know if it and the A2630 card are having a problem. One thing I did notice though, is that the resistor between and just above the two 8520's is burnt brown and bubbly. It looks like a 47-something ohm resistor. (I can rember the exact R-number on the PC board.) I will probably replace it today. I also tried reseating the Agnus chip - didn't make any difference. >-- >Randell Jesup, Keeper of AmigaDos, Commodore Engineering. >{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com BIX: rjesup -- -- David M. Pochron | | Canada: One of the world's greatest mysteries.. pochron@garfield.cs.wisc.edu |