----------------------------------------------------------------------
                HOW TO MAKE YOUR OWN BOOT PROGRAMS
----------------------------------------------------------------------

Since I got many phone calls from people that asked me how to create
their own boot-intros, I will use this session to explain a little
about trackloading, and especially about bootblock-trackloading.

How to start...Before you can start trackloading, you'll need a pointer
to a diskio structure. There are 2 ways to get this, open the trackdisk
device or get it from the bootblock. The first method you can retrieve
from the source 'trackload.s' or 'trackwrite.s'. The 2nd method...If
you reset the Amiga, the computer will pass a pointer to a diskio-
structure to the program located in the bootblock.

How to load...To load data from tracks, you need a start-sector, a
length in sectors and a location where you wish to load to. Here is a
quick example:

		move.l		$4.w,a6
		lea		diskio,a1
		move.w		#2,28(a1)
		move.l		#start*512,44(a1)
		move.l		#len*512,36(a1)
		move.l		#buffer,40(a1)
		jsr		doio(a6)

Note that you need to multiply the startsector and the sectorlength
with 512 (this is because one sector contains 512 bytes). The 2 you
place in 28(a1) indicates that you wish to load tracks. If you wish
to load from the bootblock you don't need to 'lea diskio,a1' because
the Amiga will already have a pointer to a diskio structure in a1.

Finally...This may seem a bit complicated, but just try out the
sources on this disk they are:
-Trackload.S	: shows how to load tracks and open the td.device
-Trackwrite.S	: writes tracks
-BootPrg.S	: An example of how to load from the bootblock
If you need to now the length of your program in tracks, just divide
your programlength through 512 and round it up.

If you wish to check the bootprg you should assemble it (using seka)
and write it as a datafile using 'wi' with start and end adresses
's' and 'finis'. You should then fix the bootchecksum and write it
to sector 0 and 1. The best way is to use C-Mon or a similar utility,
with C-Mon you should do the following:
-> L 'bootprg.dat' 60000	; loads data to $60000
-> b 60000			; fixs the bootblock checksum
-> >s 60000 0 0 0		; Writes to disk first sector (512 bytes)
-> >s 60200 0 0 1		; Writes second sector
-> x				; quits C-Mon
and you're finished...Now reset and boot...

Brian Postma
P.O.Box 367
7570 AJ Oldenzaal
Holland
