RemAPollo & AmigaOS 3.9 + BB2 fix

 
Home    Tutorials    RemAPollo & AmigaOS 3.9 + BB2 fix
 

This is a guide which explains how to get RemAPollo to work with AmigaOS 3.9 with the Boing Bag 2 update installed. I would like to point out however that I will NOT be held responsible for any damage or loss of data which might occur as a result of following the instructions below. There is not much that can go wrong though, the worst case scenario is simply that your Amiga won't boot properly. But it may be a good idea to make a backup of your Startup-Sequence file before you begin, another thing is to make sure that you have a fully working Emergency Disk + the AmigaOS 3.9 CD ready in case your Amiga won't boot properly. You can then use the disk + CD to boot from in order to fix things.
I would also like to mention that this guide assumes that you already have copied the DRAP & RemAPollo files to C: and that you already have patched the 68040.library, if this isn't the case, please read the documentation included with RemAPollo for instructions on how to do this.


What is RemApollo?
RemAPollo is a software package for users of Amiga 1200 computer equipped with 040/060 Apollo Turboboard. It consists of a few files which can be used to remap ROM part of Amiga Operating System, known as Kickstart, to fast memory and boot the computer from it.You can move your physical ROM to fast memory just to gain more speed or you can use wholely different Kickstart image (especially useful if you are a developer). RemAPollo can be downloaded from Aminet.


What is the problem?
If you try to use RemAPollo on your AmigaOS 3.9 partition with the Boing Bag 2 update installed, the result is that when you start your Amiga it will boot and reboot in an endless loop. What happens is a conflict between RemAPollo and the Setpatch command where RemAPollo first will find out that the Kickstart ROM haven't been remapped to fast memory yet, and so it will do this and reboot. When booting again, RemAPollo will correctly be skipped since the ROM already has been remapped. Then the Setpatch command will be run, and now comes the problem: Boing Bag 2 contains a new ROM update which will be initialized with Setpatch, and the thing is that it will assume that the kickstart ROM isn't remapped (it will act directly on the ROM), so after updating the ROM and rebooting again,  RemAPollo will now assume that the kickstart haven't been remapped yet, so it will do this and reboot. Next, Setpatch will assume that the ROM haven't been updated yet, so it will do this and reboot. The result is a mess where both RemAPollo and Setpatch are doing their stuff and rebooting all the time. 

I was able to pinpoint the exact root of this problem, and it turned out that it was the Exec kernel part of the ROM update that was causing all the trouble.


The quick & easy solution!
The easiest solution to this problem is to simply not use the Exec kernel included in the ROM update of Boing Bag 2 at all. You can find out how to do this below:

First of all, make a backup of your Startup-Sequence file! After you have done this, open Startup-Sequence in a text editor and take a look at the beginning of the file, it should look a little like this:
 
; $VER: Startup-Sequence_HardDrive 45.2 (19.1.2001)
; Startup-Sequence for AmigaOS 3.9

If EXISTS C:SquirrelSCSI
    C:SquirrelSCSI
EndIf

Set SCSIUpdate 1
If EXISTS C:IDEFix
    C:IDEFix
    Set SCSIUpdate 0
EndIf
If EXISTS SYS:Expansion/XSurfIDE
    Set SCSIUpdate 0
EndIf
If EXISTS SYS:Prefs/Env-Archive/NOSCSIUPDATE
    Set SCSIUpdate 0
EndIf
If $SCSIUpdate EQ 1
    SetPatch QUIET
Else
    SetPatch SKIPROMUPDATES "scsi.device" QUIET
EndIf
Unset SCSIUpdate


Edit your Startup-Sequence so the beginning of it looks like this instead (changes are in bold text):
 
; $VER: Startup-Sequence_HardDrive 45.2 (19.1.2001)
; Startup-Sequence for AmigaOS 3.9

DRAP
If WARN
RemApollo MAC QUIET
EndIf


If EXISTS C:SquirrelSCSI
    C:SquirrelSCSI
EndIf

Set SCSIUpdate 1
If EXISTS C:IDEFix
    C:IDEFix
    Set SCSIUpdate 0
EndIf
If EXISTS SYS:Expansion/XSurfIDE
    Set SCSIUpdate 0
EndIf
If EXISTS SYS:Prefs/Env-Archive/NOSCSIUPDATE
    Set SCSIUpdate 0
EndIf
If $SCSIUpdate EQ 1
    SetPatch SKIPROMUPDATES "exec.library" QUIET
Else
    SetPatch SKIPROMUPDATES "scsi.device,exec.library" QUIET
EndIf
Unset SCSIUpdate

After you are finished, save the file. Now you should be able to get RemAPollo working. The negative thing about this solution is that the Boing Bag 2 version of the Exec kernel (v.45.20) won't be used, if this is something you find unacceptable, please read "The more advanced & better solution" section below.



The more advanced & better solution!
So the "quick & easy solution" doesn't quite cut it now does it, because you really want to use both RemAPollo and version 45.20 of the Exec kernel? Well read on to find out how to achive this:

First of all I would like to mention that the descriptions below requires that you at least have some understanding about what goes on in the Startup-Sequence, and that you also have some basic knowledge about the AmigaOS Shell/Cli commands, I would also like to mention that there are a bit more work to be done by following this solution.

One great thing about RemAPollo is that it includes a MODULES option which can be used to specify optional files you want to make resident in one go with the Kickstart, and it's this option we are going to use for getting RemAPollo to work with version 45.20 of the Exec kernel. As a matter of fact, we are going to use this option on the entire BB2 ROM update, because you see, the great advantage of doing so is that your Amiga will only need ONE reboot at cold-startup! In other words, RemAPollo will be used instead of Setpatch for doing the ROM updates, but first some preperations has to be made, so please follow the instructions below:

1. Make a directory in your LIBS: named, say, OS3.9
 
2. Copy workbench.library and icon.library from LIBS: to LIBS:OS3.9/
 
3. The RemAPollo documentation suggests that you move these files, but I think it's a better solution to keep them in their original location so that you can easily remember where they really is supposed to be, just "disable" the source files by renaming them to "-workbench.library" and "-icon.library" or something similar so that the system can't find them.
 
4. Copy the RUX file included in the RemAPollo distribution to the Ram Disk, this is to make it easier to specify this file on the command line.
 
5. Assuming the "AmigaOS ROM Update" file is placed in DEVS: (like it should be), open your shell and change current directory to LIBS:OS3.9/ and enter "Ram:RUX A1200"
 
6. Some files will be created, named OS_ModuleX, where 'X' is a successive module number; these are resident modules you should use with MODULES option of Remapollo. If you want to know real name of a module, look at its comment.
 
7. Now the RemAPollo documentation suggests that you remove "AmigaOS ROM Update" file from DEVS:, but this is really not necessary since we are going to use the NOROMUPDATE option of SetPatch when editing the Startup-Sequence, but if you really want to, you can of course just delete the file, or you can "disable" it by renaming it to "-AmigaOS ROM Update".


When you are finished, the contents of your LIBS:OS3.9/ directory should be the following:
 
File:                 Comment:
icon.library
OS_Module1            ROMUpdate 44.57 (25.2.2002)
OS_Module2            exec 45.20 (6.1.2002)
OS_Module3            bootmenu 44.7 (25.2.2002)
OS_Module4            fs 45.13 (3.8.2001)
OS_Module5            filesysres 45.10 (3.8.2001)
OS_Module6            IDE_scsidisk 43.43 (16.1.2002)
OS_Module7            ram 44.23 (8.4.2001)
OS_Module8            console 44.8 (12.6.2001)
OS_Module9            shell 45.7 (13.01.2002)
workbench.library

Notice the "OS_Module6" file since it will be essential upon deciding what to do next, this is because it handles the scsi.device update. I could have written a really sophisticated script to be used as replacement for the beginning of the Startup-Sequence, but instead we are going to simplify things quite a bit in order to make things easier to understand. What you should decide now is whether scsi.device should be updated on startup or not. Just in case you haven't got a clue about what I'm talking about, you can read this page.

Before we proceed, please make a backup of your Startup-Sequence file first! Because now we are going to modify the beginning of the Startup-Sequence quite a bit, as a matter of fact, the entire section from the top to the "Setpatch QUIET" line shall be replaced by one of the listings below (so that the next line after the added listing is the "C:Version >NIL:" line).


If scsi.device should be updated on startup, replace the beginning of your Startup-Sequence with the following:
 
; $VER: Startup-Sequence_HardDrive 45.2 (19.1.2001)
; Startup-Sequence for AmigaOS 3.9
; Modified in order to fix the RemAPollo/Boing Bag 2 conflict.

If EXISTS C:SquirrelSCSI
    C:SquirrelSCSI
EndIf

DRAP
If WARN
 RemAPollo MAC QUIET MODULES LIBS:OS3.9/OS_Module1 OS_Module2 OS_Module3 OS_Module4 OS_Module5 OS_Module6 OS_Module7 OS_Module8 OS_Module9 workbench.library icon.library
EndIf

If EXISTS C:IDEFix
    C:IDEFix
EndIf

SetPatch NOROMUPDATE QUIET


If scsi.device should NOT be updated on startup, replace the beginning of your Startup-Sequence with the following:
 
; $VER: Startup-Sequence_HardDrive 45.2 (19.1.2001)
; Startup-Sequence for AmigaOS 3.9
; Modified in order to fix the RemAPollo/Boing Bag 2 conflict.

If EXISTS C:SquirrelSCSI
    C:SquirrelSCSI
EndIf

DRAP
If WARN
 RemAPollo MAC QUIET MODULES LIBS:OS3.9/OS_Module1 OS_Module2 OS_Module3 OS_Module4 OS_Module5 OS_Module7 OS_Module8 OS_Module9 workbench.library icon.library
EndIf

If EXISTS C:IDEFix
    C:IDEFix
EndIf

SetPatch NOROMUPDATE QUIET


As you probably can see, the only real difference between the two listings is that OS_Module6 is not included in the latter list, I decided to make these two listings just to make things a bit easier to understand. There are also a couple of other things that you should be aware of:

1. All RemAPollo stuff including the modules and libraries in the list should be on ONE SINGLE LINE ONLY! (This is important!)

2. Before you insert any of the above listings in your Startup-Sequence, please check if you have previously inserted any third party patches between the beginning and the SetPatch line in your original Startup-Sequence first. If this is the case, you have to manually insert these patches after you have modified your Startup-Sequence.

3. Check out the contents of the "Modules" directory in the RemAPollo distribution for more modules you can use with RemApollo, just copy the modules you want to use to LIBS:OS3.9 and add them to the end of the RemAPollo line in your Startup-Sequence. Just make sure that you seperate each module with a single space. 


So there you have it, if you followed these instructions correctly and everything works as planned, RemAPollo should now work with the ROM update included in Boing Bag 2 of AmigaOS 3.9.



   Parts of this guide is based upon the documentation that follows the RemAPollo distribution.
   The Apollo1240 picture was "borrowed" and then edited from www.bigbookofamigahardware.com.
   Information about the Apollo 1240 / Magnum 1240 accelerators can be found here and here.
   Information about the Apollo 1260 / Magnum 1260 accelerators can be found here and here.


    Followed a link? Please go to the Main Site                   © Roger E. Håseth  2009