home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 446.lha / AztecArp / Sources.LZH / tracker.asm < prev    next >
Assembly Source File  |  1990-08-01  |  1KB  |  96 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.  
  14.     public    _ArpBase
  15.  
  16.     cseg
  17.  
  18. FDECL    MACRO
  19.     public    _\1
  20.     _\1:
  21.  
  22. LIBOFF    SET    _LVO\1
  23.     ENDM
  24.  
  25. ARPCALL MACRO
  26.     move.l    a6,-(sp)
  27.     move.l    _ArpBase,a6
  28.     jsr    LIBOFF(a6)
  29.     move.l    (sp)+,a6
  30.     ENDM
  31.  
  32.     FDECL    ArpAllocMem
  33.     movem.l 4(sp),d0-d1
  34.     ARPCALL
  35.  
  36. Check_Save:
  37.     tst.l    d0        ; Check for return error...
  38.     beq.s    Exit_Save    ; If error, skip setting...
  39.  
  40. Save_Second:
  41.     movea.l    4,a0
  42.     move.l    ThisTask(a0),a0
  43.     move.l    a1,pr_Result2(a0)
  44.  
  45. Exit_Save:
  46.     rts
  47.  
  48.     FDECL    ArpOpen
  49.     movem.l 4(sp),d1-d2
  50.     ARPCALL
  51.     bra.s    Check_Save
  52.  
  53.     FDECL    ArpDupLock
  54.     move.l    4(sp),d1
  55.     ARPCALL
  56.     bra.s    Check_Save
  57.  
  58.     FDECL    ArpLock
  59.     movem.l 4(sp),d1/d2
  60.     ARPCALL
  61.     bra.s    Check_Save
  62.  
  63.     FDECL    ArpAlloc
  64.     move.l    4(sp),d0
  65.     ARPCALL
  66.     bra.s    Check_Save
  67.  
  68.     FDECL    RListAlloc
  69.     move.l    4(sp),a0
  70.     move.l    8(sp),d0
  71.     ARPCALL
  72.     bra.s    Check_Save
  73.  
  74.     FDECL    ArpOpenLibrary
  75.     move.l    4(sp),a1
  76.     move.l    8(sp),d0
  77.     ARPCALL
  78.     bra.s    Check_Save
  79.  
  80.     FDECL    ArpAllocFreq
  81.     ARPCALL
  82.     bra.s    Check_Save
  83.  
  84.     FDECL    GetTracker
  85.     ARPCALL
  86.  
  87.     tst.l    d0
  88.  
  89.     beq.s    No_Tracker    ; No tracker, ERROR!
  90.     move.w    6(sp),dt_ID(a1) ; Save ID  (It was LONG)
  91. No_Tracker:
  92.     move.l    a1,d0        ; Put into return register
  93.     bra.s    Save_Second    ; Also save it...
  94.  
  95.     END
  96.