AmigaOS 3.9 to 3.1.4

Or: My Amiga DownUpGrade Journey

A1200 Tower

A1200 hardware specs:

  • Rev 2B A1200 Board (all timing fixes carried out)
    • Clip over PCMCIA fix (Gayle)
    • Indivision AGA Mk2CR
    • EZ-DF0 PC to Amiga Floppy drive adapter
    • Cocolino PS2 Mouse adapter
  • Blizzard 1260 @ 50Mhz
    • 128MB EDO SIMM
  • Mediator TX (6 PCI slots and ATX power supply support)
    • 3DFX Voodoo 3 2000 (16MB)
    • Creative SoundBlaster PCI128
    • Realtek 100Mbps Fast Ethernet
    • Elbox Spider II (NEC) USB 2.0 Card
    • Bigfoot Networks K1 NIC (Used as PPC co-processor)
      • 333Mhz PowerPC processor
      • 64MB RAM
  • Power Computing Power Tower
    • Seagate Barracuda 80GB
    • Toshiba DVD-RW Drive
    • Iomega Zip 100
    • Corsair CMPSU-400CX 400W ATX PSU
  • Iiyama ProLite E1902S
    • 1280×1024 native
    • DVI x 1 (Indivision) |  VGA x 1 (Voodoo) | Audio x 1
  • A4000 Keyboard
  • Microsoft Basic Optical Mouse

A1200 software specs (Before):

  • AmigaOS 3.9
    • IDEFix (via LoadIDE in startup-sequence)
    • BB1/2/3/4 applied
    • Picasso96
    • So many other small tweaks on top it’s not funny …

A1200 software specs (After):

  • AmigaOS 3.1.4
    • IDEFix (via LoadIDE in startup-sequence) [Kept for easy ZIP drive use]
    • Picasso96
    • Less small tweaks than before! Woohoo!

Hardware Changes

Besides installing the ROMs themselves, there was only one other change needed. On the Mediator I needed to change the CONFIG jumper from OPEN to CLOSED – note that this is the exact opposite of what is needed for 3.1 ROMs.

ROMs in place, here we go …

Software Changes

Being inherently lazy, the last thing I wanted to do was a start from scratch install. I had the system in a place where I really liked my setup, and so decided to see what I needed to do in order to get things going by mixing the 3.1.4 release into my current 3.9 install.

From the Workbench disk (or ADF) I copied the contents of the C folder to my current SYS:C folder, overwriting any older versions I already had with those from the 3.1.4 release. I then copied LoadModule from the Modules disk (or ADF) C folder to SYS:C. This means I would now be using the new 3.1.4 versions of LoadModule and SetPatch.

I also copied over the new intuition.library (the file on the Modules disk is called intuition-v45.library) from the Modules disk (or ADF) into LIBS: – this new version allows offscreen windows. This seems a small thing, but makes a huge difference in workbench usability!

Note that it’s also worth grabbing the rest of the libraries, there are small bugfixes throughout many of them. I moved these over (checking version numbers to ensure they were newer) one at a time. So far, the only issue encountered is that the new workbench.library uses rexxsyslib.library to read, set and modify script variables. So make sure you bring both libraries over when copying.

In my S:startup-sequence I edited the SetPatch line to read:

  C:SetPatch >NIL:

as per the FAQ provided with 3.1.4 – I also removed MuMove4K and PoolMem from the SS – as MuMove4K was no longer needed, and PoolMem seemed to cause issues on boot.

I then edited my LoadModule line which was, admittedly, huge – this was simply due to the amount of components I was updating on the fly from disk. The new LoadModule line is a lot simpler:

  C:LoadModule >NIL: LIBS:intuition.library NOMEMFKICK REVERSE

NOTE: The NOMEMFKICK argument I’m using is to prevent LoadModule putting things into Chip RAM – I suspect this may only be required in conjunction with my Blizzard 1260. I would suggest that if you do not have a Blizzard, you try this without the NOMEMFKICK first.

Finally I switched the machine off, and left it for a minute or two, as I wanted to make sure any reset-resident patches were definitely gone. And then, crossing my fingers, I started the machine – perhaps cheering slightly as it booted up without error, this process giving me a functional and incredibly pleasant to use system.

It’s Alive!

Finally, here’s a listing of my current Startup-Sequence:

; Graham's Startup-Sequence for hard drive systems
;Set Echo On

FailAt 20

C:LoadModule >NIL: LIBS:mathieeesingbas.library LIBS:mathffp.library LIBS:intuition.library NOMEMFKICK REVERSE
Run >NIL: C:CopyMem060
C:SetPatch >NIL:

C:SaferPatches INSTALL >NIL:


C:Version >NIL:
C:AddBuffers >NIL: DF0: 15
FailAt 21

C:MakeDir RAM:T RAM:Clipboards


Resident >NIL: C:Assign PURE
Resident >NIL: C:Execute PURE

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

C:Mount >NIL: DEVS:DOSDrivers/~(#?.info)


SetEnv Language "english"
SetEnv Workbench $Workbench
SetEnv Kickstart $Kickstart
UnSet Workbench
UnSet Kickstart


Run >NIL: C:titleshadow


Path >NIL: RAM: C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:Prefs SYS:WBStartup SYS:Tools SYS:Tools/Commodities

SYS:System/REXXMast >NIL:

IF EXISTS S:User-Startup
Execute S:User-Startup

Resident Execute REMOVE
Resident Assign REMOVE

C:StackAttack AUTO

C:DiskSafe REBOOT df0: Storage: Games: Work: AmigaOS:

; Make Workbench Pretty
Assign THEMES: SYS:Prefs/Presets/Themes
Run >NIL: "AmigaOS:VisualPrefs/VisualPrefs"
Run >NIL: C:birdie ? <ENV:Birdie.prefs


What is an IndigoLemon anyway?


This blog has had many things dumped on it over the past few years, almost all of which have been geeky. So yeah, why break with tradition (as new as a given tradition may be).

I’m going to start posting stuff up here to do with my retro computer projects (although likely to be more Amiga focussed) as I’m learning a lot as I go (and these are things I fear I can easily forget again) – so why not document it!

Amiga 1200

My Amiga 1200 didn’t start out as mine, it arrived as part of a Desktop Dynamite pack in Christmas 1993 and was very much the family computer. Of course, at that point all my brother and I wanted to do with it was play games! Which we did. A lot.

My dad did actually use it as a computer however, typing up documents in Wordworth SE and printing them out on a Tandy Dot matrix printer (it was a noisy beast). All this was done while using a Philips 21″ TV as a monitor!

Eventually the inevitable happened, and in late 1996 the Amiga’s days were numbered as the search had begun for a replacement; an IBM compatible PC.

In 1997 a PC Science (where are they now?) machine arrived, running a Cyrix PR166+ processor at 133Mhz (yeah, we fell for the marketing, it was a learning experience to say the least).

Anyway, with the arrival of this new machine, the Amiga moved upstairs into my bedroom, where I pretty much ignored it as I wanted to play games on the shiny new PC downstairs. Sad times!

Eventually it dawned on me that I had a computer sitting right there, that no one else would fight me for use of, and that I’d never fully attempted to learn very much about.

I started prodding it a bit and then, well, that was it. The slippery slope was found, and here I am, almost 20 years later and the same machine is sitting right next to me.