; -----------------------------------------------------------------------
; :		RP.INC - include datoteka za projekt RP			:
; :	(C) 26.11.1990 Leon Kos, Cerknica cesta 4.maja 11a		:
; -----------------------------------------------------------------------

	PAGE 98			;Nastavimo {tevilo vrstic na eno stran 

;Skupne definicije za projekt  REKLAMNI PANEL 

X 	EQU 	0DDh 		;byte za sinteti~ne ukaze
Y	EQU	0FDh 		;byte za sinteti~ne ukaze

;Konfiguracijske definicije
VIDEOPORTS 	EQU	12	;{tevilo portov displaya
VIDEOLINES	EQU	9	;{tevilo vrstic displaya
VIDEOPAGES	EQU	2	;{tevilo video strani

;I/O naslovi
P1	EQU	80h		;LS365 in LS374 I/O port
RTC	EQU	40h		;Ura realnega ~asa
PIO	EQU	00h		;Paralelni port
SIO	EQU    0C0h		;Serijski port
VIDEO	EQU   VIDEOPORTS-1	;Video MREQ port

;P1 365 bit maske - glej P1INMASK
INT1	EQU	00000010b	;detekcija prve vrstice
KCLK	EQU	00000100b	;keyboard clock
KDATA	EQU	00001000b	;keyboard data
LK1	EQU	01000000b	;skaka~ {t. 1
LK2	EQU	00100000b	;skaka~ {t. 2
LK3	EQU	00010000b	;skaka~ {t. 3

;P1 374 bit maske - glej P1OUTMASK
DSP	EQU	00100000b	;DS signal
WDC	EQU	00001000b	;Watch Dog Clock
KCLKD	EQU	00000010b	;Keyboard Clock Data
KDATAD	EQU	00000001b	;Kbd Data Data
NMIEN	EQU	00010000b	;NMI enable


;Naslovi v RAMU
STACK		EQU	8800h	;za~etek sklada in konec rama
RAMSTART	EQU	8000h	;za~etek RAMa
VIDEORAM	EQU	8100h	;za~etek Video spomina
PAGESIZE 	EQU 	(VIDEOPORTS+2)*VIDEOLINES
TXTBEG		EQU	VIDEORAM+VIDEOPAGES*PAGESIZE+VIDEOPORTS/2
TXTLAST		EQU	STACK-50;zadnji naslov za podatke

;Naslovi spremenljivk v RAMU
P1OUTMASK	EQU	8000h	;byte maska za 374 port
P1INMASK	EQU	8001h	;byte maka za 365 port
CHARS		EQU	8002h	;kazalec na za~etek tabele oblike ~rk
CHARSDE		EQU	8004h	;kazalec, kamor kopira PO_CHAR
CURDPAGE	EQU	8006h	;aktivna stran video displaya
CURPAGEPTR	EQU	8007h	;kazalec na trenutno video stran
TTYDLY		EQU	800Ah	;Teletype mode scroll delay
SCRUPDNDLY	EQU	800Bh	;delay za scroll gor ali dol
KEYSDOWN	EQU	800Ch	;tipke INS=7,CAPS,NUM,SCRL,ALT,CTRL,LSH,RSH=0
KEYSTOGGLE	EQU	800Dh	;tipke INS=7,CAPS,NUM,SCRL=4
TXTEND		EQU	800Eh	;kazalec na konec podatkov
FLASHDLY	EQU	8010h	;zakasnitev pri utripanju
TIMEDLY		EQU	8011h	;zakasnitev pri izpisu casa
CPTR		EQU	8012h	;cursor - teko~i kazalec na pozicijo v textu
TXTCRC		EQU	8014h	;kontrolna vsota teksta
TIMECURSOR	EQU	8016h	;pozicija kurzor pri editiranju ~asa

;RST labele
CLRWDT		EQU	08h	;Brisi Watch Dog


;Makro ukazi

MOVI 	MACRO  index, dest, data  ;;Sinteti~ni Z80 ukaz.
	DEFB index		  	
	LD dest,data
	ENDM			  ;;primer MOVI X A, L


SWAP	MACRO	;;Zamenja 4 bitna bloka v akumulatorju
	REPT 4
	rlca
	ENDM
	ENDM

TSTBIT	MACRO bitmask,port
	in a,(port)
	and bitmask
	ENDM

PUSHALL MACRO
	push hl
	push de
	push bc
	push af
	ENDM
POPALL	MACRO
	pop af
	pop bc
	pop de
	pop hl
	ENDM

HEXASC	MACRO
	and 0fh		;Konverzija HEX v ASCII kodo
	add a,90h
	daa
	adc a,40h
	daa
	ENDM

SETP1	MACRO bitmask
	ld a,(P1OUTMASK) ; pri`ge bitmask na P1
	or bitmask
	ld (P1OUTMASK),a
	out (P1),a
	ENDM

CLRP1	MACRO bitmask
	ld a,(P1OUTMASK) ; pri`ge bitmask na P1
	and NOT bitmask
	ld (P1OUTMASK),a
	out (P1),a
	ENDM