From 209f4571207cb80d17d5827a6ea1b9ea429d2b8f Mon Sep 17 00:00:00 2001 From: Dean Netherton Date: Mon, 22 Jul 2024 13:23:03 +1000 Subject: [PATCH] ez80: updated to use new functions EZ80_UTIL_VER_EXCH, EZ80_UTIL_GET_CPU_FQ and EZ80_UTIL_BNK_HLP --- Source/HBIOS/ez80instr.inc | 4 +++- Source/HBIOS/hbios.asm | 23 ++++++++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/Source/HBIOS/ez80instr.inc b/Source/HBIOS/ez80instr.inc index 2b3b24ed..f64043d4 100644 --- a/Source/HBIOS/ez80instr.inc +++ b/Source/HBIOS/ez80instr.inc @@ -11,11 +11,13 @@ #DEFINE EZ80_FN .DB $49, $D7 ; RST.L $10 #DEFINE EZ80_BNKSEL .DB $49, $DF ; RST.L $18 - #DEFINE EZ80_UTIL_INIT XOR A \ LD B, 0 \ EZ80_FN + #DEFINE EZ80_UTIL_VER_EXCH XOR A \ LD B, 0 \ EZ80_FN #DEFINE EZ80_UTIL_EHL_TO_HL XOR A \ LD B, 1 \ EZ80_FN #DEFINE EZ80_UTIL_HL_TO_EHL XOR A \ LD B, 2 \ EZ80_FN #DEFINE EZ80_UTIL_SET_BUSTM XOR A \ LD B, 3 \ EZ80_FN #DEFINE EZ80_UTIL_SET_BUSFQ XOR A \ LD B, 4 \ EZ80_FN + #DEFINE EZ80_UTIL_GET_CPU_FQ XOR A \ LD B, 5 \ EZ80_FN + #DEFINE EZ80_UTIL_BNK_HLP XOR A \ LD B, 6 \ EZ80_FN #DEFINE EZ80_RTC_INIT LD A, 1 \ LD B, 0 \ EZ80_FN #DEFINE EZ80_RTC_GET_TIME LD A, 1 \ LD B, 1 \ EZ80_FN diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 21359664..f5d27a33 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -2139,19 +2139,32 @@ HB_CLRIVT_Z: #IF (CPUFAM == CPU_EZ80) ; PROVIDE THE EZ80 FIRMWARE WITH PLATFORM CONFIGUATIONS - LD HL, PLT_DESCR - EZ80_UTIL_INIT() ; PROVIDE FIRMWARE DETAILS OF BUILD CONFIGURATION + LD C, 1 ; RomWBW'S ASSIGNED CODE + LD D, RMJ + LD E, RMN + LD H, RUP + LD L, RTP - LD A, (EZ80_PLT_CPUMHZ) + EZ80_UTIL_VER_EXCH() + ; TODO CHECK RETURNED VERSION AND WARN IF NOT GOOD + ; EXPECT A VERSION NUMBER > 0.1.0.0 + + LD C, MEMMGR + LD HL, ROMSIZE + LD DE, RAMSIZE + EZ80_UTIL_BNK_HLP() ; INSTAL HIGH PERFORMANCE BANK SWITCHER + ; TODO CHECK RESULT AND USE STANDARD BANK SWITCHER IF NZ RETURNED + ; OTHERWISE USE RST.L %18 FOR BANK SWITCH HELPER + + EZ80_UTIL_GET_CPU_FQ() + LD A, E LD (CB_CPUMHZ), A - LD HL, (EZ80_PLT_CPUKHZ) LD (CB_CPUKHZ), HL LD (HB_CPUOSC), HL LD HL, EZ80_MEM_FREQ LD DE, EZ80_IO_FREQ EZ80_UTIL_SET_BUSFQ() ; H -> CS3 CYCLES, L -> CS2 CYCLES - LD A, H LD (EZ80_PLT_C3CYL), A LD A, L