diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index ad19494c..e9b725e7 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -474,7 +474,6 @@ HBX_BC_SP .EQU $ - 2 ; ... TO ORIGINAL VALUE #IF (CPUFAM == CPU_Z280) POP IY PUSH BC - ;LD C,$00 LD C,Z280_MSR ;LDCTL (C),IY .DB $FD,$ED,$6E @@ -844,7 +843,6 @@ HB_START: LD SP,HBX_LOC ; SETUP INITIAL STACK JUST BELOW HBIOS PROXY ; #IF (CPUFAM == CPU_Z280) - ;;LD C,$12 ; CACHE CONTROL REGISTER ;LD C,Z280_CCR ; CACHE CONTROL REGISTER ;LD HL,$0060 ; DISABLE INSTRUCTION CACHE ;;LDCTL (C),HL ; SET IT (8 BITS) @@ -852,7 +850,6 @@ HB_START: ;;PCACHE ; PURGE ANY REMNANTS OF CACHE ;.DB $ED,$65 ; - ;LD C,$02 ; BUS TIMING AND CONTROL REGISTER LD C,Z280_BTCR ; BUS TIMING AND CONTROL REGISTER LD HL,$0033 ; 3 I/O WAIT STATES ADDED ;LD HL,$00F3 ; 3 I/O W/S & 3 INT ACK W/S @@ -1219,16 +1216,6 @@ HB_CPU2: LD (CB_CPUKHZ),DE ; #ENDIF -; -;#IF (CPUFAM == CPU_Z280) -;; -; ; Z280 PHI IS OSC / 2 -; LD A,(CPUOSC / 2) / 1000000 -; LD (CB_CPUMHZ),A -; LD DE,(CPUOSC / 2) / 1000 -; LD (CB_CPUKHZ),DE -;; -;#ENDIF ; DIAG(%00011111) ; @@ -2970,71 +2957,8 @@ SYS_PEEK: ; SYS_POKE: #IF (INTMODE == 1) - - ;EI - ; - ;LD C,$00 - ;.DB $ED,$66 - ;CALL PC_SPACE - ;CALL PRTHEXWORDHL - ; - ;CALL PC_SPACE - ;LD A,I - ;PUSH AF - ;POP HL - ;CALL PRTHEXWORDHL - ; - ;DI - ; - ;LD C,$00 - ;.DB $ED,$66 - ;CALL PC_SPACE - ;CALL PRTHEXWORDHL - ; - ;CALL PC_SPACE - ;LD A,I - ;PUSH AF - ;POP HL - ;CALL PRTHEXWORDHL - ; - ; - ; - ; - ;OUT (DIAGPORT),A - ;DI - ;HALT - ; - ;;PUSH HL - ;;;LD C,$00 - ;;LD C,Z280_MSR - ;;LDCTL HL,(C) - ;;BIT 5,L - ;;POP HL - ;;PUSH AF - ;;DI - ; - ;;POP AF - ;;JP Z,$+4 - ;;EI - ; - ; - ; - ;;PUSH IY - ;;;LD C,$00 - ;;LD C,Z280_MSR - ;;LDCTL IY,(C) - ;;PUSH IY - ;;DI - ; - ;;;LD C,$00 - ;;LD C,Z280_MSR - ;;POP IY - ;;LDCTL (C),IY - ;;POP IY - #IF (CPUFAM == CPU_Z280) PUSH IY - ;LD C,$00 LD C,Z280_MSR ;LDCTL IY,(C) .DB $FD,$ED,$66 @@ -3049,7 +2973,6 @@ SYS_POKE: CALL HBX_POKE ; IMPLEMENTED IN PROXY #IF (INTMODE == 1) #IF (CPUFAM == CPU_Z280) - ;LD C,$00 LD C,Z280_MSR POP IY ;LDCTL (C),IY @@ -3815,21 +3738,21 @@ SIZ_AY38910 .EQU $ - ORG_AY38910 ; HB_CPUSPD: ; -#IF (DSRTCENABLE) +#IF (DSRTCENABLE & ((CPUFAM == CPU_Z80) | (CPUFAM == CPU_Z180))) ; LD A,(DSRTC_STAT) ; GET RTC STATUS OR A ; SET FLAGS RET NZ ; NOT ZERO IS ERROR ; HB_CPUSPD1: -#IF (CPUFAM == CPU_Z180) + #IF (CPUFAM == CPU_Z180) ; USE MEM W/S = 2 AND I/O W/S = 3 FOR TEST IN0 A,(Z180_DCNTL) PUSH AF LD A,$B0 ;LD A,$F0 OUT0 (Z180_DCNTL),A -#ENDIF + #ENDIF ; WAIT FOR AN INITIAL TICK TO ALIGN, THEN WAIT ; FOR SECOND TICK AND TO GET A FULL ONE SECOND LOOP COUNT @@ -3839,11 +3762,11 @@ HB_CPUSPD1: LD (HB_CURSEC),A ; SAVE NEW VALUE CALL HB_WAITSEC ; WAIT FOR SECONDS TICK ; -#IF (CPUFAM == CPU_Z180) + #IF (CPUFAM == CPU_Z180) ; RESTORE W/S SETTINGS FROM BEFORE TEST POP AF OUT0 (Z180_DCNTL),A -#ENDIF + #ENDIF ; LD A,H OR L @@ -3874,7 +3797,7 @@ HB_WAITSEC: LD DE,0 ; INIT LOOP COUNTER HB_WAITSEC1: ; -#IF (CPUFAM == CPU_Z80) + #IF (CPUFAM == CPU_Z80) ; LOOP TARGET IS 4000 T-STATES, SO CPU FREQ IN KHZ = LOOP COUNT * 4 CALL DLY32 CALL DLY16 @@ -3883,9 +3806,9 @@ HB_WAITSEC1: SBC HL,HL ; 15 TSTATES INC HL ; 6 TSTATES INC HL ; 6 TSTATES -#ENDIF + #ENDIF ; -#IF (CPUFAM == CPU_Z180) + #IF (CPUFAM == CPU_Z180) ; LOOP TARGET IS 4000 T-STATES, SO CPU FREQ IN KHZ = LOOP COUNT * 4 CALL DLY2 ADD IX,BC ; 10 + 4 = 14 TSTATES @@ -3893,7 +3816,7 @@ HB_WAITSEC1: NOP ; 5 TSTATES NOP ; 5 TSTATES NOP ; 5 TSTATES -#ENDIF + #ENDIF ; PUSH DE ; SAVE COUNTER CALL HB_RDSEC ; GET SECONDS @@ -3916,7 +3839,7 @@ HB_RDSEC: LD A,E ; VALUE TO A RET ; -#ELSE + #ELSE ; RET ; NO RTC, ABORT ;