The Gig of Ham

One geek's contributions to the series of tubes

Jul 1, 2018 - 19 minute read - Comments - amiga retrocomputing sysadmin howto

Procedures for a fresh install on an Amiga with Colanto 3.X ROMs

The last few years, I’ve fallen very far down the rabbit hole of retrocomputing with classic Amigas. I worked with an Amiga 600 (I think) while I was volunteering at community television in the 90s. Sadly we had a very basic install, only a genlock and broadcast titler, but we longed for a full blown Video Toaster setup. I longed for it more than the rest of the volunteers. So, when the opportunity to build an Amiga 2000 with a toaster presented to me I grabbed it with both hands. I learned a lot, but running older machine has been harder and harder as technology advances. Fortunately the Amiga community is still very active so there are some wonderful new toys, but like everything in retrocomputing there are some bumps. Ideally I would just link you to a basic ADF that can have drivers added to suit your needs, but it’s super unclear to me if I can legally distribute that. So, I will instead walk you through the process of making it.

The history of Amiga is…complicated. This unfortunately means a lot of the modern improvements are a one step forward, two steps back kind of affair. The rights to the Amiga Workbench are currently split between two companies: Hyperion Entertainment and Colanto. They don’t seem to like each other and that sadly puts the classic Amiga community in the crossfire. I only mention this because both have recently released new versions of the Workbench OS and ROMs. Colanto released new ROMs which have a version of 3.X - and these have numerous improvements. They also released a new Workbench 3.X OS which is only available as drive images included with Amiga Forever 7. I’ve not had much luck getting these to work on actual hardware, but it works great in emulation. Hyperion has also recently released new ROMs, but they only contained some copyright notice and artwork changes vs the Amiga 3.1 ROMs. Hyperion also recently released a new Workbench 3.1 OS with a lot of great patches, but it’s been pulled over rights disputes. I really want to use the Hyperion 3.1 patched installer, but here we are. So far I have found BetterWB to be a reasonable compromise of features, performance, and bug fixes in the mean time.

The Colanto 3.X ROMs

That all said, the 3.X ROMs from Colanto have a lot of great improvements: more modern FastFileSystem libraries that can handle larger drives, newer scsi.device code that support larger drives, and other numerous improvements and bug fixes. Sadly, they are limited by the same restrictions of the classic hardware: only 1MB of space in the ROMs. This means that in order to make room for all these great improvements, something had to be left behind. In this case, that was the workbench.library. That means if you have the 3.X ROMs installed, the Workbench 3.1 OS won’t show the “Intuition” desktop environment without that library, and there is not enough room on the original install disks for this library on the Install and Workbench disks. What about AmigaOS 3.5 and 3.9? No such problem, both install their own workbench.library on the system disk.

“Great!” you say “Let’s just use OS 3.9, it’s the latest version!” Well, let’s talk about that…

Thoughts on Amiga OS 3.5 and 3.9

I’ll be honest, I’m not a big fan of 3.5 and 3.9. To be fair, they are a product of their time and the state of the Amiga ecosystem when they were released. They were both made under contract for Escom (owner of Amiga at the time) to enhance 3.1 for the only machines they were shipping: the A1200, A4000, A4000T, and CD32. These are all AGA chipset based, and had at least a 68020 processor in them. This is shaped the basis for the minimum requirements of the systems. This means running them on older systems is basically impossible without a minimum of a CPU upgrade. That’s strike one.

The world was changing at the time as well, this thing called The Internet was coming to life. The Amiga wanted to play on the Internet, so OS 3.9 includes parts of core components required to connect to The Internet. Sadly, 3.9 being a snapshot in time has very old, broken components built in. The community moved forward and built better components, but they have compatibility issues on 3.9 because the older components are baked into the OS. Strike two.

Finally, OS 3.5 and 3.9 only shipped on CD-ROM. Which is fine, except you can’t boot off a CD on any classic Amiga. You also cannot put a CD-ROM in many classic Amigas so installing is super, super hard. On top of this the source code was never returned to the Amiga rights holders (as it was not part of the contract) and the contractor is long out of business. This makes it a dead, lost fork of 3.1 in an even worse rights situation than the rest of Amiga’s OS. These factors combine to make it three strikes and you’re out in my book.

I’ve used 3.9 on my A1200, and it was…fine. Installing it was a pain. Maintaining it was harder, so I personally stick with Workbench 3.1 with BetterWB on all of my systems at this point. It’s personal preference, and your mileage will vary. To make a modern analogy, 3.9 feels like Windows 10 (bold promises and lots of rough edges that need a lot more work, only in the case of 3.9 they won’t happen), 3.5 feels like Windows 7 (an evolutionary step, but it’s past it’s time), and 3.1 feels more like Windows XP (fast, mostly stable, lightweight, and old but that’s the point when running a retrocomputer). Installing OS 3.9 requires an “Emergency Boot Disk” which contains some magic and is very hardware specific. So, at the end of this guide to install BetterWB with the 3.X ROMs, I’ll give you the next couple of steps to jump from there to OS 3.9 if you want. Why BetterWB first? It gives you all the parts you need to get CD support working with minimal fuss.

Requirements to get started

  • You’ll need a classic Amiga
  • Persistent storage for your classic Amiga
  • You’ll need a way to use ADF floppy images on your classic Amiga
  • You’ll need a PC running Windows 7 or later for…
  • A copy of Colanto’s Amiga Forever version 7 or later
  • The floppy images for BetterWB
  • Various updated utilities and libraries from Colanto (https://www.amigaforever.com/classic/download/)
  • Disk controller driver and partitioning tools (if required), otherwise HDInstTool
  • The Colanto 3.X ROMs for your classic Amiga (A500, A600, A2000, A3000(T) and A4000(T) are supported)

Wait, floppy images?

So, let’s talk about floppy images. It’s 2018 as I’m writing this. The last factory that was manufacturing 3.5” diskettes shut down two years ago. Floppy drives haven’t been manufactured for even longer. I believe in preservation, and I have a couple of working drives and a couple dozen blank floppy disks I have tracked down, but they are the exception. These days I have migrated to floppy emulators, and it’s glorious.

I use the GOTEK floppy emulator platform, with the open source FlashFloppy firmware. I usually put the 128x32 OLED module in the GOTEK in place of the 3 digit 7-segment display, which makes the whole experience amazing. You can load ADF images into folders on any FAT32 formatted USB storage device. The downside is that unlike using an ADF in the various Amiga Emulators, there is no turbo mode. It’s just as slow as the real thing, but at least it’s quieter and has no moving parts.

Tips and tricks for modern storage on your classic Amiga

Being a product of the 90s, Amigas use either IDE or SCSI for persistent storage. They also have the limits of products made during that time, mainly that many parts of the software don’t deal with drives over a few hundred megabytes in capacity very well. Part of the reason for using the 3.X ROMs is that many of the major roadblocks to using modern storage are fixed or have workarounds. This is why I use 3.X on every Amiga I own.

If your Amiga has a SCSI controller I recommend using the SCSI2SD product line. As of writing, there are two major variants: V5 and V6. For most Amiga use cases, the V5 exceeds the capabilities of most Amiga SCSI controllers. This is good news, since the V5 hardware platform is much cheaper and more easily available.

If your Amiga has a 40 pin IDE interface, I recommend using a SATA/IDE bridge and an inexpensive SATA SSD. It’s an inexpensive, durable, reliable, and has great performance.

If your Amiga has a 44 pin IDE interface, I recommend using a Industrial Disk on Module device. The ones I linked are way faster than the CF/IDE adapters I’ve tried, and they fit under the keyboard of A1200 or A600 systems without issue. They are only single port, so if you want to add a CD/DVD drive you would need something like a specially designed buffered interface which will allow multiple devices, but also presents a 40 pin IDE interface (so see above).

Now that you have a drive, let’s talk configuration. Despite the upgrades in the 3.X ROMs, you can run into serious problems if your primary system drive (or any volume formatted with FFS) is larger than 1GB in size. For safety’s sake, I typically make any volumes that are going to be formatted with FFS 999M or below. For installations using the SCSI2SD device, I typically make 3 virtual disks: two under 1GB and the third for the remainder of the disk. For the IDE devices, just partitions seem to work.

Speaking of partitioning, let’s talk about that. There are many tools out there, and if your hardware doesn’t require using a specific one (like Force5 or GVP) then I’ve had the best experience with HDInstTool. The stock HDToolBox is not “64bit clean” which means it has a hard problem dealing with larger drives and easily makes invalid tables when presented with one. HDInstTools isn’t perfect, but tends to work better. There are some issues, like partition sizes cannot be multiples of 4GB, but they can be worked around. It also supports additional filesystems like PFS3 more easily than the stock Amiga tools. The important thing is: pick a partitioning tool and only use that tool for the life of the disk. Mixing tools causes all sorts of problems.

If your hardware requires specific partition tools, spend some time on aminet and the various forums to find the latest versions. They tend to have better support for larger drives. The important thing to remember about partitions tools: use one and only one. Changing tools after you have initially sliced your disks is a recipe for corruption and data loss.

Let me take a moment to talk about filesystem at this point. I typically make the first two volumes FFS and the rest PFS3. It’s technically possible to boot off of a PFS3 filesystem, but I find it’s easier to work with the native FFS instead. The second volume being FFS just makes it easy to place things like updates, drivers, tools, etc and access them if your primary volume becomes corrupt. Very few boot disks support anything beyond OFS and FFS - so that’s why I prefer FFS for the “Workbench” and “Work” volumes. BetterWB comes with almost everything you need to use PFS3 volumes, which is a much better choice for larger volumes anyway. Obviously if you are going to jump to 3.9 you’ve got some more work ahead of you.

Building a 3.X Boot Floppy

Now that you have a disk (or disks), and some tools to manage it, we can get started. As I said in the introduction, the stock WB 3.1 disks won’t fully boot with 3.X ROMs installed. We’ll need to make our own, which is the primary point of this article.

To start you are going to need to install Amiga Forever 7 on your Windows PC and then download and launch the “Workbench 3.X” profile. That should look like this:

Workbench 3.X running in WinUAE Screenshot

First you want to attach the Workbench 3.1 “Workbench” floppy to DF0 on the virtual machine. The floppy is found at C:\Users\Public\Public Documents\Amiga Files\Shared\adf\amiga-os-310-workbench.adf and it can be mounted read only if you like.

Next we want to copy a few files off that floppy into the RAM: disk as we will need them later. Open a Shell and run the following commands:

  • COPY DF0:S/Startup-Sequence RAM:Startup-Sequence CLONE
  • COPY DF0:C/Version RAM:Version CLONE
  • COPY DF0:C/Assign RAM:Assign CLONE
  • COPY DF0:C/MakeDir RAM:MakeDir CLONE
  • COPY DF0:C/AddBuffers RAM:Addbuffers CLONE
  • COPY DF0:C/LoadWB RAM:LoadWB CLONE

We’re done with the workbench floppy, so you can click on the floppy icon at the bottom of the window and choose “Eject”. Next, you will want to create a blank virtual floppy and insert it into DF0. Click the floppy icon at the bottom of the window, and choose “Insert” and then “Blank Disk”. Select the disk and rename it to “Boot3X” from the Icon menu.

Now we want to download all the updated Colanto utilities, partitioning tools, and other utilities listed above and place them in the shared filesystem folder for the emulator. The shared folder is typically located at C:\Users\Public\Public Documents\Amiga Files\Shared\Workbench and then the files will be accessible under the SHARED: volume.

We now want to copy and then strip down the System folder from the System disk (DH0) to the Boot3X floppy in DF0. This can be done using the GUI, as it’s easiest. Once the folder is copied, you can delete FixFonts, NoFastMem, Intellifont, and RexxMast leaving only the Shell and Format applications in the destination folder.

Now the fun part: open up a Shell. We have a lot of commands to run:

  • INSTALL DF0: will make the new Boot3X floppy bootable by adding the required bootloader data.
  • MAKEDIR DF0:Libs will make a directory to hold required libraries needed shortly
  • MAKEDIR DF0:C will make a directory to hold shell commands we want on the disk
  • MAKEDIR DF0:S will make a directory for system scripts
  • MAKEDIR DF0:L will make a directory for filesystem components
  • lha x SHARED:Workbench-Library-45-127.lha DF0:Libs/ will put the much needed workbench lib on the floppy so intuition can start
  • COPY RAM:Version DH0:C/Version CLONE This will install the Version program
  • COPY RAM:Assign DH0:C/Assign CLONE This will install the Version program
  • COPY RAM:MakeDir DH0:C/MakeDir CLONE This will install the Version program
  • COPY RAM:AddBuffers DH0:C/AddBuffers CLONE This will install the Version program
  • COPY RAM:LoadWB DH0:C/LoadWB CLONE This will install the Version program
  • COPY C:SetPatch DF0:C/SetPatch CLONE This will install the Colanto Patched version of SetPatch that correctly understands these ROMs (earlier versions will work, but have some issues)
  • COPY L:FastFileSystem DF0:L/FastFileSystem CLONE This will put the FastFileSystem components in place for formatting disks correctly
  • COPY RAM:Startup-Sequence DF0:S/Startup-Sequence CLONE will copy the basic startup script required for the 3.X ROMs off the boot floppy provided by Colanto

At this point, you have a working 3.X boot disk. Congratulations! This will work in any Amiga with an ‘030 or earlier processor, and if you want to stick with HDToolBox you are basically done at this point. Skip to the end.

If you have a 68040 or 68060 processor or accelerator card in your Amiga, you will need to copy the required libraries to your boot floppy. COPY DH0:Libs/68040.library DF0:Libs/68040.library will do the trick for a basic ‘040 accelerator card like the A3640. If you have something more exotic (like an Apollo or Phase5) you will need those drivers instead.

Next you will need HDInstTools, which can be installed using lha x SHARED:hdinst.lha DF0: and that should get those parts installed. Otherwise copy over the tools needed for your drive controller.

At this point I typically add tools to the disk assuming there is available space. The big ones for me are:

  • COPY DH0:C/dir DF0:C/dir CLONE
  • COPY DH0:C/info DF0:C/info CLONE
  • COPY DH0:C/copy DF0:C/copy CLONE
  • COPY DH0:C/install DF0:C/install CLONE
  • COPY DH0:C/Delete DF0:C/Delete CLONE This will install the Version program
  • COPY DH0:Tools/MEmacs DF0:C/MEmacs CLONE

These are certainly not required, but it makes life easier. If you have space left, I also recommend the 68k version of lha and an archive of the boards or sysinfo tools. You won’t have enough space for the uncompressed programs, but you can always expand them into RAM: to assist with debugging.

Now you have a complete 3.X ROM boot floppy. Next you need to save it, so eject it from the emulator and then quit the emulator. It will ask if you want to save changes to the embedded blank disk image, check that box but not the box and hit OK. Next, edit the Machine profile in Amiga Forever, go to the Media tab, select the disk image that is embedded, and change it to external. Save the disk in a location you know with a name like Boot3X.adf.

Getting your Amiga booted and installed

Next, we need to get your ADF images to your Amiga somehow. If you are using a GOTEK, then just copy your Boot3X.ADF, the Colanto Workbench 3.1 floppy images, and the BetterWB images on a USB device and inserted into your Amiga. Once the rest of your hardware is installed and ready, I recommend booting to the Early Startup Menu by holding down both mouse buttons while turning on your Amiga. Once then menu appears, you should be able to select your Boot3X image on the GOTEK and then boot said floppy.

Your Amiga should come up to an Intuition desktop like you would normally expect. It will be a little slower getting there than you are used to, but not terrible. You can now use HDInstTool or whatever partition tool you desire to slice and format your drive volumes and reboot. Once you are back at Intuition, feel free to switch floppies over to the 3.1 Install disk. Launch the installer, and Install 3.1 per usual. You are typically asked to insert the Boot3X floppy once during install, this is normal. Once the install is complete, DO NOT RESTART. Instead, re-insert the Boot3X floppy and open the CLI from the System folder. Run the following commands:

  • COPY DF0:Libs/workbench.library DH0:Libs/workbench.library to copy over the now required but missing library to your fresh install.
  • COPY DF0:C/SetPatch DH0:C/SetPatch to bring over a newer version of SetPatch
  • COPY DF0:L/FastFileSystem DH0:L/FastFileSystem to bring over a newer version of FastFileSystem tool

Now you can reboot now as long as there is not a bootable floppy inserted (note that all the BetterWB floppies are annoyingly bootable, so if you are using a GOTEK I recommend adding an empty.adf floppy image to the drive for situations like this).

Congratulations, you should come up to a nice fresh install of Workbench 3.1 off your persistent storage in short order. Since you were using the Colanto Amiga Forever 7 based install media, most of the necessary patches are in place. We copied over the last couple of recommended updates before rebooting. If all you want is as close to stock WB3.1 as possible you can stop here. I recommend adding BetterWB since that includes a lot of useful utilities and enhancements without going overboard, that is what we are going to do next.

Installing BetterWB is fairly simple. Drop in Disk 1, launch the installer and follow the bouncing ball through disk 5. As per before, do not reboot when the install is complete. You can then install the final patch/update disk(s). Now, we have some minor updates to do.

Place the Boot3X disk back in the drive. Open a Shell of some form the System folder on your “Workbench” volume. You will need to replace some binaries overwritten by BetterWB with older versions:

  • COPY DF0:Libs/workbench.library DH0:Libs/workbench.library to copy over the now required but missing library to your fresh install.
  • COPY DF0:C/SetPatch DH0:C/SetPatch to bring over a newer version of SetPatch
  • COPY DF0:L/FastFileSystem DH0:L/FastFileSystem to bring over a newer version of FastFileSystem tool
  • COPY DF0:C/Version DH0:C/Version to bring over a newer version of the version tool, ironically

Next you will need to update Startup-Sequence to correctly identify the newer libraries installed in the 3.X ROMs. Run ed S:Startup-Sequence and look for a section like this:

C:SetPatch QUIET

and modify it to look like this:

C:Version >NIL: exec.library 45 20
If WARN
  C:SetPatch QUIET
Else
  C:SetPatch NOROMUPDATE QUIET
EndIf

Save your changes and quit ed. Swap out your floppy to something not bootable, and now it’s safe to reboot and enjoy your Classic Amiga with BetterWB and 3.X ROMs!

Upgrading to 3.9

If you want to continue to OS3.9, here is what you need to do. Otherwise, feel free to skip this section. You’re going to need a new blank floppy to hold the Emergency Boot Disk, the OS 3.9 CD, and something that has the (large) BoingBag updates (you can burn a basic CD from another system holding those files). Enable the CD0 device by running COPY DH0:Storage/Devs/CD0#? DH0:Devs/ in the CLI or ZSH and reboot.

Once you reboot, you should be able to use the CD drive. This is a great point to copy (and decompress if necessary) the BoingBangs to your WORK: drive. Then you can begin the process of making an OS 3.9 Emergency Floppy. Switch your GOTEK to your about-to-be-erased OS 3.9 Emergency floppy image, insert the OS 3.9 CD, launch the OS 3.9 installer, and choose to create the Emergency Boot Floppy. Once that is done, reboot with that floppy still in the drive. The system will take some time to boot, but should come up in the 3.9 Emergency environment with the appropriate background. Next, (and this step is critical) select your “Workbench” volume, and format it using International FFS with caching. Now you can safely launch the OS 3.9 Installer and choose installing on a blank drive. When the install is complete you should be able to reboot with a non-bootable floppy in the drive.

Once OS 3.9 boots, you should install the Internet and all other software from your OS 3.9 CD. It’s critical you do this before installing Boing Bags, as the Boing Bags upgrade components of those optional packages anyway. If you install them after the Boing Bags, you will need to re-install the Boing Bags or serious incompatibilities will arise. After that, you should install ALL FOUR Boing Bags before rebooting. Installing BB1 and rebooting will render the system unbootable with the 3.X ROMs. When installing BB2, you will be asked if you want to patch the ROMs, DO NOT DO THIS as the ROMs you have are a later version anyway (and the 3.9 installer is not smart enough to know this). Once the boing bags are complete, you need to repeat some steps from earlier before rebooting:

  • Insert the Boot3X floppy, launch CLI
  • COPY DF0:C/SetPatch DH0:C/SetPatch CLONE
  • COPY DF0:C/Version DH0:C/Version CLONE
  • COPY DF0:S/FastFileSystem DH0:S/FastFileSystem CLONE
  • ed S:Startup-Sequence

You will need to patch Startup-Sequence like before, updating the SetPatch section as above. There are other command line arguments, they should be in the WARN and Else sections. Now it should be safe to reboot. OS 3.9 will be completely installed and compatible with the 3.X ROMs. Enjoy!

Final Thoughts

Lots of trial and error went into this, so hopefully this will save someone the hours I burned with trial and error. If you have comments on this write up, please feel free to reach out or comment below. Otherwise, enjoy your classic Amiga with the 3.X ROMs!

comments powered by Disqus