mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
RTC Device Info Functions
This commit is contained in:
@@ -159,6 +159,10 @@ BQRTC_DISPATCH:
|
||||
JP Z, BQRTC_GETALM ; Get Alarm
|
||||
DEC A
|
||||
JP Z, BQRTC_SETALM ; Set Alarm
|
||||
DEC A
|
||||
JP Z, BQRTC_DEVICE ; Report RTC device info
|
||||
CALL PANIC
|
||||
|
||||
;
|
||||
; NVRAM FUNCTIONS ARE NOT AVAILABLE
|
||||
;
|
||||
@@ -328,6 +332,14 @@ BQRTC_SETALM:
|
||||
; clean up and return
|
||||
XOR A ; Signal success
|
||||
RET ; And return
|
||||
;
|
||||
; REPORT RTC DEVICE INFO
|
||||
;
|
||||
BQRTC_DEVICE:
|
||||
LD D,RTCDEV_BQ ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL DEVICE NUMBER
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
BQRTC_SUSPEND:
|
||||
IN0 A, (BQRTC_CONTROL) ; Suspend Clock
|
||||
|
||||
@@ -235,12 +235,20 @@ DSRTC_DISPATCH:
|
||||
JP Z,DSRTC_GETBLK ; GET NVRAM DATA BLOCK VALUES
|
||||
DEC A
|
||||
JP Z,DSRTC_SETBLK ; SET NVRAM DATA BLOCK VALUES
|
||||
DEC A
|
||||
JP Z,DSRTC_GETALM ; GET ALARM
|
||||
DEC A
|
||||
JP Z,DSRTC_SETALM ; SET ALARM
|
||||
DEC A
|
||||
JP Z,DSRTC_DEVICE ; REPORT RTC DEVICE INFO
|
||||
CALL PANIC
|
||||
;
|
||||
; NVRAM FUNCTIONS ARE NOT AVAILABLE IN SIMULATOR
|
||||
;
|
||||
DSRTC_GETBLK:
|
||||
DSRTC_SETBLK:
|
||||
DSRTC_GETALM:
|
||||
DSRTC_SETALM:
|
||||
CALL PANIC
|
||||
;
|
||||
; RTC GET TIME
|
||||
@@ -350,6 +358,14 @@ DSRTC_SETBYT:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; DONE
|
||||
;
|
||||
; REPORT RTC DEVICE INFO
|
||||
;
|
||||
DSRTC_DEVICE:
|
||||
LD D,RTCDEV_DS ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL DEVICE NUMBER
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; CONVERT DATA IN CLOCK BUFFER TO TIME BUFFER AT HL
|
||||
;
|
||||
DSRTC_CLK2TIM:
|
||||
|
||||
@@ -2427,6 +2427,8 @@ SYS_GET:
|
||||
CP BF_SYSGET_CIOCNT
|
||||
JR Z,SYS_GETCIOCNT
|
||||
CP BF_SYSGET_DIOCNT
|
||||
JR Z,SYS_GETRTCCNT
|
||||
CP BF_SYSGET_RTCCNT
|
||||
JR Z,SYS_GETDIOCNT
|
||||
CP BF_SYSGET_VDACNT
|
||||
JR Z,SYS_GETVDACNT
|
||||
@@ -2543,6 +2545,18 @@ SYS_GETDIOCNT:
|
||||
XOR A ; SIGNALS SUCCESS
|
||||
RET
|
||||
;
|
||||
; GET RTC UNIT COUNT
|
||||
;
|
||||
SYS_GETRTCCNT:
|
||||
LD E,0 ; ASSUME 0 RTC DEVICES
|
||||
LD A,(RTC_DISPACT) ; IS RTC ACTIVE?
|
||||
OR A ; SET FLAGS
|
||||
JR Z,SYS_GETRTCCNT1 ; IF NONE, DONE
|
||||
INC E ; SET ONE DEVICE
|
||||
SYS_GETRTCCNT1:
|
||||
XOR A ; SIGNALS SUCCESS
|
||||
RET
|
||||
;
|
||||
; GET VIDEO UNIT COUNT
|
||||
;
|
||||
SYS_GETVDACNT:
|
||||
|
||||
@@ -32,6 +32,9 @@ BF_RTCGETBYT .EQU BF_RTC + 2 ; GET NVRAM BYTE BY INDEX
|
||||
BF_RTCSETBYT .EQU BF_RTC + 3 ; SET NVRAM BYTE BY INDEX
|
||||
BF_RTCGETBLK .EQU BF_RTC + 4 ; GET NVRAM DATA BLOCK
|
||||
BF_RTCSETBLK .EQU BF_RTC + 5 ; SET NVRAM DATA BLOCK
|
||||
BF_RTCGETALM .EQU BF_RTC + 6 ; GET ALARM
|
||||
BF_RTCSETALM .EQU BF_RTC + 7 ; SET ALARM
|
||||
BF_RTCDEVICE .EQU BF_RTC + 8 ; RTC DEVICE INFO REPORT
|
||||
;
|
||||
BF_EMU .EQU $30 ; DEPRECATED
|
||||
;
|
||||
@@ -89,6 +92,7 @@ BF_SYSINT .EQU BF_SYS + 12 ; MANAGE INTERRUPT VECTORS
|
||||
;
|
||||
BF_SYSGET_CIOCNT .EQU $00 ; GET CHAR UNIT COUNT
|
||||
BF_SYSGET_DIOCNT .EQU $10 ; GET DISK UNIT COUNT
|
||||
BF_SYSGET_RTCCNT .EQU $20 ; GET RTC UNIT COUNT
|
||||
BF_SYSGET_VDACNT .EQU $40 ; GET VDA UNIT COUNT
|
||||
BF_SYSGET_SNDCNT .EQU $50 ; GET VDA UNIT COUNT
|
||||
BF_SYSGET_TIMER .EQU $D0 ; GET CURRENT TIMER VALUE
|
||||
@@ -140,6 +144,13 @@ DIODEV_PRPSD .EQU $70
|
||||
DIODEV_PPPSD .EQU $80
|
||||
DIODEV_HDSK .EQU $90
|
||||
;
|
||||
; RTC DEVICE IDS
|
||||
;
|
||||
RTCDEV_DS .EQU $00 ; DS1322
|
||||
RTCDEV_BQ .EQU $10 ; BQ4845P
|
||||
RTCDEV_SIMH .EQU $30 ; SIMH
|
||||
RTCDEV_INT .EQU $40 ; PERIODIC INT TIMER
|
||||
;
|
||||
; VIDEO DEVICE IDS
|
||||
;
|
||||
VDADEV_VDU .EQU $00 ; ECB VDU - MOTOROLA 6545
|
||||
|
||||
@@ -50,6 +50,12 @@ INTRTC_DISPATCH:
|
||||
JP Z,INTRTC_GETBLK ; GET NVRAM DATA BLOCK VALUES
|
||||
DEC A
|
||||
JP Z,INTRTC_SETBLK ; SET NVRAM DATA BLOCK VALUES
|
||||
DEC A
|
||||
JP Z,INTRTC_GETALM ; GET ALARM
|
||||
DEC A
|
||||
JP Z,INTRTC_SETALM ; SET ALARM
|
||||
DEC A
|
||||
JP Z,INTRTC_DEVICE ; REPORT RTC DEVICE INFO
|
||||
CALL PANIC
|
||||
;
|
||||
; NVRAM FUNCTIONS ARE NOT AVAILABLE IN SIMULATOR
|
||||
@@ -58,6 +64,8 @@ INTRTC_GETBYT:
|
||||
INTRTC_SETBYT:
|
||||
INTRTC_GETBLK:
|
||||
INTRTC_SETBLK:
|
||||
INTRTC_GETALM:
|
||||
INTRTC_SETALM:
|
||||
CALL PANIC
|
||||
;
|
||||
; RTC GET TIME
|
||||
@@ -119,6 +127,14 @@ INTRTC_SETTIM:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; AND RETURN
|
||||
;
|
||||
; REPORT RTC DEVICE INFO
|
||||
;
|
||||
INTRTC_DEVICE:
|
||||
LD D,RTCDEV_INT ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL DEVICE NUMBER
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; HANDLER FOR TIMER SECONDS INTERRUPT
|
||||
;
|
||||
INTRTC_INT:
|
||||
|
||||
@@ -49,6 +49,12 @@ SIMRTC_DISPATCH:
|
||||
JP Z,SIMRTC_GETBLK ; GET NVRAM DATA BLOCK VALUES
|
||||
DEC A
|
||||
JP Z,SIMRTC_SETBLK ; SET NVRAM DATA BLOCK VALUES
|
||||
DEC A
|
||||
JP Z,SIMRTC_GETALM ; GET ALARM
|
||||
DEC A
|
||||
JP Z,SIMRTC_SETALM ; SET ALARM
|
||||
DEC A
|
||||
JP Z,SIMRTC_DEVICE ; REPORT RTC DEVICE INFO
|
||||
CALL PANIC
|
||||
;
|
||||
; NVRAM FUNCTIONS ARE NOT AVAILABLE IN SIMULATOR
|
||||
@@ -57,6 +63,8 @@ SIMRTC_GETBYT:
|
||||
SIMRTC_SETBYT:
|
||||
SIMRTC_GETBLK:
|
||||
SIMRTC_SETBLK:
|
||||
SIMRTC_GETALM:
|
||||
SIMRTC_SETALM:
|
||||
CALL PANIC
|
||||
;
|
||||
; RTC GET TIME
|
||||
@@ -121,6 +129,14 @@ SIMRTC_SETTIM:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; AND RETURN
|
||||
;
|
||||
; REPORT RTC DEVICE INFO
|
||||
;
|
||||
SIMRTC_DEVICE:
|
||||
LD D,RTCDEV_SIMH ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL DEVICE NUMBER
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; WORKING VARIABLES
|
||||
;
|
||||
SIMRTC_BUF: ; ALL IN BCD!!!
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
#DEFINE RMN 1
|
||||
#DEFINE RUP 0
|
||||
#DEFINE RTP 0
|
||||
#DEFINE BIOSVER "3.1-pre.13"
|
||||
#DEFINE BIOSVER "3.1-pre.14"
|
||||
|
||||
@@ -3,5 +3,5 @@ rmn equ 1
|
||||
rup equ 0
|
||||
rtp equ 0
|
||||
biosver macro
|
||||
db "3.1-pre.13"
|
||||
db "3.1-pre.14"
|
||||
endm
|
||||
|
||||
Reference in New Issue
Block a user