Short: VbrMove - Move vector base to FASTRAM Author: *Art Uploader: Jess Sosnoski (jlsosn planetx bloomu edu) Type: util/boot Architecture: m68k-amigaos VBRMove 2.3 - (C) 1991-1994 Arthur Hagen =================================== Posted to the Public Domain Requirements: Any Amiga version. Any KickStart/WorkBench version above 1.1. Processor: 68010/68012/68020/68030/68040. RAM: Minimum 256k CHIP-mem and 1k FAST-mem. If you have an Amiga with a 680xx (xx >= 10) processor, as well as fast-memory, you might take advantage of the processors ability to have the vector base set anywhere in memory instead of just at address zero. On the Amiga, address 0 and upwards is defined as chip-memory, which is slower than fast-mem. By setting the Vector Base Register (VBR), the interrupt-vectors could be located anywhere in memory, and by moving them to fast-mem, all routines that uses interrupts or similar will be speeded up marginally. VBRMove will allocate 1k in TRUE fast-mem (not slow-mem) if possible, copy the old frame and set the VBR to point there. Just include VBRMove in your startup-sequence (or similar) to take advantage of this. VBRMove is both reentrant and relocatable, which means that it is both pure and romable. WARNING! ACHTUNG! ATTENZIONE! ADVARSEL! Some programs (and viruses) set the interrupt vectors directly in the lowest 1k of your memory without neither testing the VBR first nor using the system routines, and if you have run VBRMove or any similar program first, these vectors will never be called. So, if you want 110% compatibility with all code, DON'T run VBRMove or any similar program. I especially feel I should warn you about demos and game programs (especially those made by german or french programmers), as they as a rule break all rules! If you intend to use some of these programs, I recommend that you run "VBRevoM" prior to executing them. VBRevoM? It is a small program that moves the reset vectors back to address 8+, and frees the 1k that VBRMove allocated. (Actually VBRMove also does this, but acts as a on/off-switch. VBRevoM will always make sure that the VBR is unset after running.) Some of the programs that won't run with the VBR set, which is a pity since the programs otherwise are both HD-installable and runs under the 2.0 version of the O/S: X-Copy - all strains and versions. Silent Service II Their Finest Hour Populous II Cruise for a Corpse If you really want to run one of these AND VBRMove, make a batch-file that looks something like this, and call it instead of the program itself: VBRevoM >NIL: X-Copy VBRMove >NIL: If you are a developer and read this, please PLEASE read Commodores specifications on what you are allowed to do, and what you shouldn't do. To write directly to the lowest 1k of memory is absolutely for- bidden, as you have been told repeatedly! The program Enforcer should be of great help. And - Dear Commorore! PLEASE don't allow software companies to stick the labels boosting 2.0-compatibility all over their products if the software isn't written according to your specifications! Enjoy, *Art