diff --git a/.gitignore b/.gitignore index bb8e3c86..74ad88cc 100644 --- a/.gitignore +++ b/.gitignore @@ -96,7 +96,7 @@ Tools/unix/zx/zx !Source/ZRC/*.bin !Source/ZZR/*.bin !Source/ZZR/*.hex -!Tools/cpm/bin/* +!Tools/cpm/** !Tools/unix/zx/* !Tools/zx/* diff --git a/Source/Apps/Tune/tune.asm b/Source/Apps/Tune/tune.asm index 4659f556..27b07723 100644 --- a/Source/Apps/Tune/tune.asm +++ b/Source/Apps/Tune/tune.asm @@ -44,6 +44,7 @@ ; 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 +; 2022-03-20 [DDW] Add support for MBC PSG module ;_______________________________________________________________________________ ; ; ToDo: @@ -653,7 +654,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.4, 17-Aug-2021",0 +MSGBAN .DB "Tune Player for RomWBW v3.5, 20-Mar-2022",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 diff --git a/Source/HBIOS/cen.asm b/Source/HBIOS/cen.asm index 4cceeca1..834fa8c6 100644 --- a/Source/HBIOS/cen.asm +++ b/Source/HBIOS/cen.asm @@ -134,7 +134,7 @@ CEN_IN: ; BYTE OUTPUT ; CEN_OUT: - CALL CEN_OST ; READY FOR CHAR? + CALL CEN_OST ; READY TO SEND? JR Z,CEN_OUT ; LOOP IF NOT ; *** ADD CODE TO OUTPUT BYTE *** XOR A ; SIGNAL SUCCESS @@ -166,9 +166,15 @@ CEN_INITDEV: ; PREINIT ABOVE. PREINIT IS NOT ALLOWED TO ENABLE INTS! ; CEN_INITDEVX: -; - ; *** ADD CODE TO INITIALIZE DEVICE *** -; + ; *** NOT SURE THIS IS RIGHT *** + LD A,(IY+3) + LD C,A ; PORT 0 (DATA) + XOR A ; CLEAR ACCUM + OUT (C),A ; SEND IT + INC C ; BUMP TO + INC C ; ... PORT 2 + LD A,%11000000 ; RESET, LEDS OFF + OUT (C),A ; SEND IT XOR A ; SIGNAL SUCCESS RET ; RETURN ; @@ -195,6 +201,7 @@ CEN_DEVICE: ; CEN_DETECT: LD A,(IY+3) ; BASE PORT ADDRESS + ADD A,2 ; USE PORT 2 FOR DETECT LD C,A ; PUT IN C FOR I/O CALL CEN_DETECT2 ; CHECK IT JR Z,CEN_DETECT1 ; FOUND IT, RECORD IT @@ -208,9 +215,18 @@ CEN_DETECT1: ; CEN_DETECT2: ; LOOK FOR CEN AT PORT ADDRESS IN C - ; *** ADD CODE TO DETECT DEVICE *** - OR $FF ; TEMP SET TO NOT PRESENT - RET ; RETURN RESULT, Z = CHIP FOUND + XOR A ; DEFAULT VALUE + OUT (C),A ; SEND IT + IN A,(C) ; READ IT + AND %11000000 ; ISOLATE STATUS BITS + CP %00000000 ; CORRECT VALUE? + RET NZ ; IF NOT, RETURN + LD A,%11000000 ; STATUS BITS ON (LEDS OFF) + OUT (C),A ; SEND IT + IN A,(C) ; READ IT + AND %11000000 ; ISOLATE STATUS BITS + CP %11000000 ; CORRECT VALUE? + RET ; RETURN (ZF SET CORRECTLY) ; ; ; @@ -249,10 +265,10 @@ CEN_PRTCFG: ; CEN_TYPE_MAP: .DW CEN_STR_NONE - .DW CEN_STR_CEN + .DW CEN_STR_MBC ; CEN_STR_NONE .DB "$" -CEN_STR_CEN .DB "MBC$" +CEN_STR_MBC .DB "MBC$" ; ; WORKING VARIABLES ; diff --git a/Source/HBIOS/cfg_mbc.asm b/Source/HBIOS/cfg_mbc.asm index d025d429..0158e09f 100644 --- a/Source/HBIOS/cfg_mbc.asm +++ b/Source/HBIOS/cfg_mbc.asm @@ -243,9 +243,9 @@ AUDIOTRACE .EQU FALSE ; ENABLE TRACING TO CONSOLE OF SOUND DRIVER SN7CLK .EQU CPUOSC / 4 ; DEFAULT TO CPUOSC / 4 SNMODE .EQU SNMODE_NONE ; DRIVER MODE: SNMODE_[NONE|RC2014|VGM] ; -AY38910ENABLE .EQU FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER -AY_CLK .EQU CPUOSC / 4 ; DEFAULT TO CPUOSC / 4 -AYMODE .EQU AYMODE_NONE ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC] +AY38910ENABLE .EQU TRUE ; AY: AY-3-8910 / YM2149 SOUND DRIVER +AY_CLK .EQU 3579545 / 2 ; DEFAULT TO CPUOSC / 4 +AYMODE .EQU AYMODE_MBC ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC] ; SPKENABLE .EQU TRUE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) ; diff --git a/Source/ver.inc b/Source/ver.inc index 052a21f4..c8a6de03 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 1 #DEFINE RUP 1 #DEFINE RTP 0 -#DEFINE BIOSVER "3.1.1-pre.164" +#DEFINE BIOSVER "3.1.1-pre.165" diff --git a/Source/ver.lib b/Source/ver.lib index bc0ff5e9..92cf12c1 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.164" + db "3.1.1-pre.165" endm diff --git a/Tools/cpm/bin80/ASM.COM b/Tools/cpm/bin80/ASM.COM new file mode 100644 index 00000000..a63e5aec Binary files /dev/null and b/Tools/cpm/bin80/ASM.COM differ