English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware

 
 
Thread Tools
Old 29 June 2013, 02:31   #1
Loedown
Precious & fragile things
 
Join Date: Feb 2009
Location: Victoria, Australia
Posts: 1,946
Random Crash / Memory / Corrupt Graphics Explanation

Many people write about random crashes and similar issues.

The trouble with diagnosing these types of faults is that you literally need to track each and every signal from source to end in order to find out where things are going wrong. In Amiga times it was common to hang all the devices on the address / data bus with a single signal to each chip in order to switch it in and out of the address space and indeed the data path. The signal required for this is either CE / CS / E ( Chip Enable / Chip Select / Enable ) usually active low or the other method is to use buffers which could be used in the same manner such as 74xx244 or 74xx245 ( Octal bus driver, inverting with schmidt triggers and Octal bus driver bi directional non inverting schmidt triggers ). The chips themselves have what is called three state outputs which are either H, L or Hi Z ( High, Low or High Impedance ). High impedance means that they isolate the bus from the chip that they are connected to. Schmidt triggers are a specific chip design that takes away the grey area in +5v logic circuits where anything below a certain trigger level is always interpreted as a logic level 0 or low and anything above that point is always a level 1 or high, it takes away grey areas from the signal sources.

http://upload.wikimedia.org/wikipedi..._graph.svg.png

Each chip that requires access to the data / address bus if it has a CE / CS / E input doesn't usually need the buffer as it has the ability to go into Hi Z state and effectively be removed from the system address space. For anyone familiar with C64 that was how the system worked in switching certain chips in and out of the address space.

The address space is the physical amount of memory that the CPU or controller chips can manage, so for example in C64 you could access 64K of memory which is organized in banks of 256 bytes x 256 pages ( 256 x 256 = 65536 or 64K ) and by selecting various bits in location 0 or 1 or both ( my memory isn't better ) you could effectively remove certain chips from the address space ( like the Kernal ROM ) and have more room for user code. This technique could be considered 'shadowing' where two chips could occupy the same address space but be independently switched on or off to be accessed. The advantage is you can have twice as many things or even more in the same address space but the disadvantage is that only one chip can be active at once otherwise you get bus collisions and corrupt data and you need extra time to switch each chip on and allow it to become ready which takes extra clock cycles and hence lower overall speed.

Now relating solely to Amiga, if you're having a memory problem then you need to check the chips that are responsible for the address and data buffering along with the relevant enable signals going to these chips. This is also sometimes called address or data decoding where you may have one or more logic chips that are controlling which chip is to be activated. Stuck bits are also another issue where one or more of the address or data bits is stuck in a constant 0 or 1 state, this can happen if a memory chip fails or one of the buffers fails, solder shorts or misaligned chips. Logic level 0 or ground will always pull down a logic level 1.

System crashes can occur through faulty chips being brought into the address space and corrupting the data / address bus which results in certain screen colours if serious enough or black screen ( no boot ). You may also see floppy failures or serial / parallel port failures which need to be diagnosed using either signal analyzers or port drivers where you drive certain lines on a port into certain states and make sure that they really are changing. Also in relation to address / data problems there is the possibility that it could be a driver chip or indeed one of the custom chips themselves, feeling around for a hot chip is sometimes a good method but failures can be subtle and appear only after a period of time ( hot / cold fault ) or be random in the case of dry joints or poorly tensioned sockets along with leg tarnish ( not so common in Amigas yet but certainly common for Moog synths )

Graphics corruption happens through the same ways as listed above, whereas in modern PC units and laptops it's usually a failure of the BGA components, so unless you have a GBA rework station you buy a new laptop mainboard or replace your graphics card in a tower. Stachu100 does a great job of keeping the Phase 5 / PPC etc. cards going but due to their use of BGA you will eventually run into problems due the nature of what BGA is. ( Ball Grid Array )

As these machines get older there's more and more problems starting to show beyond the battery / capacitor problems but the common things to keep in mind is that you must have a good PSU, clean voltage rails ( no spikes or ripple ), keep your socketed chips pressed firmly into their sockets and replace if necessary with machined pin type sockets. Don't just leave corrosion because the board works now, it eventually won't and will cost more to repair in the future due to longer diagnosis and track repair times. Try not to pull the machines apart very often and if you need to then make sure you put every component into an antistatic bag or antistatic surface and take extra care when realigning pins. Use a soft brush to remove dust and a vacuum cleaner if its caked on but use a soft head on the vacuum nozzle. Air rushing across a board does generate static so try to do this either with the unit still plugged in and therefore grounded or on an antistatic surface.

I did find this link that may be useful to some, logic analyzers aren't cheap but here's quite a good one depending on your application of course.

http://www.pctestinstruments.com/index.htm
Loedown is offline  
Old 23 July 2013, 22:29   #2
TomCrazy
Registered User
 
Join Date: Dec 2010
Location: Stockholm / Sweden
Posts: 64
I think this is a really great post which can help a lot of people with their troubleshooting.
I would seriously have considered making this a sticky if I was a moderator. Lots of useful information here.
Thanks Loedown for sharing your troubleshooting techniques with us.
TomCrazy is offline  
Old 23 July 2013, 22:49   #3
Cymru
Registered User
 
Join Date: Sep 2012
Location: Dorathea/AT
Posts: 376
Keep in mind a lot of flakey software also brings her to her knees.
Cymru is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
WinUAE random crash BippyM support.WinUAE 7 19 March 2013 20:54
Nitro - Corrupt Graphics Taff64 project.WHDLoad 1 12 November 2011 16:38
Hybris in game graphics corrupt when using winUAE v2.3.2 geecab support.WinUAE 1 17 August 2011 22:47
Graphics Corrupt in Shadow Of The Beast II Krenzathal support.WinUAE 7 15 March 2010 16:19
Graphics card memory->Amiga fast ram? manicx support.Hardware 9 31 July 2003 16:19

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 09:25.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.06087 seconds with 13 queries