home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 1.2 / amidev_cd_12.iso / reference_library / devices / dev_examples / epsonx_init.asm < prev    next >
Encoding:
Assembly Source File  |  1992-08-20  |  3.6 KB  |  138 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            _Close
  34.         XDEF            _PD
  35.         XDEF            _PED
  36.         XDEF            _SysBase
  37.         XDEF            _DOSBase
  38.         XDEF            _GfxBase
  39.         XDEF            _IntuitionBase
  40.  
  41. **********************************************************************
  42.         SECTION         printer,DATA
  43. _PD             DC.L    0
  44. _PED            DC.L    0
  45. _SysBase        DC.L    0
  46. _DOSBase        DC.L    0
  47. _GfxBase        DC.L    0
  48. _IntuitionBase  DC.L    0
  49.  
  50. **********************************************************************
  51.         SECTION         printer,CODE
  52. _Init:
  53.                 MOVE.L  4(A7),_PD
  54.                 LEA     _PEDData(PC),A0
  55.                 MOVE.L  A0,_PED
  56.                 MOVE.L  A6,-(A7)
  57.                 MOVE.L  _AbsExecBase,A6
  58.                 MOVE.L  A6,_SysBase
  59.  
  60. *           ;------ open the dos library
  61.                 LEA     DLName(PC),A1
  62.                 MOVEQ   #0,D0
  63.                 CALLEXE OpenLibrary
  64.                 MOVE.L  D0,_DOSBase
  65.                 BEQ     initDLErr
  66.  
  67.  
  68. *           ;------ open the graphics library
  69.                 LEA     GLName(PC),A1
  70.                 MOVEQ   #0,D0
  71.                 CALLEXE OpenLibrary
  72.                 MOVE.L  D0,_GfxBase
  73.                 BEQ     initGLErr
  74.  
  75. *           ;------ open the intuition library
  76.                 LEA     ILName(PC),A1
  77.                 MOVEQ   #0,D0
  78.                 CALLEXE OpenLibrary
  79.                 MOVE.L  D0,_IntuitionBase
  80.                 BEQ     initILErr
  81.  
  82.                 MOVEQ   #0,D0
  83. pdiRts:
  84.                 MOVE.L  (A7)+,A6
  85.                 RTS
  86.  
  87. initPAErr:
  88.                 MOVE.L  _IntuitionBase,A1
  89.                 LINKEXE CloseLibrary
  90.  
  91. initILErr:
  92.                 MOVE.L  _GfxBase,A1
  93.                 LINKEXE CloseLibrary
  94.  
  95. initGLErr:
  96.                 MOVE.L  _DOSBase,A1
  97.                 LINKEXE CloseLibrary
  98.  
  99. initDLErr:
  100.                 MOVEQ   #-1,D0
  101.                 BRA.S   pdiRts
  102.  
  103. ILName:
  104.                 DC.B    'intuition.library'
  105.                 DC.B    0
  106. DLName:
  107.                 DC.B    'dos.library'
  108.                 DC.B    0
  109. GLName:
  110.                 DC.B    'graphics.library'
  111.                 DC.B    0
  112.                 DS.W    0
  113.  
  114. *---------------------------------------------------------------------
  115. _Expunge:
  116.                 MOVE.L  _IntuitionBase,A1
  117.                 LINKEXE CloseLibrary
  118.  
  119.                 MOVE.L  _GfxBase,A1
  120.                 LINKEXE CloseLibrary
  121.  
  122.                 MOVE.L  _DOSBase,A1
  123.                 LINKEXE CloseLibrary
  124.  
  125.  
  126. *---------------------------------------------------------------------
  127. _Open:
  128.                 MOVEQ   #0,D0
  129.                 RTS
  130.  
  131. *---------------------------------------------------------------------
  132. _Close:
  133.                 MOVEQ   #0,D0
  134.                 RTS
  135.  
  136.                 END
  137.  
  138.