Path: 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 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