home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff353.lzh / AztecArp / tracker.asm < prev    next >
Assembly Source File  |  1990-06-02  |  1KB  |  92 lines

  1. ; Glue routines for arp.library and MANX/AZTEC 'C'
  2. ; Copyright (C) 1987, Scott Ballantyne
  3. ; Use at your own risk, etc., etc.
  4. ; May be freely used.
  5.  
  6.     INCLUDE "exec/execbase.i"
  7.     INCLUDE "libraries/arpbase.i"
  8.     INCLUDE "libraries/dosextens.i"
  9.  
  10. ; Variables used by 'C' to access certain extra arplibrary returns
  11.  
  12.     dseg
  13.     public    _ArpBase
  14.     public    _AbsExecBase
  15.     cseg
  16.  
  17. FDECL    MACRO
  18.     public    _\1
  19.     _\1:
  20. LIBOFF    SET    _LVO\1
  21.     ENDM
  22.  
  23. ARPJMP    MACRO
  24.     move.l    _ArpBase,a6
  25.     jmp    LIBOFF(a6)
  26.     ENDM
  27.  
  28. ARPCALL MACRO
  29.     move.l    _ArpBase,a6
  30.     jsr    LIBOFF(a6)
  31.     ENDM
  32.  
  33.  
  34.     FDECL    ArpAllocMem
  35.     movem.l 4(sp),d0-d1
  36.     ARPCALL
  37.  
  38. Check_Save:    tst.l        d0        ; Check for return error...
  39.         beq.s        Exit_Save    ; If error, skip setting...
  40.         far data
  41. Save_Second:    move.l        _AbsExecBase,a0
  42.         near data
  43.         move.l        ThisTask(a0),a0
  44.         move.l        a1,pr_Result2(a0)
  45. Exit_Save:    rts
  46.  
  47.     FDECL    ArpOpen
  48.     movem.l 4(sp),d1-d2
  49.     ARPCALL
  50.     bra.s    Check_Save
  51.  
  52.     FDECL    ArpDupLock
  53.     move.l    4(sp),d1
  54.     ARPCALL
  55.     bra.s    Check_Save
  56.  
  57.     FDECL    ArpLock
  58.     movem.l 4(sp),d1/d2
  59.     ARPCALL
  60.     bra.s    Check_Save
  61.  
  62.     FDECL    ArpAlloc
  63.     move.l    4(sp),d0
  64.     ARPCALL
  65.     bra.s    Check_Save
  66.  
  67.     FDECL    RListAlloc
  68.     move.l    4(sp),a0
  69.     move.l    8(sp),d0
  70.     ARPCALL
  71.     bra.s    Check_Save
  72.  
  73.     FDECL    ArpOpenLibrary
  74.     move.l    4(sp),a1
  75.     move.l    8(sp),d0
  76.     ARPCALL
  77.     bra.s    Check_Save
  78.  
  79.     FDECL    ArpAllocFreq
  80.     ARPCALL
  81.     bra.s    Check_Save
  82.  
  83.     FDECL    GetTracker
  84.     ARPCALL
  85.         beq.s        No_Tracker    ; No tracker, ERROR!
  86.         move.w        6(sp),dt_ID(a1) ; Save ID  (It was LONG)
  87. No_Tracker:    move.l        a1,d0        ; Put into return register
  88.         bra.s        Save_Second    ; Also save it...
  89.  
  90.     END
  91.  
  92.