Browse Source

MSX fix memory and base year

MSX fix upper memory segment assignment error and set RP5C01 base year to 1980.
pull/626/head
H.J.Berends 3 months ago
parent
commit
cbfa6d9241
  1. 3
      Source/HBIOS/hbios.asm
  2. 6
      Source/HBIOS/rp5rtc.asm

3
Source/HBIOS/hbios.asm

@ -1957,7 +1957,8 @@ ROMRESUME:
#ENDIF
;
#IF (MEMMGR == MM_MSX)
LD A,((ROMSIZE + RAMSIZE) / 16) - 2 + RAMBIAS * 2
RAMSEG .EQU ((ROMSIZE + RAMSIZE) / 16) - 2 + (RAMBIAS * 2)
LD A,RAMSEG
OUT (MPGSEL_2),A
INC A
OUT (MPGSEL_3),A

6
Source/HBIOS/rp5rtc.asm

@ -324,6 +324,9 @@ RP5RTC_SETTIM:
LD B, REG_1YEAR
LD A, (RP5RTC_YR)
; 2-DIGIT YEAR IS RELATIVE TO BASE YEAR 1980
ADD A,$20 ; ADD OFFSET
DAA ; BCD
CALL RP5RTC_WRVL
LD B, MODE_ALRMST
@ -378,6 +381,9 @@ RP5RTC_RDTIM:
LD B, REG_1YEAR
CALL RP5RTC_RDVL
; 2-DIGIT YEAR IS RELATIVE TO BASE YEAR 1980
SUB $20 ; SUBSTRACT OFFSET
DAA ; BCD
LD (RP5RTC_YR), A
RET

Loading…
Cancel
Save