From 80ee13e0f48cba2dedbc35a7c856fe4bcebe0633 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Tue, 17 Aug 2021 14:55:17 -0700 Subject: [PATCH] Misc - Update TUNE.COM to mute sound card at end of playback when playing via HBIOS. - Update SN76489 sound driver to use proper default port addresses. - Modify Phil's CPU MHz speed rounding function to round up anytime speed in KHz is withing 500 KHz of next MHz increment. --- Source/Apps/Tune/tune.asm | 16 +++++++++++++--- Source/HBIOS/hbios.asm | 18 +++++++++--------- Source/HBIOS/sn76489.asm | 10 ++++++---- Source/ver.inc | 2 +- Source/ver.lib | 2 +- 5 files changed, 30 insertions(+), 18 deletions(-) diff --git a/Source/Apps/Tune/tune.asm b/Source/Apps/Tune/tune.asm index a34ea2e1..513c21d4 100644 --- a/Source/Apps/Tune/tune.asm +++ b/Source/Apps/Tune/tune.asm @@ -43,6 +43,7 @@ ; 2020-05-02 [PMS] Add support for SBC-V2 slow-io hack ; 2020-09-03 [E?B] Add support for Ed Brindley YM/AY Sound Card v6 ; 2021-08-13 [WBW] Add support for LiNC Z50 Sound Card +; 2021-08-17 [WBW] When playing via HBIOS, call BF_SNDRESET at end ;_______________________________________________________________________________ ; ; ToDo: @@ -649,7 +650,7 @@ TMP .DB 0 ; work around use of undocumented Z80 HBIOSMD .DB 0 ; NON-ZERO IF USING HBIOS SOUND DRIVER, ZERO OTHERWISE OCTAVEADJ .DB 0 ; AMOUNT TO ADJUST OCTAVE UP OR DOWN -MSGBAN .DB "Tune Player for RomWBW v3.3, 14-Aug-2021",0 +MSGBAN .DB "Tune Player for RomWBW v3.4, 17-Aug-2021",0 MSGUSE .DB "Copyright (C) 2021, Wayne Warthen, GNU GPL v3",13,10 .DB "PTxPlayer Copyright (C) 2004-2007 S.V.Bulba",13,10 .DB "MYMPlay by Marq/Lieves!Tuore",13,10,13,10 @@ -674,7 +675,7 @@ HWSTR_RCEB6 .DB "RC2014 Sound Module (EBv6)",0 HWSTR_RCMF .DB "RC2014 Sound Module (MF)",0 HWSTR_LINC .DB "Z50 LiNC Sound Module",0 -MSGUNSUP .db "MYM files not supported yet!\r\n", 0 +MSGUNSUP .db "MYM files not supported with HBIOS yet!\r\n", 0 MSGSONGNAME .DB "Song name: ", 0 MSGARTIST .DB "by: ", 0 @@ -820,13 +821,22 @@ CHECKLP LD HL,SETUP INC (HL) .ENDIF -MUTE XOR A +MUTE ISHBIOS + JR NZ,MUTEVIAHBIOS + + XOR A LD H,A LD L,A LD (AYREGS+AmplA),A LD (AYREGS+AmplB),HL JP ROUT +MUTEVIAHBIOS: + LD B,BF_SNDRESET + LD C,0 + RST 08 + RET + INIT ;HL - AddressOfModule LD A,(START+10) diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index c1580ac9..7bf1bf3e 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -5174,15 +5174,15 @@ HB_CPUSPD1: SLA L RL H ; - LD (CB_CPUKHZ),HL - LD DE,1000 - CALL DIV16 - LD DE,980 ; ROUND MHZ UP - XOR A ; IF WITHIN 20HZ - SBC HL,DE - CCF - ADC A,C - LD (CB_CPUMHZ),A + LD (CB_CPUKHZ),HL ; HL=CPU SPEED IN KHZ + LD DE,1000 ; SET UP TO DIV BY 1000 FOR MHZ + CALL DIV16 ; BC=CPU MHZ, HL=REMAINDER + LD DE,500 ; SET UP TO ROUND UP + XOR A ; IF WITHIN 500 KHZ + SBC HL,DE ; REMAINDER - 500 + CCF ; COMPLEMENT CF + ADC A,C ; C -> A; ADD CF FOR ROUNDING + LD (CB_CPUMHZ),A ; SAVE IT ; RET ; diff --git a/Source/HBIOS/sn76489.asm b/Source/HBIOS/sn76489.asm index fa544064..73038bd6 100644 --- a/Source/HBIOS/sn76489.asm +++ b/Source/HBIOS/sn76489.asm @@ -13,10 +13,12 @@ ;====================================================================== ; -SN76489_PORT_LEFT .EQU $FC ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) -SN76489_PORT_RIGHT .EQU $F8 ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT) -;SN76489_PORT_LEFT .EQU $C7 ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) -;SN76489_PORT_RIGHT .EQU $C8 ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT) +SN76489_PORT_LEFT .EQU $FF ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) +SN76489_PORT_RIGHT .EQU $FB ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT) +;SN76489_PORT_LEFT .EQU $FC ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) +;SN76489_PORT_RIGHT .EQU $F8 ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT) +;;SN76489_PORT_LEFT .EQU $C7 ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) +;;SN76489_PORT_RIGHT .EQU $C8 ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT) SN7_IDAT .EQU 0 SN7_TONECNT .EQU 3 ; COUNT NUMBER OF TONE CHANNELS SN7_NOISECNT .EQU 1 ; COUNT NUMBER OF NOISE CHANNELS diff --git a/Source/ver.inc b/Source/ver.inc index b4a251a0..07f2bcfc 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 1 #DEFINE RUP 1 #DEFINE RTP 03 -#DEFINE BIOSVER "3.1.1-pre.105" +#DEFINE BIOSVER "3.1.1-pre.106" diff --git a/Source/ver.lib b/Source/ver.lib index c64d8089..784d4f1d 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 1 rup equ 1 rtp equ 0 biosver macro - db "3.1.1-pre.105" + db "3.1.1-pre.106" endm