;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; HF-9037 CLOCK
; RTC VT82885
;
;       PC0     CS/
;       PC1     AS
;       PC2     WR/
;       PC3     RD/
;       PC4     RESET/
;       PB0-PB7 AD0-AD7
;
;  NADAJE CZAS CO MINUTĘ
;  MUSI BYĆ WCZEŚNIEJ USTAWIONY PROGRAMEM HF9037 SET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

include 'HAVR_INS30.ASM'

RESET		equ	0xED
DESELECT	equ	0xFD
IDLE		equ	0xFC
LATCH_ADR	equ	0xFE
READ		equ	0xF4
WRITE		equ	0xF8


ADR	ENTRY_POINT
	START

READ_LOOP:
	LDA	0x0A		; REG A
	CALL	READ_BYTE
	PHB
	PPA
	LDB	0x80		; UIP bit
	AND
	CPBNE	0, READ_LOOP	; UIP

	LDA	0x00		; SEC
	CALL	READ_BYTE
	PHB
	PPA
	CPBNE	0x00, READ_LOOP

	LDA	0x04		; HRS
	CALL	READ_BYTE
	PHB
	PPA
	DSP
	LDA	0x02		; MIN
	CALL	READ_BYTE
	PHB
	PPA
	DSP
	DEL1
	JMP	READ_LOOP



; WE: A - ADRES, WY: B -DATA
READ_BYTE:
	WPB
	LDA	IDLE
	WPC
	LDA	LATCH_ADR
	WPC
	LDA	IDLE
	WPC
	PHB
	PPA
	WPB
	LDA	READ	; RD/
	WPC
	RPB
	PHA
	PPB
	LDA	DESELECT
	WPC
	RET


	INFO_SECTION

ADR	FILE_NAME
	db 'HF9037 CLOCK',0

	FILE_END

