home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 1.2 / amidev_cd_12.iso / reference_library / devices / dev_examples / hp_laserjet_init.asm < prev    next >
Encoding:
Assembly Source File  |  1992-08-20  |  3.5 KB  |  127 lines

  1. **********************************************************************
  2. *
  3. *       printer device functions
  4. *
  5. **********************************************************************
  6.  
  7.         SECTION         printer
  8.  
  9. *------ Included Files -----------------------------------------------
  10.  
  11.         INCLUDE         "exec/types.i"
  12.         INCLUDE         "exec/nodes.i"
  13.         INCLUDE         "exec/lists.i"
  14.         INCLUDE         "exec/memory.i"
  15.         INCLUDE         "exec/ports.i"
  16.         INCLUDE         "exec/libraries.i"
  17.  
  18.         INCLUDE         "macros.i"
  19.  
  20. *------ Imported Functions -------------------------------------------
  21.  
  22.         XREF_EXE        CloseLibrary
  23.         XREF_EXE        OpenLibrary
  24.         XREF            _AbsExecBase
  25.  
  26.         XREF            _PEDData
  27.  
  28. *------ Exported Globals ---------------------------------------------
  29.  
  30.         XDEF            _Init
  31.         XDEF            _Expunge
  32.         XDEF            _Open
  33.         XDEF            _PD
  34.         XDEF            _PED
  35.         XDEF            _SysBase
  36.         XDEF            _DOSBase
  37.         XDEF            _GfxBase
  38.         XDEF            _IntuitionBase
  39.  
  40. **********************************************************************
  41.         SECTION         printer,DATA
  42. _PD             DC.L    0
  43. _PED            DC.L    0
  44. _SysBase        DC.L    0
  45. _DOSBase        DC.L    0
  46. _GfxBase        DC.L    0
  47. _IntuitionBase  DC.L    0
  48.  
  49. **********************************************************************
  50.         SECTION         printer,CODE
  51. _Init:
  52.                 MOVE.L  4(A7),_PD
  53.                 LEA     _PEDData(PC),A0
  54.                 MOVE.L  A0,_PED
  55.                 MOVE.L  A6,-(A7)
  56.                 MOVE.L  _AbsExecBase,A6
  57.                 MOVE.L  A6,_SysBase
  58.  
  59. *           ;------ open the dos library
  60.                 LEA     DLName(PC),A1
  61.                 MOVEQ   #0,D0
  62.                 CALLEXE OpenLibrary
  63.                 MOVE.L  D0,_DOSBase
  64.                 BEQ     initDLErr
  65.  
  66. *           ;------ open the graphics library
  67.                 LEA     GLName(PC),A1
  68.                 MOVEQ   #0,D0
  69.                 CALLEXE OpenLibrary
  70.                 MOVE.L  D0,_GfxBase
  71.                 BEQ     initGLErr
  72.  
  73. *           ;------ open the intuition library
  74.                 LEA     ILName(PC),A1
  75.                 MOVEQ   #0,D0
  76.                 CALLEXE OpenLibrary
  77.                 MOVE.L  D0,_IntuitionBase
  78.                 BEQ     initILErr
  79.  
  80.                 MOVEQ   #0,D0
  81. pdiRts:
  82.                 MOVE.L  (A7)+,A6
  83.                 RTS
  84.  
  85. initPAErr:
  86.                 MOVE.L  _IntuitionBase,A1
  87.                 LINKEXE CloseLibrary
  88. initILErr:
  89.                 MOVE.L  _GfxBase,A1
  90.                 LINKEXE CloseLibrary
  91. initGLErr:
  92.                 MOVE.L  _DOSBase,A1
  93.                 LINKEXE CloseLibrary
  94. initDLErr:
  95.                 MOVEQ   #-1,D0
  96.                 BRA.S   pdiRts
  97.  
  98. ILName:
  99.                 DC.B    'intuition.library'
  100.                 DC.B    0
  101. DLName:
  102.                 DC.B    'dos.library'
  103.                 DC.B    0
  104. GLName:
  105.                 DC.B    'graphics.library'
  106.                 DC.B    0
  107.                 DS.W    0
  108.  
  109. *---------------------------------------------------------------------
  110. _Expunge:
  111.                 MOVE.L  _IntuitionBase,A1
  112.                 LINKEXE CloseLibrary
  113.  
  114.                 MOVE.L  _GfxBase,A1
  115.                 LINKEXE CloseLibrary
  116.  
  117.                 MOVE.L  _DOSBase,A1
  118.                 LINKEXE CloseLibrary
  119.  
  120. *---------------------------------------------------------------------
  121. _Open:
  122.                 MOVEQ   #0,D0
  123.                 RTS
  124.  
  125.                 END
  126.  
  127.