README
The program boot1 will patch the kickstart disk for booting the workbench
from DF1: and/or stopping the clicking on the floppy drives. This is for
Kickstart version 1.3. When your A1000 is booted with the modified
Kickstart, insert your workbench disk into DF1: to boot. Remember to
change any scripts on your boot disk to use either DF1: as a prefix for
the disk or the name of the disk.
I modified the Kickstart disk for two reasons. One, I have a hard disk
on my A1000 and it is now possible to boot the machine without changing
any floppies. Two, I have a program which I want to run continuously, even
if I am not home. With the modified Kickstart, a reboot following a
power failure can occur without human intervention.
In addition, it is possible to stop the clicking of the floppy drives
when no disks are present. This can be done by patching the floppy driver
(trackdisk.device). This driver is in the Kickstart.
The patches are described below.
Distribution of the program boot1 and its source, boot1.c, is OK as long
as it is freely distributed and the source file header remains intact.
The program was compiled on Lattice C v3.10. When linking, I search
the amiga.lib library before searching lc.lib. Execute the file BUILDIT
to build the file when using LATTICE. I have my own startup object files
which I included with this program.
Modifications made to Kickstart:
To change the boot disk to df1:
FE8CC4 move.l #0,(a1)+ ---> move.l #1,(a1)+
FE84FE moveq #0,d0 ---> moveq #1,d0
FE8D51 dc.b 'DF0',0 ---> dc.b 'DF1',0
The first change will cause the system to generate the initial disk
with the unit number set to 1. This is part of the structure pointed to
by the DeviceList for the startup device.
The second change causes the system to read the boot sectors from unit
1 instead of unit 0.
The third change changes the name the system uses for the initial disk
device. Since we changed the unit to 1, we need to change the name to match
the unit.
The system will automatically hunt for the other units. Thus, it is not
a problem that we allocated unit 1 for startup instead of 0. If there is no
disk for unit 1, the system cannot boot.
To change the instructions, we must not only alter the locations but we
must insure the checksum is correct. To do this, changes are made in the
copyright notice as well.
Disk sector Offset Old New
323 $FF $00 $01
327 $C9 $00 $01
327 $153 $30 $31
1 $A3 $2E $2C
1 $A1 $65 $64
Another change we can make while we are in the kickstart is to stop the
clicking by changing the trackdisk device. The clicking is due to the heads
stepping. The stepping occurs because the disk changed signal is not
latched until a step occurs. However, most disks (in theory) will latch
the signal if the head is stepped towards the outside at track 0. Since
most drives have enough sense not to step outside of track 0, no physical
step occurs. Thus, the signal is latched without a click. To fix this
problem, the code is changed so that the heads are only stepped outward
when checking for a disk. The original code will oscillate the heads.
FE8C9C bchg #1,65(a3) ---> bset #1,65(a3)
To patch this with checksum correction:
Disk sector Offset Old New
332 $69 $6B $EB
1 $6D $74 $54
1 $95 $69 $49
1 $99 $73 $53
1 $9D $73 $53
All of these changes depend on the version being correct. The Kickstart
code has the following string:
Disk sector Offset String
1 $18 'exec 34.2 (28 Oct 1987)'
NOTE: I found out how to fix the clicking from downloading
noclick2.arc from BIX. This was sourced by Bryce Nesbitt
whom I wish to thank.
Edward Lappin
2900 Sagebrush Drive
Fort Collins, CO 80525
BIX: tlappin