AminetAminet
Search:
84739 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/boot/bk_rangercheck.lha

Mirror:Random
Showing: m68k-amigaos iconppc-amigaos iconppc-morphos iconi386-aros iconi386-amithlon iconppc-warpup iconppc-powerup icongeneric icon
No screenshot available
Short:Replace exec.library's RangerMem check
Author: henryk.richter at gmx.net (Henryk Richter)
Type:util/boot
Architecture:m68k-amigaos
Date:2017-08-24
Requires:util/boot/BlizKick or Remus
Download:util/boot/bk_rangercheck.lha - View contents
Readme:util/boot/bk_rangercheck.readme
Downloads:1027

This blizkick module (usable in Remus, as well) replaces the Ranger Mem detection 
routine in exec.library by a complete rewrite. The Ranger Mem is also known as
A500 Slow RAM or $C0 RAM. Although expansions for this type of RAM are only 
available to the 16 Bit Amigas (A500/A2000, possibly A1000), this check is present
in all exec versions. 

There were two reasons for me to dig into this. For one, the original routine 
occasionally mis-detects memory when the kickstart is executed from local FastRAM.
In addition, checked memory locations are not restored after testing, potentially
destroying reset-proof data (like RAD: or resident kickstart modules).

My replacement routine avoids these two issues while still carefully navigating
through the memory layout, where the $C0 range mirrors to the custom register range
on some computers. Extensive tests have been performed on several Amiga models 
to date (A500/A600/A2000/A1200/A4000). The replacement routine is even shorter
than the original. 

I've placed the code into public domain but would still appreciate attribution, 
if my routine is re-used in any project.

The replacement was tested with the following exec versions, so far:
- 34.5  (1.3)
- 40.10 (3.1)
- 45.20 (3.9BB2)
- 45.23 (3.X)

Rostock, 03-Aug-2017, Henryk Richter

Usage instructions in Remus (brief)
- set up the list of modules to be included in kickstart (as usual)
- place  the rangermem module into the list of modules, somewhere after "exec"
- if the rangermem module doesn't report a failure on "compile", then the patch
  was successfully applied

History
0.3 - changed register usage to make it work with Kick1.3 better
0.2 - fixed a typo in the definitions, previously broke A2000 support
0.1 - first test


Contents of util/boot/bk_rangercheck.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[generic]                 3335    8414  39.6% -lh5- 3ca1 Aug  1  1980 rangermem_blizkick03/blizkickmodule.i
[generic]                  582     716  81.3% -lh5- 7544 Aug 19  1980 rangermem_blizkick03/rangermem
[generic]                 3330    7813  42.6% -lh5- d0aa Aug 22  1980 rangermem_blizkick03/rangermem.asm
[generic]                 1066    2014  52.9% -lh5- f545 Aug 23  1980 rangermem_blizkick03/rangermem.readme.txt
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         4 files    8313   18957  43.9%            Aug 23 20:42
Page generated in 0.03 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>