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

util/boot/bk_rangercheck.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Replace exec.library's RangerMem check
Author:henryk.richter at gmx.net (Henryk Richter)
Uploader:henryk richter gmx net (Henryk Richter)
Type:util/boot
Requires:util/boot/BlizKick or Remus
Architecture:m68k-amigaos
Date:2017-08-23
Download:http://aminet.net/util/boot/bk_rangercheck.lha - View contents
Readme:http://aminet.net/util/boot/bk_rangercheck.readme
Downloads:929

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

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>