*********************************
**   BOOTY  IS PROGRAMMED BY   **
** WINDWALKER OF CRYPTOBURNERS **
**         20/9 - 1988         **
*********************************

exec= 4
addport= -354
remport= -360
findtask= -294
opendevice= -444
closedevice= -450
doio= -456

;MORE ABOUT THESE VALUES IN ROM * KERNEL MANUAL
cmd_read= 2
cmd_write= 3
cmd_update= 4
cmd_clear= 5
td_motor= 9
td_seek= 10
td_format= 11
td_remove= 12
td_changenum= 13
td_changestate= 14
td_protstatus= 15
;------------------------------

	move.l exec,a6
	move.l #0,a1
	jsr findtask(a6)		
	move.l d0,diskrep+$10

	lea diskrep,a1
	jsr addport(a6)

	lea diskio,a1
	move.l #0,d0		;drive number (DFn:)
	clr.l d1
	lea tname,a0		;"trackdisk.device"
	jsr opendevice(a6)	;open trackdisk device
	tst.l d0		;test D0
	bne error		;if errors occured

	lea diskio,a1	
	move.l #diskrep,14(a1)	;port pointer
	move.w #cmd_write,28(a1);WRITE sectors
	move.l #sector,40(a1)	;SECTOR = buffer
	move.l Len,d0
	mulu #200,d0
	move.l d0,36(a1)	;length = 2 sectors	
	move.l Start,d0
	mulu #200,d0
	move.l d0,44(a1)	;offset = 0 sectors
	jsr doio(a6)

	move.w #cmd_update,28(a1) ;write BACK track-buffer
	jsr doio(a6)		;	

	move.w #td_motor,28(a1)	;MOTOR
	move.l #0,36(a1)	;0=OFF/1=ON 
	jsr doio(a6)

	lea diskrep,a1
	jsr remport(a6)

	lea diskio,a1
	jsr closedevice(a6)	;close trackdisk device
	rts
Error:	move.w #-1,d0
ErLop:	move.w d0,$dff180
	dbf d0,ErLop
	rts

diskio:	blk.l 20,0		;input/output (IO)structure
diskrep:blk.l 8,0		;IO port
tname:	dc.b "trackdisk.device",0
even
Start=0
Len=64
sector:
