I've updated this guide because of the release of 3.2.1 (the process is largely the same) but also because I've figured out a good way of being able to switch between the Scalos and Amiga Workbench loadwb commands.
I've just finished updating my installation to Amiga OS 3.2. I wanted to keep ClassicWB and to not have a completely fresh install as I've been using my current set up for about 7 or 8 years and it's highly tailored. I use the AdvSP version of ClassicWB.
I practiced this using a backup of my real Amiga in WinUAE.
1: Make a backup. If you can't do everything, then, as a minimum:
- startup-sequence
- user-startup
- the .info files for all the icons in your system: drive
- If using a version of ClassicWB with Scalos, backup c:loadwb
2: Install 3.2 using Intermediate User options.
- When asked about keeping old files, ensure you don't remove c:execute. Many of the ClassicWB buttons require this. This was excluded as a command in 3.2 but reintroduced in 3.2.1.
- Don't install GlowIcons
3: After installation and before reboot edit s:user-startup and remove (or better, comment out by adding a ; to the beginning of the line) any attempts to run rexxmast. This is now called from the main startup-sequence and will cause errors if you leave them all to run.
4: Save your changes then reboot. You'll get a clean 3.2 environment. If you get a warning about rexxmast and stuck at the command prompt, just type 'loadwb' to get to the GUI and check the actions from step 3.
When you successfully boot you need to update S:startup-sequence. This is where it starts getting more intricate. As the startup-sequence will change for each person I can't give step-by-step instructions to cover various scenarios.
5: Backup the new s:startup-sequence
6: Edit s:startup-sequence. Also open your backup of the original startup-sequence so they are both open. You should be able to copy & paste between the two.
7: Migrate parts of the old startup-sequence block by block. If you want to reduce risk, save at each step and reboot. If it stops booting then you know which step caused it.
8: Some parts are repeated so avoid duplication. My merged startup-sequence is attached for reference. Don't just copy it as it might not work for you.
9. Overwrite the new .info files with the backup if you want to restore the ClassicWB look and feel.
If you want to go back to Scalos, follow the remaining steps:
10: After completing startup-sequence changes backup the new loadwb and replace it with the original Scalos loadwb command
11: Four new commands added to WBStartup won't work with Scalos so move them somewhere so they don't run on startup (I made a folder in WB Startup called '32' and moved them in there). These commands are:
- Autoarrangeicons
- Assignwedge
- Deficons
- Menutools
(This WILL mean you lose SOME functionality of OS3.2. It's up to you to stick with WB or Scalos. If you don't follow step 10, you can use these commands but you can't use SCALOS.)
12: In Scalos Prefs, disable Transaparency for Newicons if you use them.
NEW SECTION: enable a way to choose between the versions of loadWB that come with OS 3.2/3.2.1 and Scalos. This requires you to have ButtonMenu (which is included in some versions of ClassicWB, I don't know if all).
13: If backed up as per step 1, you now have two versions of loadwb. Rename the Scalos (backed up) version to loadwbscalos and copy it to C:
14: Make a copy of your current S:startup-sequence and rename it to startup-sequence-scalos
15: Edit the new startup-sequence-scalos and replace 'loadwb' near the end with 'loadwbscalos'. Save the changes, making sure you know where the file is saved (mine is in S:)
16: Run ButtonMenu (on my machine it's in System:System/Bmenu/)
17: Open the BootMenu datafile (on my machine it's in System:System/Bmenu/Menus/)
18: Create a new item and called it something that will be meaningful to you (mine is called 'Workbench 3.2.1 Scalos')
19: In the DOS Command box enter 'C:Execute S:startup-sequence-scalos') and tick the 'Run command in background' box.
20: Save the change to the menu.
In summary you have now created a second version of startup-sequence which will specifically load the loadwb command which is part of Scalos and created a way of choosing between the two. The non-Scalos version will boot by default, the Scalos version will boot if you hold down the right mouse button on boot and you select the new boot option from the menu presented. (Obviously you can choose to boot to Scalos by default and have the Amiga workbench as an option by changing which startup-sequence and loadwb command you edit/rename).
END OF NEW SECTION
The below startup-sequence contains a lot of commented out lines which I need to delete, but I've added comments to show what was in the original 3.2 SS and what I copied in.
; $VER: Startup-Sequence_HardDrive 47.14 (7.3.2021)
; Startup-Sequence for hard drive systems
;Original part of 3.2 SS
Version exec.library version 47 >NIL:
If Warn
LoadModule L:System-Startup ROMUPDATE
EndIf
;end of original
;Copied by me
C:GetMouseInput LOCAL
IF $MouseInput EQ 1
Unset MouseInput
C:SetPatch QUIET
C:Assign >NIL: ENV: RAM:
C:Assign >NIL: T: RAM:
C:Assign >NIL: Genetics: system:games/g/geneticspecies
C:Execute S:Maxmem-Sequence
EndCLI >NIL:
EndIF
IF $MouseInput EQ 2
Unset MouseInput
C:Execute S:Bootmenu-Sequence
EndCLI >NIL:
EndIF
Unset MouseInput
;end of copy
;original
SetPatch >NIL:
;end of original
;copied by me
;C:SetPatch QUIET
C:Assign >NIL: ENV: RAM:
DEVS:Monitors/PAL
;C:syspic c:bootscreen.iff SO VC Fadein 2 Fadeout 2 R=0 G=0 B=0
C:syspic C:AC.script >NIL:
;C:MUmove4K PREPAREEMUL A1200
;C:MUfastZero ON
;end of copy
;original
;------------------- CPU CheckInstall Section ------------------------
FailAt 31
CPU CHECKINSTALL
SET temp1 $RC
If VAL $temp1 EQ 30
ECHO ""
ASK "Press the RETURN key to resume booting into a restricted system."
Execute S:Startup-failsafe
QUIT
EndIf
If VAL $temp1 EQ 5
ECHO ""
ASK "Press the RETURN key to resume booting."
EndIf
UNSET temp1
;---------------- End of CPU CheckInstall Section --------------------
;end of original
;copied by me
IF EXISTS C:StackAttack
C:StackAttack
EndIF
IF EXISTS SYS:WBstartupD
C:Rename >NIL: SYS:WBStartup SYS:WBStartupM
C:Rename >NIL: SYS:WBStartupD SYS:WBStartup
EndIF
;end of copy
;original
FailAt 10
Version >NIL:
Assign >nil: EXISTS DF0:
If not warn
AddBuffers DF0: 15 >NIL:
EndIf
If EXISTS ENVARC:
MakeLink RAM:ENV to ENVARC: FORCE
Else
MakeDir RAM:ENV
Endif
MakeDir RAM:T RAM:Clipboards
Resident >NIL: C:IconX PURE
Resident >NIL: C:WBRun PURE
Resident >NIL: C:Assign PURE
Resident >NIL: C:Execute PURE
;end of original
;copy
IF EXISTS L:env-handler
; C:MakeDir RAM:T RAM:Clipboards
L:env-handler
C:Copy >NIL: ENVARC:Sys/def_kick.info ENV:Sys/def_kick.info
ELSE
; C:MakeDir RAM:T RAM:Clipboards RAM:ENV RAM:ENV/Sys
C:Copy >NIL: ENVARC: RAM:ENV ALL NOREQ
; Assign >NIL: ENV: RAM:ENV
EndIF
;end of copy
;original
Assign ENV: RAM:ENV
;end of original
;copy
Assign >NIL: T: RAM:T
Assign >NIL: CLIPS: RAM:Clipboards
Assign >NIL: REXX: S:
Assign >NIL: PRINTERS: DEVS:Printers
Assign >NIL: KEYMAPS: DEVS:Keymaps
Assign >NIL: LOCALE: SYS:Locale
Assign >NIL: LIBS: SYS:Classes ADD
Assign >NIL: HELP: LOCALE:Help DEFER
IF EXISTS C:BlazeWCP
C:BlazeWCP
EndIF
IF EXISTS SYS:System/FBlit/FBlit
SYS:System/FBlit/FBlit
SYS:System/FBlit/FText
ELSE
C:Copy >NIL: SYS:Prefs/Presets/Newicons.prefs ENV:Newicons.prefs
EndIF
;end of copy
;original
FailAt 21
Assign PRINTERS: DEVS:Printers
Assign KEYMAPS: DEVS:Keymaps
Assign LOCALE: SYS:Locale
Assign LIBS: SYS:Classes ADD
Assign HELP: LOCALE:Help DEFER
;BindDrivers
BindDrivers
C:Mount >NIL: DEVS:DOSDrivers/~(#?.info)
LoadMonDrvs >NIL:
FailAt 10
SetEnv Language "english"
SetEnv Workbench $Workbench
SetEnv Kickstart $Kickstart
UnSet Workbench
UnSet Kickstart
;end of original
;copy
IF EXISTS C:IconBeFast
C:IconBeFast 0
EndIF
;end of copy
;original
AddDataTypes REFRESH QUIET
IPrefs
ConClip
If EXISTS SYS:System/RexxMast
SYS:System/RexxMast >NIL:
EndIF
;end of original
;copy
Path >NIL: RAM: C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:Prefs SYS:WBStartup SYS:Tools SYS:Tools/Commodities
;copy
;original
MakeLink RAM:Disk.info TO ENVARC:Sys/def_RAM.info SOFT
IF EXISTS S:User-Startup
Execute S:User-Startup
EndIF
Resident Execute REMOVE
Resident Assign REMOVE
;end of original
;copy
IF EXISTS C:StackAttack
C:StackAttack AUTO
EndIF
;end of copy
;original
LoadWB
;the above command is the one you would change to something like 'loadwbscalos' when following my instructions for dual booting.
EndCLI >NIL:
;end of original