	.GLOBL	ATTR
	.GLOBL	R.UP	R.DOWN	R.RUL
	.GLOBL	R.HCUR	R.SCUR	R.GCUR
	.GLOBL	R.ATTR	R.PUT	R.GET	R.RES
	.GLOBL	R.CLRE	R.CLR	R.CCLR
	.GLOBL	R.INV	R.SWAB	R.BRIT	R.DARK
	.GLOBL	R.0	R.1	R.01
	.GLOBL	R.MZ	R.PAL

HEIGHT	=	24.
WIDTH	=	80.
WIDTH2	=	WIDTH / 2

.MACRO .PUSH ARGS
.IRP X,<ARGS>
	.IF	NB	<X>
		.IF IDN <X>,#0
			CLR -(SP)
		.IFF
			MOV X,-(SP)
		.ENDC
	.ENDC
.ENDM
.ENDM

.MACRO .POP ARGS
.IRP X,<ARGS>
	MOV (SP)+,X
.ENDM
.ENDM

.MACRO	.WATTR	ATTR
	.PUSH	ATTR
	CALL	R.ATTR
.ENDM

.MACRO	.WHCUR
	CALL	R.HCUR
.ENDM

.MACRO	.WSCUR
	CALL	R.SCUR
.ENDM

.MACRO	.WGCUR	X,Y
	.PUSH	<X, Y>
	CALL	R.GCUR
.ENDM

.MACRO	.WUP
	CALL	R.UP
.ENDM

.MACRO	.WDOWN
	CALL	R.DOWN
.ENDM

.MACRO	.WRUL
	CALL	R.RUL
.ENDM

.MACRO	.W0
	CALL	R.0
.ENDM

.MACRO	.W1
	CALL	R.1
.ENDM

.MACRO	.W01
	CALL	R.01
.ENDM

.MACRO	.WGET	X,Y,DX,DY
	.PUSH	<X, Y, DX,DY>
	CALL	R.GET
.ENDM

.MACRO	.WRES
	CALL	R.RES
.ENDM

.MACRO	.WPUT	BUFF,X,Y,DX
	.PUSH	<BUFF, X, Y, DX>
	CALL	R.PUT
.ENDM

.MACRO	.WCLRE
	CALL	R.CLRE
.ENDM

.MACRO	.WCLR	X,Y,DX
	.PUSH	<X, Y, DX>
	CALL	R.CLR
.ENDM

.MACRO	.WCCLR	X,Y,DX
 	.PUSH	<X, Y, DX>
	CALL	R.CCLR
.ENDM

.MACRO	.WINV	X,Y,DX
	.PUSH	<X, Y, DX>
	CALL	R.INV
.ENDM

.MACRO	.WSWAB	X,Y,DX
	.PUSH	<X, Y, DX>  
	CALL	R.SWAB
.ENDM

.MACRO	.WBRIT	X,Y,DX
	.PUSH	<X, Y, DX> 
	CALL	R.BRIT
.ENDM

.MACRO	.WDARK	X,Y,DX
	.PUSH	<X, Y, DX>
	CALL	R.DARK
.ENDM

.MACRO	.WMZ
	CALL	R.MZ
.ENDM

.MACRO	.WPAL
	CALL	R.PAL
.ENDM
            