home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 100 / af100b.adf / patches.lzx / PinballDreamsPatch / src / lib / macros.i < prev    next >
Encoding:
Text File  |  1997-06-18  |  1.5 KB  |  108 lines

  1.  
  2.     include    "/lib/utils_macros.i"
  3.  
  4. GO_SUPERVISOR:MACRO
  5.     move.l    _SysBase,A6
  6.     JSRLIB    SuperState
  7.     move.l    D0,_userstack
  8.     ENDM
  9.  
  10. SAVE_OSDATA:MACRO
  11.     move.l    D0,-(sp)
  12.     move.l    #\1,D0
  13.     JSRABS    SaveOSData
  14.     move.l    (sp)+,D0
  15.     ENDM
  16.  
  17. GETUSRADDR:MACRO
  18.     move.l    _user_pbuffer(PC),D0
  19.     add.l    #\1,D0
  20.     sub.l    #_UserPatchRoutines,D0
  21.     ENDM
  22.  
  23. PATCHABSJMP:MACRO
  24.     movem.l    D0/A1,-(sp)
  25.     lea    \1,A1
  26.     move.w    #$4EF9,(A1)+
  27.     move.l    #\2,(A1)+
  28.     movem.l    (sp)+,D0/A1
  29.     ENDM
  30.  
  31. PATCHABSJSR:MACRO
  32.     movem.l    D0/A1,-(sp)
  33.     lea    \1,A1
  34.     move.w    #$4EB9,(A1)+
  35.     move.l    #\2,(A1)+
  36.     movem.l    (sp)+,D0/A1
  37.     ENDM
  38.  
  39.  
  40. PATCHUSRJMP:MACRO
  41.     movem.l    D0/A1,-(sp)
  42.     GETUSRADDR    \2
  43.     lea    \1,A1
  44.     move.w    #$4EF9,(A1)+
  45.     move.l    D0,(A1)+
  46.     movem.l    (sp)+,D0/A1
  47.     ENDM
  48.  
  49. PATCHUSRJSR:MACRO
  50.     movem.l    D0/A1,-(sp)
  51.     GETUSRADDR    \2
  52.     lea    \1,A1
  53.     move.w    #$4EB9,(A1)+
  54.     move.l    D0,(A1)+
  55.     movem.l    (sp)+,D0/A1
  56.     ENDM
  57.  
  58. PATCHGENJMP:MACRO
  59.     movem.l    D0/A1,-(sp)
  60.     GETGENADDR    \2
  61.     lea    \1,A1
  62.     move.w    #$4EF9,(A1)+
  63.     move.l    D0,(A1)+
  64.     movem.l    (sp)+,D0/A1
  65.     ENDM
  66.  
  67. PATCHGENJSR:MACRO
  68.     movem.l    D0/A1,-(sp)
  69.     GETGENADDR    \2
  70.     lea    \1,A1
  71.     move.w    #$4EB9,(A1)+
  72.     move.l    D0,(A1)+
  73.     movem.l    (sp)+,D0/A1
  74.     ENDM
  75.  
  76.  
  77. RELOCATE:MACRO
  78.     movem.l    D0/A0/A1,-(sp)
  79.     GETUSRADDR    \1
  80.     move.l    D0,A0
  81.     move.l    #\1,A1        ; to be sure to get absolute address.
  82.     move.l    (A1),(A0)    ; relocation in the usr patch routines zone.
  83.     movem.l    (sp)+,D0/A0/A1
  84.     ENDM
  85.  
  86. HD_PARAMS:MACRO
  87. fname:
  88.     dc.b    \1
  89. nname:
  90.     dc.b    "0",0
  91.     XDEF    _conname
  92. _conname:
  93.     dc.b    \2,0
  94.     cnop    0,4
  95.     XDEF    _fname_val
  96. _fname_val:
  97.     dc.l    fname
  98.     XDEF    _nname_val
  99. _nname_val:
  100.     dc.l    nname
  101.     XDEF    _filesize
  102. _filesize:
  103.     dc.l    \3
  104.     XDEF    _nbdisks
  105. _nbdisks:
  106.     dc.l    \4
  107.     ENDM
  108.