Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!uwvax!uwmacc!uwmcsd1!marque!joeb
From: joeb@marque.UUCP (Bronikowski)
Newsgroups: comp.sys.atari.st
Subject: Re: Mac Emulator (idea!)
Message-ID: <37@marque.UUCP>
Date: Fri, 26-Dec-86 18:42:05 EST
Article-I.D.: marque.37
Posted: Fri Dec 26 18:42:05 1986
Date-Received: Mon, 5-Jan-87 22:10:53 EST
References: <870@ark.cs.vu.nl>
Reply-To: joeb@marque.UUCP (Joe Bronikowski)
Distribution: na
Organization: Marquette University, Milwaukee, WI
Lines: 30
Keywords: Preventing bus errors

In article <870@ark.cs.vu.nl> Patrick@ark.cs.vu.nl (Patrick van Kleef) writes:
>
>People tell me there is a way of preventing bus errors on the ST. This
>type of error is generated by one line of the Glue chip, the so called
>BERR line.
>
>Now what if we disconnected that line? In theory bus errors would be
>impossible. Would it affect 'normal programs'? Will more Macintosh programs
>run? Is there anyone who can figure this out?

     I know nothing about the internal architecture of the ST or Mac, but from
my experience with 68000's I can tell you this much:

     The Bus Error signal (BERR) is generated when no device on the bus
responds to the address strobe with a data-tranfer acknowledge signal (DTACK).
It is usually generated by some sort of timer circuit that watches the DTACK
line; the system designer sets the timer to a little longer than the maximum
acknowledge time of all the devices in his system (perhaps 1 - 2 micro seconds
maximum, for some slow I/O devices).  Thus if you disable the BERR signal
by pulling the pin from wherever it is generated, the micro will essentially
wait FOREVER for that memory access to finish!  Any programs which cause
bus errors would now hang the system.

     A better way to go might be writing your own exception handler and storing
its address in the bus error exception vector (hopefully the ST's vectors are
in RAM and not ROM!).  It probably would be impossible to make the programs
run correctly, but at least you could handle the errors more gracefully.


						Joe Bronikowski