home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 19 / af019.adf / Macros / LibraryOpenCloseMACROS.i < prev   
Text File  |  1978-04-04  |  3KB  |  152 lines

  1. *This file contains Macros for opening and closing libraries
  2.  
  3. *Contains;
  4. * MACRO    LibraryOpen        (LibraryName, [LibraryAddress])
  5. * MACRO    LibraryOpenE        (LibraryName, [LibraryAddress])
  6. * MACRO    Clist_Library_Data
  7. * MACRO    Console_Library_Data
  8. * MACRO    Diskfont_Library_Data
  9. * MACRO    Dos_Library_Data
  10. * MACRO    Graphics_Library_Data
  11. * MACRO    Icon_Library_Data
  12. * MACRO    Int_Library_Data
  13. * MACRO    Layers_Library_Data
  14. * MACRO    Mathffp_Library_Data
  15. * MACRO    Mathieee_Library_Data
  16. * MACRO    Mathtrans_Library_Data
  17. * MACRO    Potgo_Library_Data
  18. * MACRO    Timer_Library_Data
  19. * MACRO    Translator_Library_Data
  20. * MACRO    LibraryClose        (LibraryAddress)
  21. * MACRO    LibraryCloseE        (LibraryAddress)
  22. * MACRO    Active            (LibraryAddress)
  23. * MACRO    Call            (FunctionOffset)
  24.  
  25.     IFND    Exec_Base
  26. Exec_Base    equ    4
  27.     ENDC
  28.     IFND    OpenLibrary
  29. OpenLibrary    equ    -552
  30.     ENDC
  31.     IFND    CloseLibrary
  32. CloseLibrary    equ    -414
  33.     ENDC
  34.     
  35. LibraryOpen    MACRO            Open a library
  36.     Active    Exec_Base        Execbase pointer
  37.     move.l    #33,d0            Use version 1.2 or higher
  38.     lea    \1,a1            Pointer to library name
  39.     jsr    OpenLibrary(a6)
  40.     move.l    d0,\2            Save pointer to library
  41.     ENDM
  42.  
  43. LibraryOpenE    MACRO            EXECbase already in A6
  44.     move.l    #33,d0            Use version 1.2 or higher
  45.     lea    \1,a1
  46.     jsr    OpenLibrary(a6)
  47.     move.l    d0,\2
  48.     ENDM
  49.  
  50. Clist_Library_Data        MACRO
  51. CLIST_Name    dc.b    "clist.library",0
  52.     even
  53. Clist_Base    dc.l    0
  54.     ENDM
  55.  
  56. Console_Library_Data        MACRO
  57. CONSOLE_Name    dc.b    "console.library",0
  58.     even
  59. Console_Base    dc.l    0
  60.     ENDM
  61.  
  62. Diskfont_Library_Data        MACRO
  63. DISKFONT_Name    dc.b    "diskfont.library",0
  64.     even
  65. Diskfont_Base    dc.l    0
  66.     ENDM
  67.  
  68. Dos_Library_Data        MACRO
  69. DOS_Name    dc.b    "dos.library",0
  70.     even
  71. Dos_Base        dc.l    0
  72.     ENDM
  73.  
  74. Graphics_Library_Data        MACRO
  75. GRAPHICS_Name    dc.b    "graphics.library",0
  76.     even
  77. Graphics_Base    dc.l    0
  78.     ENDM
  79.  
  80. Icon_Library_Data        MACRO
  81. ICON_Name    dc.b    "icon.library",0
  82.     even
  83. Icon_Base    dc.l    0
  84.     ENDM
  85.  
  86. Int_Library_Data        MACRO
  87. INT_Name    dc.b    "intuition.library",0
  88.     even
  89. Int_Base    dc.l    0
  90.     ENDM
  91.  
  92. Layers_Library_Data        MACRO
  93. LAYERS_Name    dc.b    "layers.library",0
  94.     even
  95. Layers_Base    dc.l    0
  96.     ENDM
  97.  
  98. Mathffp_Library_Data        MACRO
  99. MATHFFP_Name    dc.b    "mathffp.library",0
  100.     even
  101. Mathffp_Base    dc.l    0
  102.     ENDM
  103.  
  104. Mathieee_Library_Data        MACRO
  105. MATHIEEE_Name    dc.b    "mathieeedoubbas.library",0
  106.     even
  107. Mathieee_Base    dc.l    0
  108.     ENDM
  109.  
  110. Mathtrans_Libraru_Data        MACRO
  111. MATHTRANS_Name    dc.b    "mathtrans.library",0
  112.     even
  113. Mathtrans_Base    dc.l    0
  114.     ENDM
  115.  
  116. Potgo_Library_Data        MACRO
  117. POTGO_Name    dc.b    "potgo.library",0
  118.     even
  119. Potgo_Base    dc.l    0
  120.     ENDM
  121.  
  122. Timer_Library_Data        MACRO
  123. TIMER_Name    dc.b    "timer.library",0
  124.     even
  125. Timer_Base    dc.l    0
  126.     ENDM
  127.  
  128. Translator_Library_Data        MACRO
  129. TRANSLATOR_Name    dc.b    "translator.library",0
  130.     even
  131. Translator_Base    dc.l    0
  132.     ENDM
  133.  
  134. LibraryClose    MACRO
  135.     Active    Exec_Base    pointer to EXECbase
  136.     move.l    \1,a1        pointer to library
  137.     jsr    CloseLibrary(a6)
  138.     ENDM
  139.  
  140. LibraryCloseE    MACRO        EXECbase already in A6
  141.     move.l    \1,a1
  142.     jsr    CloseLibrary(a6)
  143.     ENDM
  144.  
  145. Active        MACRO        Place library base address into a6
  146.     move.l    \1,a6
  147.     ENDM
  148.  
  149. Call        MACRO        Call library function
  150.     jsr    \1(a6)
  151.     ENDM
  152.