|
|
|
@ -64,10 +64,6 @@ |
|
|
|
; - dsky.asm |
|
|
|
; - unlzsa2s.asm |
|
|
|
; |
|
|
|
; TODO: |
|
|
|
; - DELAY_INIT MAKES A SYSTEM CALL VIA RST 08 EARLIER THAN |
|
|
|
; WE REALLY EXPECT SYSTEM CALLS TO HAPPEN |
|
|
|
; |
|
|
|
; INCLUDE GENERIC STUFF |
|
|
|
; |
|
|
|
#INCLUDE "std.asm" |
|
|
|
@ -202,11 +198,11 @@ RTCDEF .EQU 0 ; ALLOWS DRIVERS TO SET BITS |
|
|
|
.FILL (030H - $),0FFH ; RST 30 |
|
|
|
RET |
|
|
|
.FILL (038H - $),0FFH ; RST 38 / IM1 INT |
|
|
|
#IF (INTMODE == 1) |
|
|
|
#IF (INTMODE == 1) |
|
|
|
JP INT_IM1 ; JP TO INTERRUPT HANDLER IN HI MEM |
|
|
|
#ELSE |
|
|
|
#ELSE |
|
|
|
RETI ; RETURN W/ INTS DISABLED |
|
|
|
#ENDIF |
|
|
|
#ENDIF |
|
|
|
.FILL (066H - $),0FFH ; NMI |
|
|
|
RETN |
|
|
|
; |
|
|
|
@ -428,10 +424,10 @@ HBX_ROM: |
|
|
|
OUT (MPGSEL_0),A ; BANK_0: 0K - 16K |
|
|
|
INC A ; |
|
|
|
OUT (MPGSEL_1),A ; BANK_1: 16K - 32K |
|
|
|
#IF (CPUFAM == CPU_Z280) |
|
|
|
#IF (CPUFAM == CPU_Z280) |
|
|
|
;.DB $ED,$65 ; PCACHE |
|
|
|
PCACHE |
|
|
|
#ENDIF |
|
|
|
#ENDIF |
|
|
|
RET ; DONE |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
@ -563,7 +559,7 @@ HBX_BC_SP .EQU $ - 2 ; ... TO ORIGINAL VALUE |
|
|
|
#ELSE |
|
|
|
POP AF |
|
|
|
JP PO,$+4 |
|
|
|
HB_EI |
|
|
|
EI ; *** DO NOT USE HB_EI HERE *** |
|
|
|
#ENDIF |
|
|
|
RET |
|
|
|
; |
|
|
|
@ -1060,14 +1056,14 @@ Z280_BOOTPDRTBL: |
|
|
|
.DW ($006 << 4) | $A |
|
|
|
.DW ($007 << 4) | $A |
|
|
|
; UPPER 32 K (COMMON) |
|
|
|
.DW (($78 + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (($79 + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (($7A + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (($7B + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (($7C + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (($7D + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (($7E + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (($7F + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (((((BID_COM & $7F) * 8) + 0) + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (((((BID_COM & $7F) * 8) + 1) + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (((((BID_COM & $7F) * 8) + 2) + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (((((BID_COM & $7F) * 8) + 3) + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (((((BID_COM & $7F) * 8) + 4) + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (((((BID_COM & $7F) * 8) + 5) + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (((((BID_COM & $7F) * 8) + 6) + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
.DW (((((BID_COM & $7F) * 8) + 7) + (1 << (RAMLOC - 12))) << 4) | $A |
|
|
|
; |
|
|
|
Z280_INITZ: |
|
|
|
; |
|
|
|
@ -1115,7 +1111,7 @@ Z280_INITZ: |
|
|
|
LD A,$F0 |
|
|
|
OUT0 (Z180_DCNTL),A |
|
|
|
|
|
|
|
#IF ((MEMMGR == MM_Z180) | (MEMMGR == MM_N8)) |
|
|
|
#IF ((MEMMGR == MM_Z180) | (MEMMGR == MM_N8)) |
|
|
|
; Z180 MMU SETUP |
|
|
|
LD A,$80 |
|
|
|
OUT0 (Z180_CBAR),A ; SETUP FOR 32K/32K BANK CONFIG |
|
|
|
@ -1125,11 +1121,11 @@ Z280_INITZ: |
|
|
|
;#ENDIF |
|
|
|
LD A,(RAMSIZE + RAMBIAS - 64) >> 2 |
|
|
|
OUT0 (Z180_CBR),A ; COMMON BASE = LAST (TOP) BANK |
|
|
|
|
|
|
|
; |
|
|
|
; SET DEFAULT CSIO SPEED (INTERNAL CLOCK, SLOW AS POSSIBLE) |
|
|
|
LD A,Z180_CNTR_DEF ; DIV 1280, 14KHZ @ 18MHZ CLK |
|
|
|
OUT0 (Z180_CNTR),A |
|
|
|
#ENDIF |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
@ -1151,12 +1147,12 @@ Z280_INITZ: |
|
|
|
; |
|
|
|
#IF (MEMMGR == MM_Z2) |
|
|
|
; SET PAGING REGISTERS |
|
|
|
#IFDEF ROMBOOT |
|
|
|
#IFDEF ROMBOOT |
|
|
|
XOR A |
|
|
|
OUT (MPGSEL_0),A |
|
|
|
INC A |
|
|
|
OUT (MPGSEL_1),A |
|
|
|
#ENDIF |
|
|
|
#ENDIF |
|
|
|
LD A,62 |
|
|
|
OUT (MPGSEL_2),A |
|
|
|
INC A |
|
|
|
@ -1168,6 +1164,8 @@ Z280_INITZ: |
|
|
|
; |
|
|
|
DIAG(%00000011) |
|
|
|
LED($00) |
|
|
|
|
|
|
|
; ok |
|
|
|
; |
|
|
|
; CHECK BATTERY BACKUP STATUS BEFORE WE COPY PROXY TO UPPER MEMORY |
|
|
|
; |
|
|
|
@ -1362,7 +1360,7 @@ SAVE_REC_M: |
|
|
|
CALL MIO_INIT ; WE GET TO BOOT MESSAGE |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#IF 0 |
|
|
|
#IF FALSE |
|
|
|
; |
|
|
|
; TEST DEBUG *************************************************************************************** |
|
|
|
; |
|
|
|
@ -1492,7 +1490,8 @@ HB_CPU2: |
|
|
|
; |
|
|
|
CALL HB_CPUSPD ; CPU SPEED DETECTION |
|
|
|
; |
|
|
|
CALL DELAY_INIT ; INITIALIZE SPEED COMPENSATED DELAY FUNCTIONS |
|
|
|
LD A,(CB_CPUMHZ) ; CPU SPEED TO ACCUM AND INIT |
|
|
|
CALL DELAY_INIT ; .. SPEED COMPENSATED DELAY |
|
|
|
; |
|
|
|
#IF (CPUFAM == CPU_Z180) |
|
|
|
; |
|
|
|
@ -1658,7 +1657,7 @@ Z280_TC .EQU CPUOSC / 4 / 50 / 2 ; TIME CONSTANT |
|
|
|
CALL FILL ; DO IT |
|
|
|
; |
|
|
|
DIAG(%00111111) |
|
|
|
#IF 0 |
|
|
|
#IF FALSE |
|
|
|
; |
|
|
|
; TEST DEBUG *************************************************************************************** |
|
|
|
; |
|
|
|
@ -1702,7 +1701,7 @@ NOT_REC_M0: |
|
|
|
#ENDIF |
|
|
|
CALL CALLLIST ; PROCESS THE PRE-INIT CALL TABLE |
|
|
|
; |
|
|
|
#IF 0 |
|
|
|
#IF FALSE |
|
|
|
; |
|
|
|
; TEST DEBUG *************************************************************************************** |
|
|
|
; |
|
|
|
@ -1741,7 +1740,7 @@ NXTMIO: LD A,(HL) |
|
|
|
; CALL WRITESTR ; WRITESTR WILL WORK WILL ONLY PRINT UP TO FIRST $ |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#IF 0 |
|
|
|
#IF FALSE |
|
|
|
; |
|
|
|
; TEST DEBUG *************************************************************************************** |
|
|
|
; |
|
|
|
@ -1771,7 +1770,7 @@ NXTMIO: LD A,(HL) |
|
|
|
; |
|
|
|
; IO PORT SCAN |
|
|
|
; |
|
|
|
#IF 0 |
|
|
|
#IF FALSE |
|
|
|
PSCN: |
|
|
|
LD C,0 ; IO PORT NUMBER |
|
|
|
LD B,0 ; LOOP COUNTER |
|
|
|
@ -1798,7 +1797,7 @@ PSCNX .EQU $ + 1 |
|
|
|
DJNZ PSCN1 |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#IF 0 |
|
|
|
#IF FALSE |
|
|
|
HB_SPDTST: |
|
|
|
CALL HB_CPUSPD ; CPU SPEED DETECTION |
|
|
|
CALL NEWLINE |
|
|
|
@ -2055,11 +2054,11 @@ HB_WDZ: |
|
|
|
; IF PLATFORM HAS A CONFIG JUMPER, CHECK TO SEE IF IT IS JUMPERED. |
|
|
|
; IF SO, BYPASS SWITCH TO CRT CONSOLE (FAILSAFE MODE) |
|
|
|
; |
|
|
|
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_ZETA) | (PLATFORM == PLT_ZETA2)) |
|
|
|
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_ZETA) | (PLATFORM == PLT_ZETA2)) |
|
|
|
IN A,(RTCIO) ; RTC PORT, BIT 6 HAS STATE OF CONFIG JUMPER |
|
|
|
BIT 6,A ; BIT 6 HAS CONFIG JUMPER STATE |
|
|
|
JR Z,INITSYS3 ; Z=SHORTED, BYPASS CONSOLE SWITCH |
|
|
|
#ENDIF |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
; NOTIFY USER OF CONSOLE SWITCH ON BOOT CONSOLE |
|
|
|
CALL NEWLINE2 |
|
|
|
@ -2355,7 +2354,7 @@ HB_DISPATCH: |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
; |
|
|
|
#IF 0 ; *DEBUG* START |
|
|
|
#IF FALSE ; *DEBUG* START |
|
|
|
; |
|
|
|
CALL HB_DISPATCH1 ; DO THE WORK |
|
|
|
; |
|
|
|
@ -2461,7 +2460,7 @@ CIO_TBL .FILL CIO_SIZ,0 ; SPACE FOR ENTRIES |
|
|
|
; |
|
|
|
DIO_DISPATCH: |
|
|
|
; |
|
|
|
#IF 0 ; *DEBUG* START |
|
|
|
#IF FALSE ; *DEBUG* START |
|
|
|
; |
|
|
|
; DUMP INCOMING CALL |
|
|
|
CALL NEWLINE |
|
|
|
@ -3374,7 +3373,7 @@ SYS_PEEK: |
|
|
|
#ELSE |
|
|
|
POP AF ; RECALL INITIAL INTERRUPT STATUS |
|
|
|
JP PO,$+4 ; RETURN TO INITIAL STATE |
|
|
|
HB_EI |
|
|
|
EI ; *** DO NOT USE HB_EI HERE *** |
|
|
|
#ENDIF |
|
|
|
#ENDIF |
|
|
|
XOR A |
|
|
|
@ -3411,7 +3410,7 @@ SYS_POKE: |
|
|
|
#ELSE |
|
|
|
POP AF ; RECALL INITIAL INTERRUPT STATUS |
|
|
|
JP PO,$+4 ; RETURN TO INITIAL STATE |
|
|
|
HB_EI |
|
|
|
EI ; *** DO NOT USE HB_EI HERE *** |
|
|
|
#ENDIF |
|
|
|
#ENDIF |
|
|
|
XOR A |
|
|
|
@ -3617,7 +3616,7 @@ Z280_TIMINT: |
|
|
|
; |
|
|
|
; |
|
|
|
HB_TIMINT: |
|
|
|
#IF 0 ; *DEBUG* |
|
|
|
#IF FALSE ; *DEBUG* |
|
|
|
LD HL,HB_TIMDBGCNT |
|
|
|
INC (HL) |
|
|
|
LD A,(HL) |
|
|
|
@ -3673,7 +3672,7 @@ HB_SECOND: |
|
|
|
; |
|
|
|
HB_BADINT: |
|
|
|
|
|
|
|
#IF 0 ; *DEBUG* |
|
|
|
#IF FALSE ; *DEBUG* |
|
|
|
LD HL,HB_BADINTCNT |
|
|
|
INC (HL) |
|
|
|
LD A,(HL) |
|
|
|
@ -4158,8 +4157,6 @@ Z280_BNKSEL: |
|
|
|
; PDR: R000 0BBB B000 1010 (RC2014) |
|
|
|
; PDR: 0000 RBBB B000 1010 (ZZ80MB) |
|
|
|
; |
|
|
|
;MULTU A,$80 ; HL=0R00 0BBB B000 0000 |
|
|
|
;.DB $FD,$ED,$F9,$80 ; MULTU A,$80 |
|
|
|
MULTU A,$80 ; HL=0R00 0BBB B000 0000 |
|
|
|
BIT 6,H ; RAM BIT SET? |
|
|
|
JR Z,Z280_BNKSEL2 ; IF NOT, ALL DONE |
|
|
|
@ -5321,7 +5318,6 @@ PS_SOUND: |
|
|
|
LD E,BF_SNDQ_DEV |
|
|
|
RST 08 |
|
|
|
LD A,B |
|
|
|
;DEC A |
|
|
|
RLCA |
|
|
|
RLCA |
|
|
|
RLCA |
|
|
|
|