home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 5
/
FreshFish_July-August1994.bin
/
bbs
/
dev
/
rkrm.lha
/
RKRM
/
Printer
/
hp
/
init.asm
< prev
next >
Wrap
Assembly Source File
|
1992-09-03
|
5KB
|
161 lines
*
* Copyright (c) 1992 Commodore-Amiga, Inc.
*
* This example is provided in electronic form by Commodore-Amiga, Inc. for
* use with the "Amiga ROM Kernel Reference Manual: Devices", 3rd Edition,
* published by Addison-Wesley (ISBN 0-201-56775-X).
*
* The "Amiga ROM Kernel Reference Manual: Devices" contains additional
* information on the correct usage of the techniques and operating system
* functions presented in these examples. The source and executable code
* of these examples may only be distributed in free electronic form, via
* bulletin board or as part of a fully non-commercial and freely
* redistributable diskette. Both the source and executable code (including
* comments) must be included, without modification, in any copy. This
* example may not be published in printed form or distributed with any
* commercial product. However, the programming techniques and support
* routines set forth in these examples may be used in the development
* of original executable software products for Commodore Amiga computers.
*
* All other rights reserved.
*
* This example is provided "as-is" and is subject to change; no
* warranties are made. All use is at your own risk. No liability or
* responsibility is assumed.
*
**********************************************************************
*
* printer device functions
*
**********************************************************************
SECTION printer
*------ Included Files -----------------------------------------------
INCLUDE "exec/types.i"
INCLUDE "exec/nodes.i"
INCLUDE "exec/lists.i"
INCLUDE "exec/memory.i"
INCLUDE "exec/ports.i"
INCLUDE "exec/libraries.i"
INCLUDE "macros.i"
*------ Imported Functions -------------------------------------------
XREF_EXE CloseLibrary
XREF_EXE OpenLibrary
XREF _AbsExecBase
XREF _PEDData
*------ Exported Globals ---------------------------------------------
XDEF _Init
XDEF _Expunge
XDEF _Open
XDEF _PD
XDEF _PED
XDEF _SysBase
XDEF _DOSBase
XDEF _GfxBase
XDEF _IntuitionBase
**********************************************************************
SECTION printer,DATA
_PD DC.L 0
_PED DC.L 0
_SysBase DC.L 0
_DOSBase DC.L 0
_GfxBase DC.L 0
_IntuitionBase DC.L 0
**********************************************************************
SECTION printer,CODE
_Init:
MOVE.L 4(A7),_PD
LEA _PEDData(PC),A0
MOVE.L A0,_PED
MOVE.L A6,-(A7)
MOVE.L _AbsExecBase,A6
MOVE.L A6,_SysBase
* ;------ open the dos library
LEA DLName(PC),A1
MOVEQ #0,D0
CALLEXE OpenLibrary
MOVE.L D0,_DOSBase
BEQ initDLErr
* ;------ open the graphics library
LEA GLName(PC),A1
MOVEQ #0,D0
CALLEXE OpenLibrary
MOVE.L D0,_GfxBase
BEQ initGLErr
* ;------ open the intuition library
LEA ILName(PC),A1
MOVEQ #0,D0
CALLEXE OpenLibrary
MOVE.L D0,_IntuitionBase
BEQ initILErr
MOVEQ #0,D0
pdiRts:
MOVE.L (A7)+,A6
RTS
initPAErr:
MOVE.L _IntuitionBase,A1
LINKEXE CloseLibrary
initILErr:
MOVE.L _GfxBase,A1
LINKEXE CloseLibrary
initGLErr:
MOVE.L _DOSBase,A1
LINKEXE CloseLibrary
initDLErr:
MOVEQ #-1,D0
BRA.S pdiRts
ILName:
DC.B 'intuition.library'
DC.B 0
DLName:
DC.B 'dos.library'
DC.B 0
GLName:
DC.B 'graphics.library'
DC.B 0
DS.W 0
*---------------------------------------------------------------------
_Expunge:
MOVE.L _IntuitionBase,A1
LINKEXE CloseLibrary
MOVE.L _GfxBase,A1
LINKEXE CloseLibrary
MOVE.L _DOSBase,A1
LINKEXE CloseLibrary
*---------------------------------------------------------------------
_Open:
MOVEQ #0,D0
RTS
END