Short: V1.6, Makes SuperKickstart disks from ROM files Author: Olaf `Olsen' Barthel Type: util/misc Architecture: m68k-amigaos MakeSuperDisk 1.6 (07.04.97) ============================ I used to own an A3000, which I bought back in 1991. This machine had boot ROMs installed, i.e. it would load its Kickstart image from the hard disk drive rather than boot with its built-in ROMs. In Winter 1993 I exchanged the A3000 for an A3000T with real 3.1 ROMs. This machine had enough room for the CyberStorm '040 I bought back then and the 68040 CPU would require Kickstart 2.04 or higher in ROM -- the original boot ROMs were entirely unaware of the peculiar features of the 68040 CPU. Two years later in Winter 1995 I bought an A3000UX second hand which still had boot ROMs installed. However, what it did not have installed was a hard disk drive. This made installing the system software a tad complicated. The boot ROMs would prompt me to insert a SuperKickstart disk which I did not have handy. So I wrote MakeSuperDisk to knit the Kickstart images I had saved from my original A3000 together for use as a SuperKickstart disk. The big difference between this tool and others, such as Mike Sinz' "ToKick", is that it can store *both* the 2.x/3.x Kickstart image and the special 1.3 Kickstart image on the same disk. This is not really a special feature; the original Kickstart disks that shipped with the A3000 units also contained both Kickstart versions. These disks were labeled "A3000 Kickstart V2.01" or "A3000 Kickstart V2.03", which was pretty misleading, though. What do you need? ----------------- You need either one or both A3000 Kickstart image files and a blank disk. This must be a double density 3.5" disk as the boot ROMs do not support reading the Kickstart from high density disks. Where to find the Kickstart image files? ---------------------------------------- Look into "Devs:", you might find a "kickstart" file there which is 526,848 or 526,572 bytes in size. This is a Kickstart 2.x or 3.x image file. Likewise, if you find a "kickstart" file that is 282,624 or 283,136 bytes in size, it's the special A3000 Kickstart 1.3 file. How to obtain a newer Kickstart file for an A3000 with boot ROMs? ----------------------------------------------------------------- You can't; Commodore declared that in order to upgrade an A3000 with boot ROMs you had to buy the A3000 2.04 ROM upgrade kit. This made upgrading the machines in software illegal. Only registered developers were allowed to use the Kickstart files they received from BIX and the ADSP network. Why are the Kickstart files larger than the ROMs are? ----------------------------------------------------- For a regular ROM image, the 2.x/3.x file would only be 524,288 bytes and the 1.3 file 262,144 bytes long. The extra data, called "the bonus code", is to make the image files usable with the A3000. Without the bonus code the machine will not configure its fast RAM or the SCSI hardware. The boot ROM code will make the images reset resident with the bonus code and enable special features, such as the "A2630" emulation for Kickstart 1.3. Can "regular" 3.1 ROM images, such as from an A500, be used? ------------------------------------------------------------ No, that's not possible. The boot ROMs require that the bonus code is attached to the SuperKickstart file, which is missing with plain ROM dumps such as from an A500, A1200 or A4000. Also, ask yourself: does an A500 feature an on-board SCSI controller and can its memory be expanded up to 16 MBytes by plugging extra RAM onto the motherboard? You really need a Kickstart image for an A3000 that carries the drivers to make the SCSI hardware and the fast RAM usable. How to use the program? ----------------------- Assuming that "Devs:kickstart" is the 2.x/3.x Kickstart file and "Devs:Kickstart-1.3" is the 1.3 Kickstart file, you would insert the disk and enter the following to create a SuperKickstart disk in DF0: MakeSuperDisk 2.x=Devs:kickstart 1.3=Devs:Kickstart-1.3 If you don't have a 1.3 Kickstart file handy, you can safely omit it. If you want to write to a different drive, such as DF1, enter: MakeSuperDisk 2.x=Devs:kickstart 1.3=Devs:Kickstart-1.3 to DF1: If you want to write just the Kickstart 1.3 to the disk, enter the following: MakeSuperDisk 1.3=Devs:Kickstart-1.3 And if you only have a 2.x/3.x Kickstart file, use the following command: MakeSuperDisk 2.x=Devs:kickstart If you omit the keywords 2.x=.. and 1.3=.. the program will assume that the first file you name will be the Kickstart image to be written to disk. Error messages -------------- If your files are the wrong type or the wrong size the program will complain. If the disk you have provided is the wrong type (it must be a double density disk, high density disks are unusable), you will also get an error message. If the drive you want to store the Kickstart on is the wrong type you will be notified as well. The program will also complain if the SuperKickstart file you provide is not really usable with the A3000 due to missing bonus code. What operating system version is required? ------------------------------------------ MakeSuperDisk requires Kickstart 2.00 to work. This is version 36, which is the operating system version that's in the A3000 boot ROMs (well, roughly). Bootstrapping the Kickstart --------------------------- If you hold down both mouse buttons after you switch on the A3000 you will be prompted to choose the operating system version to use. You can either bootstrap Kickstart 2.x and Kickstart 1.3 from hard disk or from floppy disk. If you don't hold down any mouse buttons the boot ROMs will bootstrap the Kickstart from hard disk, using the partition with the highest boot priority. Normally, this is the Kickstart 2.x boot partition. The hard disk partitions must be named "WB_2.x" and "WB_1.3" (note: these are devices names like "DF0", *not* volume names) and the Kickstart files must be in "WB_2.x:devs/kickstart" and "WB_1.3:devs/kickstart". The partitions must be formatted either in standard filing system or fast filing system format. You *cannot* bootstrap from hard disk drives that are formatted with the international flavours of these filing systems or with the directory caching filing system. When you make the choice to bootstrap the operating system from hard disk, the Kickstart bonus code will disable the "other" boot partition, i.e. if you choose Kickstart 2.x the "WB_1.3" partition will be made invisible (and the other way round). If these Kickstart files and partitions are unavailable, you will only have the option to bootstrap from floppy disk. This is the only option you have after you replace the original hard disk drive with a "fresh" drive. Now comes the tricky part. If you choose to bootstrap the operating system from disk, the Amiga will no longer boot from the "WB_2.x" or "WB_1.3" partition until you switch off the machine. You *have to* boot the Workbench from floppy disk. Bootstrapping the operating system from floppy disk is not really an option to bootstrap it from hard disk. It is really useful only for maintenance purposes. If you want to boot from the hard disk, try something different: format a disk and name it "WB_2.x", then copy the 2.x/3.x kickstart file to it. Store this disk in a safe place, you may want to use it some day. Insert the disk right after switching on the A3000 and hold down both mouse buttons. When the Kickstart menu appears, choose to bootstrap the operating system version 2.x from hard disk. As the floppy has the right name, the Kickstart menu will assume it can boot from hard disk. The fine print -------------- MakeSuperDisk is Copyright © 1995-1997 by Olaf Barthel. It is freely distributable, but copyrighted. Redistribution of the program requires that this documentation file accompanies it and all files are unmodified. If you wish to contact me, here are my addresses: Electronic mail: olsen@sourcery.han.de Postal mail: Olaf Barthel Brabeckstrasse 35 30559 Hannover Federal Republic of Germany Release history --------------- MakeSuperDisk 1.2 (08.03.97) - Initial public release MakeSuperDisk 1.3 (13.03.97) - Ick. I left the wrong argument template in the code, the parameters should have been reversed. MakeSuperDisk 1.4 (21.03.97) - Not all SuperKickstart files would be usable, only those that really started life on a SuperKickstart disk, such as the Kickstart 2.04 image. For those that would not work the Kickmenu code would complain with "Error reading floppy! Reboot system.". As it turns out, the reason why the code failed is that the bonus code size stored in the SuperKickstart header is passed straight through to the code that reads the data with trackdisk.device. For this to work, the size has to be a multiple of the disk block size (512 bytes). I updated MakeSuperDisk to pad the bonus size so the Kickmenu code will be able to read it. - If just a single Kickstart image is stored on the disk, the other Kickstart bonus code size will be set to a value that will cause the Kickmenu loader code to fail with an error. That way you can avoid loading a non-existant Kickstart from disk and crashing the machine. - The 1.3 Kickstart image no longer needs to be the exact size of the image I have on my hard disk drive. It looks as if Commodore shipped different revisions of that code which were of different sizes. - The code no longer depends on the disk geometry query to succeed. As it turns out, the query would not work under Kickstart v36.x. MakeSuperDisk 1.5 (31.03.97) - Documentation updated MakeSuperDisk 1.6 (07.04.97) - The program now requires that the Kickstart bonus code is present. While you could still use the A3000 with a Kickstart image that was not made for this machine the boot ROMs require that the bonus code is present. - Documentation updated