;just whack your customized boot block in diskbuff (bop)

;(there is just a little routine in there at the moment to turn off the

;powerlight)

 

execbase  = 4

findtask  = -294

addport   =-354

remport   =-360

openlib   = -408

closelib  = -414

opendev   = -444

closedev  =-450

doio      =-456

 

strt: lea diskbuff,a0

      lea 4(a0),a1

      clr.l (a1)

      move.w   #$00ff,d1

      moveq    #$00,d0

loop: add.l    (a0)+,d0

      bcc      jump

      addq.l   #1,d0

jump: dbf      d1,loop

      not.l    d0

      move.l   d0,(a1)

run:  move.l   execbase,a6

      sub.l    a1,a1

      jsr      findtask(a6)

      move.l   d0,readreply+$10

      lea      readreply,a1

      jsr      addport(a6)

      lea      diskio,a1

      move.l   #0,d0

      clr.l    d1

      lea      trddevice,a0

      jsr      opendev(a6)

      tst.l    d0

      bne      error

      lea      diskio,a1

      move.l   #readreply,14(a1)

      move     #3,28(a1)

      move.l   #diskbuff,40(a1)

      move.l   #2*512,36(a1)

      move.l   #0*512,44(a1)

      move.l   execbase,a6

      jsr      doio(a6)

      move     #4,28(a1)

      move.l   #diskbuff,40(a1)

      move.l   #2*512,36(a1)

      move.l   #0*512,44(a1)

      move.l   execbase,a6

      jsr      doio(a6)

 

      move.l   diskio+32,d6

      lea      diskio,a1

      move     #9,28(a1)

      move.l   #0,36(a1)

      jsr      doio(a6)

      lea      readreply,a1

      jsr      remport(a6)

      lea      diskio,a1

      jsr      closedev(a6)

error:

      rts

trddevice:     dc.b 'trackdisk.device',0

        align

diskio:        blk.l 20,0

readreply:     blk.l 8,0

diskbuff:      dc.b "DOS",0

               dc.l 0

               dc.l $00000370

bop:  lea      resn(pc),a1

      jsr      -96(a6)

      tst.l    d0

      beq      erro

      move.l   d0,a0

      move.l   22(a0),a0

      moveq    #$00,d0

ende: cmp      #7,d0

      beq      erro

      or.b     #2,$bfe001

      rts

erro: bra      ende

resn: dc.b     "dos.library",0

      end