Gforce 040
One of the problems is that the A3000 generates a Bus Error exception via
hardware when bad software accesses non-existant RAM (read or write). The
handler code for this is 030 specific and causes an Illegal Address
Exception (Usually). My next version of Fastrom040 installs its own handler
if an 040 is detected and crashes are less frequent. Also the CacheControl
functions are badly broken in 2.04 because they assume only the default
setup for the Data Transparent Translation registers, where the MMU is off.
The weird thing is the 2.04 030 Bus error handler just fakes the access and
returns, effectively eliminating the need for the Bus Error generator in
hardware.
-Greg
– via Whap!