home *** CD-ROM | disk | FTP | other *** search
- QuickROM
-
-
- Synopsis: remaps Kickstart to FAST RAM, using 68060 or 68040 MMU
-
- $VER: QuickROM v36.07 (3-May-1998) by Simon N Goodwin
-
- This makes operating system code much faster by making a copy of
- Kickstart - the built-in part of the Amiga's operating system -
- in fast memory. It does this dynamically and can be activated or
- deactivated at any time.
-
-
- COMPATIBILITY
-
- QuickROM was written and tested on a Mark 2 Cyberstorm 68060, more
- than doubling the speed of access to Kickstart code. It has also
- been tested on GVP's G-FORCE 68060 (A2000, A3000 or A4000 versions),
- Commodore's 3640 A4000/040 card (where it helps a bit, but hampered
- by its very slow 'fast' RAM interface) MacroSystem's Warp Engine
- 68040/33 and a Cyberstorm Mark 1, which is even faster than the
- Mark 2. Nic Wilson's KickSpeed tester (from Set040) reads ROM 2.4
- times faster on Mark 1 Cyberstorm hardware after running QuickROM.
- The advantage is almost as great on Mark 2, and can be even more
- on a Mark 3 (PPC or 060), Warp Engine or GVP accelerator. For the
- most advantage - up to 30 times or more in some cofigurations - run
- it on a 16 bit Amiga (e.g. A2000) with a Zorro-based 68040 or 68060
- accelerator. The relocation will also boost the speed of access to
- chip RAM, custom chips and other Zorro cards in this case, as it
- eliminates many potentially contentious accesses to slow 16 bit
- motherboard resources - eliminating 16 bit ROM accesses leaves
- more time for everything else in the 24 bit address space. If you
- try it on any system not listed above, or encounter any results
- which you do not expect after reading this documentation, please
- contact the author with details by email: simon@studio.woden.com
-
-
- COMPARISONS
-
- QuickROM is not the first such program - it follows in the path of
- the shareware Set040, written before Amiga OS made use of the MMU,
- and Commodore's developer-only MAPROM (which uses special mapping
- hardware) and later commercially-bundled commands like KSREMAP,
- WARPKICK and ROM2FAST, but it is free, concise, more compatible
- and has features which some others lack.
-
-
- ADVANTAGES
-
- The advantages of QuickROM over the proprietary versions are:
-
- * Freely distributable, with full assembly language source code
- and copious comments explaining its strengths and weaknesses.
-
- * Allocates RAM from the top of memory to minimise fragmentation.
-
- * Allows de-allocation as well as allocation, freeing 516K memory.
-
- * Full diagnostic Exec result codes for cases when it can't work.
-
- * Does not use undocumented 68060.library hooks, so it should work
- fine on any other 68060 or 68040 system with an MMU, unlike some.
-
- * Works with 1 Mb ROMs as well as Commodore 512K ones, and uses the
- documented method to find the ROM size, so it should suit other
- sizes too, as long as they're in the first 32 Mb of address space
- (likely as the MAGIC_ROM_SIZE needs to be at address 16 Mb - 20).
-
-
- LIMITATIONS
-
- * Requires an MMU, and won't work with old 68030, 68451 or 68851 ones.
- There are already plenty of Kickstart re-mappers for those systems.
-
- * May get confused in the MMU table setup or ROM location is radically
- changed in some future Amiga. This program is inevitably architecture-
- and processor-specific, although I've tried to make it fairly flexible.
-
- * No messages. Check the return code to find out EXACTLY what happened.
-
-
- ERROR CODES
-
- Type SET after the QuickROM command to see the return code (RC).
-
- 0 indicates success. Other values indicate failure and the reason why.
-
- 20 indicates that Kickstart has already been remapped by some other
- program. QuickROM takes no action in this case, or others below.
-
- 22 signifies that there is not enough fast memory in one piece for the
- ROM image and associated data. QuickROM requires a contiguous 516K.
-
- 24 indicates that the MMU is using 8K pages. QuickROM expects 4K pages,
- for compatibility with Setpatch, Enforcer, Cyberguard and other MMU
- programs. The source file includes untested code for 8K page support.
-
- 26 indicates that the MMU is not enabled. This may mean that it is not
- available in silicon (e.g. on an EC040 or EC060 processor. These
- configurations have not been supplied as standard in any Amiga to
- date, but they do work (without the MMU_) fr instance I've got a
- C= 3640 with an EC040 on it, having moved the original XC040 to a
- Warp Engine.
-
- 28 indicates that the MMU has not been initialised. Normally this is a
- function of SetPatch (except early versions) in conjunction with the
- 68040 or 68060 library. Enforcer also sets up MMU tables if they do
- not already exist.
-
- 30 indicates that the processor is too old, i.e. not a 68040 or 68060!
-