|AmigaOS was designed to be simple, easy to use and customize, with a basic and clear separation of system resources (libraries reside in one directory, devices on another, commands on yet another, etc). Installing an application in AmigaOS usually consists of creating a new directory anywhere the user wishes, copying all the application's files into that directory and maybe setting up an appropriate system assign if necessary. Most of the time, the application's Installer would do all that for you. Amiga users were accustomed to that, often customizing their own installation in whatever way it suited them most.
As the years went by and after Commodore's demise, the platform started to lose ground and slowly but steadily, people moved to other platforms. However, their love for AmigaOS went with them, and hence Amiga emulators where created. Although unusably slow at first, all that changed progressively as technology allowed for faster and faster computers, leading us to today's quad-core processors, several gigabytes of memory and hard disks with a theoretical speed of 300MB/sec, where the emulation is now many times faster than the original hardware.
In this emulated system a new idea has gained more and more supporters in the last few years. That idea is to provide the users with a pre-installed AmigaOS system, with several applications, tools, libraries and more, all wrapped up in a beautiful set of modern icons, backgrounds and configurations to make their life easier. And why not, add an option to update that installation using the Internet automatically taking care of what goes where, when a new version of some tool is released.
Users of modern day mainstream platforms (be it Windows, Mac or Linux) have the opportunity to enjoy several such options: AmiKit (http://amikit.amiga.sk/), AmigaSYS (http://amigasys.extra.hu/), classicWB (http://classicwb.abime.net/), etc. However, most of those distributions are created with the emulated environment in mind, meaning that they often include file versions optimized for UAE (such as monitor drivers) which makes it difficult for someone to have one of them running on a real Amiga.
Two of the three mentioned distributions have specific classic Amiga versions. My personal favorite however, AmiKit, does not. So I started this personal project to make it work on my Amiga 4000 and release the step-by-step instructions to the community.
AmiKit is a package prepared by Jan Zahurancik aimed at providing a high-end emulation environment with 24-bit icons, skinned interface and other goodies which do require a relatively beefed-up machine running some version of UAE. By today's standards, any "normal" PC should suffice.
In our project that clearly translates to "high-end Amiga users only", meaning a 68060 (or 040 at least), a graphics card and lots of Fast RAM. And even then, don't expect it to be as fast as "classicWB" is, if you choose to keep all the eye candy. Another feature that I particularly like in AmiKit, is the ability to "LiveUpdate" or check, download and install any new updates over the Internet automatically. No more having to periodically check for any new releases on your system's software, libraries, devices or tools! What's more, the system takes care of placing the updated files where they should live, taking care of your configuration along the way.
Still with us? Great, let's go on then. My Amiga 4000, on which this project is based, has the following configuration:
- Cyberstorm MK2 68060 accelerator, with SCSI module
- 128MB RAM on the accelerator
- 2 x SCSI HDDs on the Cyberstorm's SCSI module
- PowerFlyer A4000 IDE interface (holds just one DVD-ROM drive)
- PicolloSD64 graphics card connected to a 22" LCD monitor
- Deneb USB controller (includes 4MB Flashrom, filled with a few things shown bellow)
- Linksys USB200 USB-to-ethernet adaptor, on the Deneb card
- EZMouse keyboard adaptor for PS/2 mice
As the Deneb card offers a 4MB Flashrom which allows for files to be loaded from cold boot, I've added the following to that:
1) Custom kickstart v40.68 for A4000 which includes the following patches:
- Piru's Exec44beta4 from http://piru.morphos.net/~p/sw/exec44beta4.lha
- FixMath404 (BlizKick module)
- PatchMath020 (BlizKick module)
- romfixes (BlizKick module)
2) morelibspace (from latest AfA OS)
3) Amiga OS ROM Updates from OS3.9 BoingBag2
4) Poseidon USB Stack
5) DenebClockPort (from Deneb)
6) mathffp.library and mathieeesingbas.library (from HSMathLibs)
7) NoClick (from BlizKick)
Note: The above list of software is not necessary for this project (with the exception of "morelibspace"), so don't worry if you don't have a Deneb card yourself. Although you really should get one if your Amiga has Zorro slots.
Here's a list of what software we'll need for the complete process, so it's better to have them handy beforehand:
- A working installation of AmiKit under WinUAE, using the AmigaOS3.9 CD (or AmigaForever CD), with installed BoingBag1, BoingBag2 and the InstallPatches program located on the desktop.
- Original Screenmode.prefs (from ENVARC:Sys/) and monitor driver (from Devs:Monitor) of your current installation. You need a proper "Screenmode.prefs" for your system, since AmiKit is build for UAE and boots into a resolution made for that environment.
- Picasso96 v2.1b or CGX4 CD-ROM & latest update, depending on your choice of graphics drivers (http://amiga.serveftp.net/downloads.html). Since we'll be replacing AmiKit's UAE graphics driver, we'll need to set-up the proper one for our system. I recommend CyberGraphx v4 since I ran into some weird problems with Picasso96, but then again that could only be on my specific configuration.
- AHI and beta version of ahi.device v6.7 (http://arp2.berlios.de/ahi/). We'll need to replace AmiKit's version of AHI with one that uses Paula.
- Original math libraries from 3.9 Libs: or HSMathLibs alternatively. AmiKit comes with a version optimized for UAE, we'll need to replace those as well.
- MMULib (http://aminet.net/util/libs/MMULib.lha) or at least the 68060/68040 libraries that came with your accelerator manufacturer (if it's a phase5 card, check out http://phase5.a1k.org/). The CPU libraries are not needed under UAE, but are necessary on a real Amiga system (or else you'll welcome a Guru Meditation screen when SetPatch runs!).
- LZX archiver which is freely distributed in Aminet (http://aminet.net/util/arc/lzx121r1.lha and http://aminet.net/util/arc/LZX121r_pch.lha). This is not absolutely necessary, but will come in handy in the following steps.
- Any specific driver you may have for your hardware, e.g. the PowerFlyer drivers and EZMouse drivers in my case.
Optional (but recommended):
- Executive (http://aminet.net/util/misc/Executive.lha and http://aminet.net/util/misc/Executive_key.lha). Executive is a nice utility that optimizes the task-switching method of the operating system, improving multitasking. You may de-activate it if you don't like it at any time.
- PicShow (http://thomas-rapp.homepage.t-online.de/amiga/picshow.html).AmiKit already includes this, but only a 68000 version. Get the file and install the 040 version to get some speed improvements.
- akXXX datatypes (from Aminet). Again, if you want the 040/060 versions of these Datatypes, get them from Aminet.
- PopupMenuLibrary and latest patch (http://aminet.net/util/libs/pmlib060.lha and patch from http://piru.morphos.net/~p/sw/pmlib-10.8.6-fix.lha). Needed to replace AmiKit's version.
- FreeWheel (http://www.blackfiveservices.co.uk/freewheel.shtml) if you have a wheel mouse, since AmiKit's version didn't work on my system.
- SFS as a filesystem from http://strohmayer.org/sfs/. Journaling filesystem that's still alive in development (unlike PFS for example). It's actually included in AmiKit as well, but the choice of using it as a filesystem is up to you.
- Your TCP/IP stack of choice, if you want network access. UAE doesn't need anything running, since it emulates "bsdsocket.library", but on a real Amiga you'll need either Miami(DX), Genesis or something similar. Keep your configuration as well, unless you don't mind setting it up from scratch.
We'll start by doing what every good experimenting user should begin with: Take a full backup of your existing system! You wouldn't want to waste several hours bringing back everything together, just because you made a mistake or changed your mind! You have been warned!
While the backup is taking place, we'll see how we can place the AmiKit package in the Amiga. AmiKit normally expects to be installed on a Windows machine, where it extracts all its files and upon its first execution it proceeds to its basic configuration. We will need a way to copy those files to the real Amiga. Although it's been reported that AmiKit's installer works on a real Amiga as well, I chose to fully install AmiKit on my PC, download the latest updates, and finally take a full copy of the system partition from within AmiKit in a LZX file (that way, we can keep the Amiga protection bits on the files). After that, I copied the LZX file to a USB stick with which I could transfer it to the A4000, thanks to the Deneb card. Another option would be a CD-ROM (or DVD), or even a real Amiga-formatted hard disk, since WinUAE can read RDB-formatted disks now.
After copying the LZX file to the real Amiga and having kept a backup of my previous system partition, I could now quick format SYS: (I use the excellent SFS as a filesystem from http://strohmayer.org/sfs/ but you can keep the FastFileSystem that comes with OS3.9 if you want). When that is completed (should only take a few seconds), we can extract the LZX to the (now empty) system partition. This process will take some time, even on a 68060, so be prepared to wait for it...
Before attempting to boot, there are several things we need to take care of. First of all, AmiKit is by default configured to use a UAE graphics driver and a relevant screenmode. We'll need to change that to our Amiga-specific graphics card driver and preferences. You've kept that backup, right? Now it's time to use it...
Copy Screenmode.prefs from your original system's SYS:Prefs/Env-Archive/Sys/ to the same path in the currently extracted AmiKit files (replacing the one that resides there). We'll also need to copy our graphics drivers, be it Picasso96 or CyberGraphX and remove the UAE gfx driver from DEVS:Monitors. I have some notes on this subject however: AmiKit uses Picasso96 and comes with a special version of rtg.library for UAE which obviously needs to be replaced. In my case however, I run into problems (system freezes) while using Picasso96 with AfA OS, so in the end I decided to use CGX4 (which was installed on my previous system anyway) instead. You can give it a try either way...
- If you decided to use Picasso96: Install from the original Picaso96.lha
- If you decided to use CGX4: Install from the CGX4 CD-ROM, then apply the latest patch (currently 42rc6).
After either the above procedure, don't forget to copy your old monitor driver (SYS:Devs/Monitors/) from your system backup, so you can keep the resolutions you had, unless you don't mind setting them again from the defaults.
Next up, we'll need to edit the Startup-sequence a bit. However, what we'll do depends on what AmigaOS version CD you used while installing AmiKit, since the startup-sequence is slightly different for each version (3.5, 3.9, 3.9 with BoingBag2).
If you used the AmigaOS3.9 CD (like I did), we'll be removing some parts which are not necessary while adding some that are. More specifically, what I did was:
- Remove "morelibspace" as I have it placed on Deneb's FlashROM (you should leave it alone if you don't have something similar, or else AfA OS will not work!)
- Comment out lines from "failat 11" until "Unset LoadModule" as they're not needed.
- Uncomment "BindDrivers" (not needed under UAE, but necessary on a real Amiga).
- Remove or comment out the "ShowAmiga96" line.
- Add anything special you may have / need / want. Alternatively, you may want to use the installer for each such item if you don't like messing around manually. Since I have a Powerflyer, I added the necessary driver loading lines here and copied the relevant files by hand.
Save and close Startup-sequence. We'll also need to remove a few items from WBStartup as well. My choices where:
- Remove ShowAmiga96.
- Remove winuaeclip (not usable under a real Amiga).
- Remove AmiStart (Not necessary but I found it too slow to be usable on my system. You can give it a try for yourself if you want, especially since Jan was kind enough to configure it to work so well in AmiKit).
- Replace FreeWheel with the original version as AmiKit's one didn't seem to work for me.
- Add Wheeldriver for my/your EZMouse adaptor.
After that, we'll need to replace the UAE-optimized versions of some files. Those are:
- Replace UAE version of AHI with the version for your processor using the original archive (as mentioned in the list above).
- Replace the device name for the "DEVS:DOSDrivers/CD0" from "uaescsi.device" to the real one you have using a text editor (in my case it was scsi.device unit 2, because of the Powerflyer). It's not critical but if you don't, you'll get an error message during boot saying the system can't find "uaescsi.device" and you won't have any CD/DVD support obviously.
- Move "warp3d.library" from Libs:bak to Libs: (it's not needed under UAE, but works on a real Amiga).
- Replace UAE versions of Math libraries with normal ones (from your previous system) or even better with the excellent HSMathLibs (demo version available on Aminet).
- Move "picture_datatype.exe" from AFA_OS_Libs:bak to AFA_OS_Libs: (note: AFA_OS_Libs: resides in SYS:Utilities/EXPANSION/AfA_OS_Libs/ for AmiKit). I found this step necessary when using CyberGraphX v4, you may not need it in your case.
Finally, it's absolutely necessary to install a version of 68060.library (or 68040.library if you're using an 040), either by your accelerator's manufacturer or from the recommended MMULib package. I opted for the second option. If you miss this step, you'll get a Guru Meditation as soon as the SetPatch runs!
At this point, you should already have a working bootable system with almost everything from the AmiKit distribution working correctly (yes, even LiveUpdate!). However, there are a few more steps to fine-tune the installation, which are not absolutely necessary but will improve the overall speed of the system and therefore we highly recommend. Those are:
- Install Executive and have it running on User-Startup. Note: If you run into any strange behaviors you can always disable Executive in your system. I have mine running fine for some time now.
- Replace PicShow 68000 version with 040 version.
- Replace akXXX datatypes with 060 versions (keep in mind that if you use AmiKit'sÂ LiveUpdate feature to install any future releases, it will automatically install the generic 68k versions again).
- Replace PopupMenuLibrary with 060 optimized version.
- Copy your TCP/IP stack and configuration. I used MiamiDX with a USB->Ethernet dongle sitting on the Deneb card and it worked flawlessly. Note: If you're installing AmiTCP as the stack of choice, please have a look and correct the "blind" assign in User-Startup!
And that's it! I have my system running like that for some time now, seems pretty stable and usable (from a speed point of view) and updates normally using AmiKit's LiveUpdate.
Please report any problems or questions to midwan AT gmail.com. The author of AmiKit is in no way related to this project and you shouldn't bother him with any problems you may have, obviously.