home *** CD-ROM | disk | FTP | other *** search
- Kill2090 v1.0 By John Davis, 26/08/1990
-
- What it does
- ------------
-
- KILL2090/RESET are a set of programs to reset the amiga thru software
- (first asking the user for confirmation), plus it will try to _DISABLE_
- ALL the autoconfig devices in your machine. Since this will include the
- hard-disk controller, this allows you to safely run software off floppies
- without worrying about viruses etc getting at your autoboot/automount
- hard-disk.
-
- If you have the 1mb Agnus, it will also toggle your machine to PAL or NTSC
- screen mode, depending on which version you use (useful for games if
- you've got a PAL machine and useful for gaining screen area if you've got
- a NTSC machine). If you ONLY wish to reboot to a different video mode,
- then the RESET version will do that alone (without disabling your
- hard-disk etc).
-
- Since the actual screen toggle code is run from the cold capture during
- reboot, this means it will work even with games which have a custom
- bootblock (and hence can't have Nico Francois' PAL/NTSC bootblock used on
- them).
-
- In spite of the name, it will actually work with ALL autoconfig boards -
- that includes the 2090a controller, the A590 hard-disk and ram system, the
- 2058/2052 ram boards and hopefully most 3rd party autoconfig devices.
-
- When you reboot you should notice a pause, then the led will blink on/off
- 5 times and the screen will go pink. This lets you know Kill2090's at
- work.
-
- If you've run KILL2090, when it's finished, you should get the amiga
- asking for a workbench disk - your auto-boot hard-disk and all expansion
- memory is now disabled. If you've run RESET your machine should just
- reboot to the chosen video mode.
-
-
- Technical info
- --------------
-
- There is only one source file for all four versions of the program, you
- just vary a pair of conditional flags to build all four - so if you do
- muck around with the source, remember to rebuild ALL versions.
-
- The actual reset routine used , is based on the example in the 1.3 rkm,
- with additional mods described by CATS on usenet for 020/030 based
- systems.
-
- The code for disabling the auto-config boards is based on info gleaned
- from the 1.3 Hardware RKM auto-config docs. Basically what it does is zip
- thru all the boards it can find, and if they support SHUT-UP then it uses
- that to make them disappear, if they don't then it tells them to config
- out of the way at $200000.
-
- Hence by the time exec comes up and looks for any autoconfig boards,
- they're all gone (yes, it's a HACK - but it works :-).
-
- This version is hardcoded to config the any boards boards that can't
- support shut_up to $200000. Earlier versions sent boards to $d00000, but
- if you had a 2mb (or greater) memory board, this resulted in the board
- memory overlaying the custom chips (at $dff000) and causing a system
- crash. Moving boards to $200000 means that even full 8mb boards are coped
- with correctly, in fact that's the _only_ 8mb gap in the system memory
- map.
-
- The disable code is hooked to execbase's ColdCapture vector, this gets run
- VERY early in the reboot sequence (making it ideal for this application -
- it's run before even EXEC is up !!) plus the vector's auto-cleared after
- use (so the patch doesn't hang around - again, exactly what I wanted)
-
-
-
- Possible problems
- -----------------
-
- As I said, portions of this code are somewhat illegal in how they treat
- the system, I've tested the code on as wide a range of machines as I can,
- but there is no way I can guarantee it will work on all systems.
- Basically, for any setup, you're going to have to suck it and see...
-
- specific areas that could be a problem ...
-
- 1) the autoconfig fakeout is 'illegal' ... seems to work on all the systems
- I've tried though ( 2000 r4.3 with 1mb and 2090a, 2000 r4.3 with 2090
- and 3mb ram, 2500/30 w 2090a, 2500/30 w 2090, A500 w A590 and 3mb,
- 2000 r4.3 w Ronin Hurricane 020 )
-
- 2) it seems that some 2000s don't correctly remap the ROM on execution
- of the RESET instruction, or just ignore the RESET pulse ( hardware
- design fault ). Not much I can do about that....
-
- 3) as anyone who's followed the saga of 'the correct code to reset the
- amiga in software, part mcmlxxiv' on Usenet will know, CBM themselves
- can't come up with code that will reliably reset ALL setups. This is
- the latest version of the reset code that doesn't resort to jumping
- to ROM ( here's CATS telling us off for rom-jumping, now they're doing
- it themselves :-).
-
- The reset code should work on most machines ... EXCEPT on the 2500
- you will get the reset, followed by the led-blinking the 2630 does
- on startup (when you can select processors), followed by my code
- running (screen goes pink) and then you'll get a guru. Don't worry,
- just cancel the Alert and it'll still work fine .... since this
- happens ONLY on the 2630 (code works fine on a Ronin Hurricane board),
- I can only put this down to some weird interaction with the 2630
- boot rom ... if anyone has code that PROPERLY resets the 2630 I'd
- love to see it.
-
-
-
- Bug Reports
- -----------
-
- If you find either of the programs don't seem to work on your setup, let
- me know, so as I can work out what I need to do to make this work on as
- wide a range of machines as possible - any and all feedback welcomed!
-
-
- you can contact me at the following electronic addresses :-
-
- bbs: "John Davis" on AmigaINFO BBS, NZ +3-3371-531 (24hrs, 2400/1200 baud)
- Internet/UseNet: chem194@canterbury.ac.nz
-
- or snail mail to
-
- John Davis
- Departmental Programmer
- Chemistry Department
- University of Canterbury
- Private Bag
- Christchurch
- New Zealand
-
-
- Finally, a big thanks to all the people who helped with the Beta testing
- of this program by allowing me access to their hardware -
-
- Terrence Blyth, Andrew King, Joe Begej, Dave Hassall, Stephen Webber,
- Pete Moore, Geoff McCaughan, Peter.B McIntyre, John Nettleton,
- John Bickers, Danny Neville
-
- and to all the people on AmigaINFO BBS for their support and
- encouragement.
-
-