diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index ddfdfa1d..e6c0a34e 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -1117,12 +1117,17 @@ BOOTWAIT: JR NZ,BOOTWAIT #ENDIF ; -;#IF ((PLATFORM == PLT_MBC) | (PLATFORM == PLT_SBC)) - ; INITIALIZE RTC LATCH BYTE + ; EARLY RTC LATCH BYTE INITIALIZATION ; FOR SOME PLATFORMS THIS CONTROLS HI/LO SPEED CIRCUIT - LD A,(RTCDEFVAL) ; GET DEFAULT VALUE + ; NOTE: WE WANT TO USE (RTCDEFVAL) HERE, BUT THE Z2 MEMORY + ; MANAGER STARTS UP WITH THE FIRST 16K OF ROM MAPPED TO ALL + ; 4 16K BANKS OF CPU SPACE. SO, IF RTCDEVFAL IS LOCATED AFTER + ; PAST 16K, WE DON'T HAVE ACCESS TO IT. FOR NOW, WE JUST USE + ; RTCDEF WHICH IS SUBOPTIMAL, BUT PROBABLY DOES NOT CAUSE ANY + ; PROBLEMS. + ;LD A,(RTCDEFVAL) ; GET DEFAULT VALUE + LD A,RTCDEF ; DEFAULT VALUE OUT (RTCIO),A ; SET IT -;#ENDIF ; #IF (PLATFORM == PLT_N8) LD A,N8_DEFACR ; ENSURE N8 ACR @@ -1144,7 +1149,9 @@ BOOTWAIT: XOR A ; LED IS INVERTED, TURN IT ON #ENDIF #IF (LEDMODE == LEDMODE_RTC) - LD A,(RTCDEFVAL) ; DEFAULT LATCH VALUE + ; CAN'T USE (RTCDEFVAL) YET, SEE COMMENTS ABOVE + ;LD A,(RTCDEFVAL) ; DEFAULT LATCH VALUE + LD A,RTCDEF ; DEFAULT LATCH VALUE OR %00000001 ; LED 0 ON #ENDIF OUT (LEDPORT),A @@ -1435,11 +1442,15 @@ S100MON_SKIP: LD A,(HB_CURBNK) ; GET HB_CURBNK LD (HBX_LOC - 2),A ; ... AND SAVE TEMP FOR APPBNK ; -; THE RTCVAL FIELD OF THE PROXY DATA NEEDS TO BE INITIALIZED HERE -; BECAUSE IT CANNOT BE PRE-INITIALIZED (SEE COMMENTS ABOVE WHERE -; RTCVAL EQUATE IS DEFINED). +; WE CAN NOW DO THE REAL INITIALIZATION OF THE RTC LATCH BASED ON +; (RTCDEFVAL). AT THIS POINT WE SHOULD HAVE ACCESS TO THE ROM LOCATION +; WHERE RTCDEFVAL IS STORED AND THE PROXY IS INSTALLED IN UPPER RAM +; WHERE WE WILL STORE THE WORKING SHADOW COPY (HB_RTCVAL). +; SEE COMMENTS ABOVE REGARDING THE FUNKY WAY THAT THE RTCDEFVAL IS +; CREATED. ; LD A,(RTCDEFVAL) + OUT (RTCIO),A ; SET IT LD (HB_RTCVAL),A ; #IFDEF TESTING diff --git a/Source/ver.inc b/Source/ver.inc index 6c118fde..e2f398e9 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,7 +2,7 @@ #DEFINE RMN 4 #DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.4.0-dev.22" +#DEFINE BIOSVER "3.4.0-dev.23" #define rmj RMJ #define rmn RMN #define rup RUP diff --git a/Source/ver.lib b/Source/ver.lib index 70f91ac4..6c9b9eff 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 4 rup equ 0 rtp equ 0 biosver macro - db "3.4.0-dev.22" + db "3.4.0-dev.23" endm