The Read Only Memory kickstarts, are typically “mask” ROMs with a permanently burnt image.
An Erasable Programmable Read Only Memory chip will have a small window where the chips surface can be seen, the chip can be blanked by exposing this window to ultraviolet light and electronically programmed.
27c200 – 256k
27c400 – 512k
27c800 – 1Mb
27c160 – 2Mb
27C220/27C2048 – 256k (specifically for the A3000)
You can electronically program a kickstart to a device which (typically) allows multiple kickstarts to be held, this allows easy updates and switching, often using keyboard resets to toggle between different loaded versions.
The A1000 didn’t have a physical kickstart, instead it has a small 8k “bootstrap” ROM which sole purpose was to load the kickstart from floppy into “write once” RAM.
These can be identified by the first four bytes of the floppy being “KICK” (0x4B49434B), the actual ROM (256k) will start at byte 512 and will be read sequentially, this is not a DOS disk.
Used by kickstart v1.4, this is a special format floppy disk that can load a kickstart image into RAM, by using the A3000 MMU to remap the loaded kickstart, it logically “overwrites” the physical kickstart memory location.
Like the original kickstart floppy, these are non-DOS formatted disks, the have a header which starts “KICKSUP0” (instead of just “KICK”), then a couple of long words that define the size of the bonus code that’s used to complement the chosen kickstart, the kickstarts and bonus code are in fixed locations in the floppy, kickstart 1.3 bonus code is loaded into memory at address 0xF00000 and the kickstart 2.x code is overlayed into the 2.x kickstart at memory location 0xFFF000.
0x000000 4B 49 43 4B 53 55 50 30 "KICKSUP0" 0x000008 00 00 50 00 Size of the 1.3 bonus 0x000008 00 00 0A 00 Size of the 2.x bonus ... 0x000400 11 11 4E F9 00 FC 00 D2 00 00 FF FF 00 22 00 05 KS 1.3 (256k) ... 0x040400 11 14 4E F9 00 F8 00 D2 00 00 FF FF 00 24 00 8F KS 2.x (512k) ... 0x0C0400 00 00 FE ED C0 ED BA BE 4E 71 4E 71 08 B9 00 07 2.x Bonus code ... 0x0C1400 00 00 FE ED C0 ED BA BE 00 00 00 00 2C 78 00 04 1.3 Bonus code
Bootable Kickstart Floppy (softload)
It’s possible to relocate a kickstart on non-MMU equipped machines by modifying the kickstart after it’s loaded, altering all the absolute addresses to reference a different part of memory (relocating), it’s also possible to load a kickstart at a predefined alternative address, most commonly this is 0xC00000, these ROMs are usually already fully remapped to this alternative address rather than being dynamically changed when being loaded.
The two most famous versions are “relokick” and “Tude”, these also contained additional features to help compatibility of old programs, e.g. reducing the amount of “chipmem”.
These are DOS formatted disks and contain a copy of the target kickstart.