🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.tech
Article #2908

Re: ROM-Wack

#2908
From: Dave Haynie
Date: Tue, 23 Jan 1990 18:03
35 lines
2493 bytes
in article <71QR025m81NF01@amdahl.uts.amdahl.com>, dwl10@uts.amdahl.com (Dave Lowrey) says:

>  - I use the FASTROM option of SETCPU on my A2500. When FASTROM is enabled,
>    and I get a GURU, I have to boot twice. After the "Software error..."
>    requestor, I get a blank (white or gray) screen. The 3 finger salute
>    brings up the GURU alert. Then either the "left button" (and right
>    button also, whats the difference?) or another 3 finger salute, will
>    re-boot the system. Why does this happen?

When you specify FASTROM, SetCPU will take your ROM code, copy it to a buffer
in your 32 bit memory, set up the appropriate MMU table, and then bang the
MMU such that this RAM buffer is now mapped to the location of the ROM.  Thus
you magically appear to have a 32 bit ROM, and things go faster.

The problem is when you get a GURU, and the ROM code decides to reset the 
system, via the 680x0 RESET instruction.  The MMU is an extension of the CPU
register map, and just like any other part of the CPU, it remains intact
through a RESET.  However, the rest of the world, including any cards that
have been autoconfigured (eg, the 32 bit memory in your system), get reset.
So bascially, that RESET instruction yanks the ROM out from under the system.
As you might expect, this kind of hangs things until a full system reset
(powerup or keyboard) comes along and bangs the MMU registers back to their
harmless state.

The easiest way to make SetCPU handle this would be to have an operating system
call for reset that everything in the OS uses.  That would allow SetCPU to
vector that Reset() function with SetFunction() to a reset function that
knew what SetCPU was doing.  Though hopefully next time around the OS will
know more about the MMU and handle things even more robustly....

> "What is another word  |  Dave Lowrey    | [The opinions expressed MAY be
-- 
Dave Haynie Commodore-Amiga (Systems Engineering) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
                    Too much of everything is just enough
Technical Details
Message-ID: <9437@cbmvax.commodore.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!apple!rutgers!cbmvax!daveh
References: <71QR025m81NF01@amdahl.uts.amdahl.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!apple!rutgers!cbmvax!daveh
From: daveh@cbmvax.commodore.com (Dave Haynie)
Newsgroups: comp.sys.amiga.tech
Subject: Re: ROM-Wack
Message-ID: <9437@cbmvax.commodore.com>
Date: 23 Jan 90 18:03:48 GMT
References: <71QR025m81NF01@amdahl.uts.amdahl.com>
Organization: Commodore, West Chester, PA
Lines: 35