ViaMakeImg ========== An AutoBoot image creator for CBM PC Bridgeboards Why? ---- The original PC software suite comes with a tool called 'MakeAB'. It is used to generate "AutoBoot" hard disk images, which the PC Bridge can boot from, using janus.library. This software has a 16 bit unsigned integer overflow bug, causing it to unable to make images bigger than 65536 sectors, or 32MiB in size. Commodore has never fixed this issue. Various workarounds were possible, like using images created by the PCTask emulator, but a separate tool only for PC Boards did not exist until now. Command Line Arguments ---------------------- -chs C,H,S Geometry for the drive to be generated (default: 128,16,63); Max values: Cylinders: 1024, Heads: 16, Sectors per track: 63 -ab Name AutoBoot sector file as (default: absector.bin) -img Name output Image file as (default: hardfile.aboot) -d Use the defaults as listed above -n Do not generate any files, only print calculated sizes -y Do not ask any question before generating files -h Display a help text, then quit If you want to generate an image with "default" parameters only, specify the argument '-d'. The default image will be approximately 63MiB in size. Since this is tool is designed to be multiplatform, it doesn't have an Amiga-style CLI arguments template and handling for now. This might be fixed in a future version. Making the Amiga use the HDD image ---------------------------------- You need to edit the file SYS:PC/System/ABoot.ctrl, to point to the newly made image file. Make sure the only line in this file is the name and full path of your image file, and the line does not contain a newline character. Requirements ------------ The Amiga version needs a 68020 CPU and OS3.1. Other versions bundled should run on any hardware supported by the operating system. All bundled non-Amiga binaries are 64bit. AutoBoot Image Format --------------------- The AutoBoot Image Format is very simple. It's a RAW HDD image, as used with most tools, with an additional 512 byte "header sector" at the start. The header sector contains only five fields: offset contents ------------------------------------------------------------------- 0 .. 7 : "ABOOT\0\0\0" - signature string, padded with zeroes 8 .. 9 : number of heads, 16 bit unsigned, big endian 10 .. 11 : sectors per track, 16 bit unsigned, big endian 12 .. 13 : number of cylinders, 16 bit unsigned, big endian 14 .. 511 : padding bytes, all zeroes The PC Board BIOS issue ----------------------- The PC Bridge's old BIOS shares a well known issue with most PC BIOS of the era: it cannot address more that 1024 cylinders, 16 heads and 63 sectors, effectively limiting the maximum possible bootable image size to 528MB. ViaMakeImg and its limitations were only tested with my A2386sx. Your mileage with older Bridgeboards may vary. Using an existing RAW image --------------------------- You can use an existing RAW image created by another emulator or virtual machine, by prepending it with an "autoboot" header sector. ViaMakeImg will create a standalone boot sector file, which is easy to combine with a RAW image to get an AutoBoot image for your PC Bridgeboard. Of course, you have to take care that your boot sector is created with the same drive geometry, so the same sector, head and cylinder values as the RAW image. On Amiga, you can use the JOIN command to combine the boot sector with the RAW image: 1:> JOIN absector.bin myimage.raw TO myimage.aboot On Un*x systems, simply the familiar 'cat' command will work: $ cat absector.bin myimage.raw > myimage.aboot On Windows, the following command should work: C:\> copy /b absector.bin myimage.raw myimage.aboot Copyright & Contact ------------------- Copyright (c) 2018 Karoly Balogh http://viaduct.amigaspirit.hu Version history --------------- 1.0 (2018.12.26) - initial version