Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!rutgers!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: adsp.sw,comp.sys.amiga.tech Subject: Re: ColdReboot() - The Never Ending Story? Message-ID: <13839@cbmvax.commodore.com> Date: 16 Aug 90 16:32:13 GMT References: <03021.AA03021@babylon.UUCP> Reply-To: daveh@cbmvax (Dave Haynie) Organization: Commodore, West Chester, PA Lines: 43 In article <03021.AA03021@babylon.UUCP> rbabel@babylon.UUCP (Ralph Babel) writes: >Brief history: >The current version (AmigaMail March/April 1990) jumps >directly into Kickstart and therefore doesn't co-operate >with boot-ROMs (not to be confused with Autoboot driver >ROMs) that show up at location 0 after a software RESET >(e.g. it leaves the A1000's WCS write-enabled and does not >work with GVP's '030 boot-ROMs - dunno about A2620/A2630). >Presumably this bug also prevents the current versions of >"MMUKick" and "SetCPU ROMBOOT" from working with boot-ROMs. I'm not sure what the GVP boot ROMs actually do, but with the A2620 and A2630, these ROMs are gone forever by the time you're into AmigaOS the first time after a full system reset (eg, powerup, keyboard, or any other condition that yanks both RST* and HLT*). Basically, after a full system reset, the A26x0 ROMs are mapped at 0 and a magic A26x0 control register is mapped into the $00e8xxxx space normally used for AUTOCONFIG units. This magic control register is similar to, but not identical to, a normal AUTOCONFIG unit, and Exec would certainly choke on it. The control register is actually at $00e80040, and it can be written to repeatedly until the configuration bit in the register is set. At that point, this magic control register goes away, normally until the next full-system reset. It is replaced at $00e8xxxx by the configuration unit for the A26x0 on-board memory, which is a true AUTOCONFIG unit understood by expansion.library and all. Any CPU-generated RESET will bring you back to this state, but not back to the initial state where the magic register is accessible or A26x0 ROMs are visible. >Maybe Dave has a good idea on how to turn off the MMU without >pulling the rug from under your own feet (SetCPU ROMBOOT)? If the MMU is on, make sure you're done running any OS code before you turn it off. That's about all you can do. For SetCPU ROMBOOT, I do just this. If you're running under 2.0, SetCPU setfunctions its own reset routine, which will [a] not live in emulated ROM at the time of reset, and [b] turn off the MMU just prior to resetting. >Ralph Babel -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy Get that coffee outta my face, put a Margarita in its place!