home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / program / c / bts310b5 / binktasm.s < prev    next >
Text File  |  1993-07-02  |  2KB  |  101 lines

  1.  
  2.         xdef    port_ptr,device_addr
  3.         xdef    real_flush,init_driver,set_driver,set_new_port
  4.         xdef    get_dcd,get_cts
  5.         xdef    SENDBYTE,SENDCHARS,MODEM_IN,OUT_EMPTY
  6.         xdef    dtr_on,dtr_off,CHAR_AVAIL,OUT_FULL,PEEKBYTE
  7.  
  8.         IMPORT    time_release,HardCTS
  9.  
  10. device_addr:
  11.         dc.l    0
  12. version:
  13.         dc.w    0
  14.  
  15. init_driver:
  16.         move.l    device_addr(pc),a0    * Beim ersten Start: Tabelle ermitteln
  17.         jsr            (a0)
  18.         lea            device_addr(pc),a0
  19.         move.l    d0,(a0)
  20. set_driver:
  21.         move.l    device_addr(pc),a0    * Tabelle nach a0
  22.  
  23.         move.w    80(a0),version
  24.         
  25.         move.l    #time_release,86(a0)
  26.         move.w    port_ptr,d0
  27.         addq.w    #1,d0
  28.         move.w    d0,82(a0)
  29.         move.w    HardCTS,84(a0)
  30.         move.w    version(pc),d0
  31.         rts
  32.  
  33. ; SUPER
  34. get_dcd:
  35.         move.l    device_addr(pc),a0
  36.         jmp            (a0)
  37.  
  38. ; SUPER
  39. get_cts:
  40.         move.l    device_addr(pc),a0
  41.         addq.w    #4,a0
  42.         jmp            (a0)
  43.  
  44. SENDBYTE:
  45.         move.l    device_addr(pc),a0
  46.         addq.w    #8,a0
  47.         jmp            (a0)
  48.  
  49. SENDCHARS:
  50.         move.l    device_addr(pc),-(sp)
  51.         add.l        #12,(sp)
  52.         rts
  53.  
  54. set_new_port:
  55.         move.l    device_addr(pc),a0
  56.         lea            16(a0),a0
  57.         jmp            (a0)
  58.  
  59. MODEM_IN:
  60.         move.l    device_addr(pc),a0
  61.         lea            20(a0),a0
  62.         jmp            (a0)
  63.  
  64. CHAR_AVAIL:
  65.         move.l    device_addr(pc),a0
  66.         lea            24(a0),a0
  67.         jmp            (a0)
  68.  
  69. OUT_FULL:
  70.         move.l    device_addr(pc),a0
  71.         lea            28(a0),a0
  72.         jmp            (a0)
  73.  
  74. PEEKBYTE:
  75.         move.l    device_addr(pc),a0
  76.         lea            32(a0),a0
  77.         jmp            (a0)
  78.  
  79. ; SUPER
  80. dtr_on:
  81.         move.l    device_addr(pc),a0
  82.         lea            36(a0),a0
  83.         jmp            (a0)
  84.  
  85. ; SUPER
  86. dtr_off:
  87.         move.l    device_addr(pc),a0
  88.         lea            40(a0),a0
  89.         jmp            (a0)
  90.  
  91. OUT_EMPTY:
  92.         move.l    device_addr(pc),a0
  93.         lea            44(a0),a0
  94.         jmp            (a0)
  95.  
  96. real_flush:
  97.         moveq #0,d0
  98.         rts
  99.  
  100.         end
  101.