home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 1: Collection A / 17Bit_Collection_A.iso / files / 396.dms / 396.adf / Tracker.S
Encoding:
Text File  |  1988-06-11  |  1.5 KB  |  82 lines

  1. *********************************
  2. **   BOOTY  IS PROGRAMMED BY   **
  3. ** WINDWALKER OF CRYPTOBURNERS **
  4. **         20/9 - 1988         **
  5. *********************************
  6.  
  7. exec= 4
  8. addport= -354
  9. remport= -360
  10. findtask= -294
  11. opendevice= -444
  12. closedevice= -450
  13. doio= -456
  14.  
  15. ;MORE ABOUT THESE VALUES IN ROM * KERNEL MANUAL
  16. cmd_read= 2
  17. cmd_write= 3
  18. cmd_update= 4
  19. cmd_clear= 5
  20. td_motor= 9
  21. td_seek= 10
  22. td_format= 11
  23. td_remove= 12
  24. td_changenum= 13
  25. td_changestate= 14
  26. td_protstatus= 15
  27. ;------------------------------
  28.  
  29.     move.l exec,a6
  30.     move.l #0,a1
  31.     jsr findtask(a6)        
  32.     move.l d0,diskrep+$10
  33.  
  34.     lea diskrep,a1
  35.     jsr addport(a6)
  36.  
  37.     lea diskio,a1
  38.     move.l #0,d0        ;drive number (DFn:)
  39.     clr.l d1
  40.     lea tname,a0        ;"trackdisk.device"
  41.     jsr opendevice(a6)    ;open trackdisk device
  42.     tst.l d0        ;test D0
  43.     bne error        ;if errors occured
  44.  
  45.     lea diskio,a1    
  46.     move.l #diskrep,14(a1)    ;port pointer
  47.     move.w #cmd_write,28(a1);WRITE sectors
  48.     move.l #sector,40(a1)    ;SECTOR = buffer
  49.     move.l Len,d0
  50.     mulu #200,d0
  51.     move.l d0,36(a1)    ;length = 2 sectors    
  52.     move.l Start,d0
  53.     mulu #200,d0
  54.     move.l d0,44(a1)    ;offset = 0 sectors
  55.     jsr doio(a6)
  56.  
  57.     move.w #cmd_update,28(a1) ;write BACK track-buffer
  58.     jsr doio(a6)        ;    
  59.  
  60.     move.w #td_motor,28(a1)    ;MOTOR
  61.     move.l #0,36(a1)    ;0=OFF/1=ON 
  62.     jsr doio(a6)
  63.  
  64.     lea diskrep,a1
  65.     jsr remport(a6)
  66.  
  67.     lea diskio,a1
  68.     jsr closedevice(a6)    ;close trackdisk device
  69.     rts
  70. Error:    move.w #-1,d0
  71. ErLop:    move.w d0,$dff180
  72.     dbf d0,ErLop
  73.     rts
  74.  
  75. diskio:    blk.l 20,0        ;input/output (IO)structure
  76. diskrep:blk.l 8,0        ;IO port
  77. tname:    dc.b "trackdisk.device",0
  78. even
  79. Start=0
  80. Len=64
  81. sector:
  82.