|
|
@ -1397,7 +1397,12 @@ BOOTWAIT: |
|
|
; |
|
|
; |
|
|
;LD A,(RTCDEFVAL) ; GET DEFAULT VALUE |
|
|
;LD A,(RTCDEFVAL) ; GET DEFAULT VALUE |
|
|
LD A,RTCDEF ; DEFAULT VALUE |
|
|
LD A,RTCDEF ; DEFAULT VALUE |
|
|
|
|
|
#IF (CPUFAM == CPU_EZ80) |
|
|
|
|
|
LD BC,EZ80IOBASE << 8 + RTCIO |
|
|
|
|
|
OUT (C),A ; BC IS THE APPLIED IO ADDRESS |
|
|
|
|
|
#ELSE |
|
|
OUT (RTCIO),A ; SET IT |
|
|
OUT (RTCIO),A ; SET IT |
|
|
|
|
|
#ENDIF |
|
|
; |
|
|
; |
|
|
#IF (PLATFORM == PLT_N8) |
|
|
#IF (PLATFORM == PLT_N8) |
|
|
LD A,N8_DEFACR ; ENSURE N8 ACR |
|
|
LD A,N8_DEFACR ; ENSURE N8 ACR |
|
|
@ -1421,9 +1426,16 @@ BOOTWAIT: |
|
|
LD A,DIAG_01 |
|
|
LD A,DIAG_01 |
|
|
#ENDIF |
|
|
#ENDIF |
|
|
; |
|
|
; |
|
|
|
|
|
#IF (CPUFAM == CPU_EZ80) |
|
|
|
|
|
LD BC,EZ80IOBASE << 8 + FPLED_IO |
|
|
|
|
|
OUT (C),A ; BC IS THE APPLIED IO ADDRESS |
|
|
|
|
|
#ELSE |
|
|
OUT (FPLED_IO),A |
|
|
OUT (FPLED_IO),A |
|
|
#ENDIF |
|
|
#ENDIF |
|
|
|
|
|
|
|
|
|
|
|
#ENDIF |
|
|
; |
|
|
; |
|
|
|
|
|
|
|
|
#IF (LEDENABLE) |
|
|
#IF (LEDENABLE) |
|
|
#IF ((LEDMODE == LEDMODE_STD) | (LEDMODE == LEDMODE_SC)) |
|
|
#IF ((LEDMODE == LEDMODE_STD) | (LEDMODE == LEDMODE_SC)) |
|
|
XOR A ; LED IS INVERTED, TURN IT ON |
|
|
XOR A ; LED IS INVERTED, TURN IT ON |
|
|
@ -1688,28 +1700,49 @@ ROMRESUME: |
|
|
; |
|
|
; |
|
|
#IF (MEMMGR == MM_Z2) |
|
|
#IF (MEMMGR == MM_Z2) |
|
|
; |
|
|
; |
|
|
#IFDEF ROMBOOT |
|
|
|
|
|
|
|
|
#IF (CPUFAM == CPU_EZ80) |
|
|
|
|
|
XOR A |
|
|
|
|
|
LD BC,EZ80IOBASE << 8 + MPGSEL_0 |
|
|
|
|
|
OUT (C),A ; BC IS THE APPLIED IO ADDRESS |
|
|
|
|
|
INC A |
|
|
|
|
|
INC BC ; BC = MPGSEL_1 |
|
|
|
|
|
OUT (C),A ; OUT (MPGSEL_1), $01 |
|
|
|
|
|
|
|
|
|
|
|
LD A,64 - 2 |
|
|
|
|
|
INC BC ; BC = MPGSEL_2 |
|
|
|
|
|
OUT (C),A ; PROG THIRD 16K MMU REGISTER |
|
|
|
|
|
INC A |
|
|
|
|
|
INC BC ; BC = MPGSEL_3 |
|
|
|
|
|
OUT (C),A ; PROG FOURTH 16K MMU REGISTER |
|
|
|
|
|
; ENABLE PAGING |
|
|
|
|
|
LD A,1 |
|
|
|
|
|
INC BC ; BC = MPGENA |
|
|
|
|
|
OUT (C),A ; ENABLE MMU NOW |
|
|
|
|
|
|
|
|
|
|
|
#ELSE |
|
|
|
|
|
#IFDEF ROMBOOT |
|
|
; IF THIS IS A ROM BOOT, SETUP THE FIRST 2 16K MMU REGISTERS |
|
|
; IF THIS IS A ROM BOOT, SETUP THE FIRST 2 16K MMU REGISTERS |
|
|
; TO MAP THE LOWEST 32K OF PHYSICAL ROM TO THE LOW 32K OF |
|
|
; TO MAP THE LOWEST 32K OF PHYSICAL ROM TO THE LOW 32K OF |
|
|
; CPU ADDRESS SPACE (BANKING AREA). THE FIRST 16K MAPPING IS |
|
|
; CPU ADDRESS SPACE (BANKING AREA). THE FIRST 16K MAPPING IS |
|
|
; REDUNDANT BECAUSE WE ARE ALREADY RUNNING IN THIS AREA. THE |
|
|
; REDUNDANT BECAUSE WE ARE ALREADY RUNNING IN THIS AREA. THE |
|
|
; MAPPING OF THE SECOND 16K IS CRITICAL BECAUSE ALL ZETA 2 |
|
|
; MAPPING OF THE SECOND 16K IS CRITICAL BECAUSE ALL ZETA 2 |
|
|
; MMU REGISTERS WILL BE 0 AT RESET! |
|
|
; MMU REGISTERS WILL BE 0 AT RESET! |
|
|
|
|
|
|
|
|
XOR A |
|
|
XOR A |
|
|
OUT (MPGSEL_0),A ; PROG FIRST 16K MMU REGISTER |
|
|
OUT (MPGSEL_0),A ; PROG FIRST 16K MMU REGISTER |
|
|
INC A |
|
|
INC A |
|
|
OUT (MPGSEL_1),A ; PROG SECOND 16K MMU REGISTER |
|
|
OUT (MPGSEL_1),A ; PROG SECOND 16K MMU REGISTER |
|
|
#ENDIF |
|
|
|
|
|
; |
|
|
|
|
|
#IF (PLATFORM == PLT_DUO) |
|
|
|
|
|
|
|
|
#ENDIF |
|
|
|
|
|
; |
|
|
|
|
|
#IF (PLATFORM == PLT_DUO) |
|
|
; DUO HAS VARIABLE RAM SIZE. RAM ALWAYS STARTS AT 2048K. |
|
|
; DUO HAS VARIABLE RAM SIZE. RAM ALWAYS STARTS AT 2048K. |
|
|
; SETUP COMMON RAM FOR HIGHEST 32K OF RAM BASED ON TOTAL RAM. |
|
|
; SETUP COMMON RAM FOR HIGHEST 32K OF RAM BASED ON TOTAL RAM. |
|
|
LD A,128 + (RAMSIZE / 16) - 2 |
|
|
LD A,128 + (RAMSIZE / 16) - 2 |
|
|
#ELSE |
|
|
|
|
|
|
|
|
#ELSE |
|
|
; NORMAL ZETA 2 SYSTEM HAS FIXED 512K OF RAM. SETUP COMMON |
|
|
; NORMAL ZETA 2 SYSTEM HAS FIXED 512K OF RAM. SETUP COMMON |
|
|
; FOR TOP 32K OF THIS. |
|
|
; FOR TOP 32K OF THIS. |
|
|
LD A,64 - 2 |
|
|
LD A,64 - 2 |
|
|
#ENDIF |
|
|
|
|
|
|
|
|
#ENDIF |
|
|
; |
|
|
; |
|
|
OUT (MPGSEL_2),A ; PROG THIRD 16K MMU REGISTER |
|
|
OUT (MPGSEL_2),A ; PROG THIRD 16K MMU REGISTER |
|
|
INC A |
|
|
INC A |
|
|
@ -1717,7 +1750,9 @@ ROMRESUME: |
|
|
; ENABLE PAGING |
|
|
; ENABLE PAGING |
|
|
LD A,1 |
|
|
LD A,1 |
|
|
OUT (MPGENA),A ; ENABLE MMU NOW |
|
|
OUT (MPGENA),A ; ENABLE MMU NOW |
|
|
|
|
|
#ENDIF |
|
|
#ENDIF |
|
|
#ENDIF |
|
|
|
|
|
|
|
|
; |
|
|
; |
|
|
;-------------------------------------------------------------------------------------------------- |
|
|
;-------------------------------------------------------------------------------------------------- |
|
|
; PROXY INSTALLATION |
|
|
; PROXY INSTALLATION |
|
|
@ -7117,7 +7152,15 @@ FP_SETLEDS: |
|
|
#IF (FPLED_INV) |
|
|
#IF (FPLED_INV) |
|
|
XOR $FF ; INVERT BITS IF NEEDED |
|
|
XOR $FF ; INVERT BITS IF NEEDED |
|
|
#ENDIF |
|
|
#ENDIF |
|
|
|
|
|
|
|
|
|
|
|
#IF (CPUFAM == CPU_EZ80) |
|
|
|
|
|
PUSH BC |
|
|
|
|
|
LD BC,EZ80IOBASE << 8 + FPLED_IO |
|
|
|
|
|
OUT (C),A ; BC IS THE APPLIED IO ADDRESS |
|
|
|
|
|
POP BC |
|
|
|
|
|
#ELSE |
|
|
OUT (FPLED_IO),A ; WRITE |
|
|
OUT (FPLED_IO),A ; WRITE |
|
|
|
|
|
#ENDIF |
|
|
FP_SETLEDS1: |
|
|
FP_SETLEDS1: |
|
|
POP HL ; RESTORE HL |
|
|
POP HL ; RESTORE HL |
|
|
RET ; DONE |
|
|
RET ; DONE |
|
|
|