;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; HF-9037 SET
; RTC VT82885
;
;       PC0     CS/
;       PC1     AS
;       PC2     WR/
;       PC3     RD/
;       PC4     RESET/
;       PB0-PB7 AD0-AD7
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

INIT:
	LDA	RESET
	WPC
	RPB
	DEL500M
	LDA	DESELECT
	WPC
	LDA	0x0A		; REG A
	LDB	0x20		; START COUNTING
	CALL	WRITE_BYTE
	LDA	0x0B		; REG B
	LDB	0x82		; SET, FORMAT BCD
	CALL	WRITE_BYTE
	WRT	_YEAR
	INS
	PHA
	PPB
	LDA	0x09		; YEAR
	CALL	WRITE_BYTE
	WRT	_MON
	INS
	PHA
	PPB
	LDA	0x08		; MONTH
	CALL	WRITE_BYTE
	WRT	_DAY
	INS
	PHA
	PPB
	LDA	0x07		; DAY
	CALL	WRITE_BYTE
	WRT	_HRS
	INS
	PHA
	PPB
	LDA	0x04		; HRS
	CALL	WRITE_BYTE
	WRT	_MIN
	INS
	PHA
	PPB
	LDA	0x02		; MIN
	CALL	WRITE_BYTE
	LDA	0x00		; SEC
	LDB	0x00		;
	CALL	WRITE_BYTE
	WRT	_OK
	LDA	0x0B		; REG B
	LDB	0x02		; COUNTING, FORMAT BCD
	CALL	WRITE_BYTE
	END



; WE: A - ADRES, B - DATA
WRITE_BYTE:
	WPB
	LDA	IDLE
	WPC
	LDA	LATCH_ADR
	WPC
	LDA	IDLE
	WPC
	PHB
	PPA
	WPB
	LDA	WRITE	 ; WR/
	WPC
	LDA	DESELECT
	WPC
	RET


_YEAR:	db	'YEAR',0
_MON:	db	'MON',0
_DAY:	db	'DAY',0
_HRS:	db	'HRS',0
_MIN:	db	'MIN',0
_OK:	db	'OK',0



	INFO_SECTION

ADR	FILE_NAME
	db 'HF9037 SET',0

	FILE_END

