From d3f74ed97dac27da093132193827479b4ec1f7c8 Mon Sep 17 00:00:00 2001 From: Dan Werner Date: Sun, 14 Dec 2025 02:28:42 +0000 Subject: [PATCH] N8PC default updates --- Source/HBIOS/Config/N8PC_std.asm | 7 ++++--- Source/HBIOS/Config/SCZ180_sc140_std.asm | 2 +- Source/HBIOS/Config/SCZ180_sc700_std.asm | 2 +- Source/HBIOS/ay38910.asm | 14 +++++++++++++- Source/HBIOS/cfg_DUO.asm | 2 +- Source/HBIOS/cfg_N8PC.asm | 10 +++++----- Source/HBIOS/std.asm | 1 + 7 files changed, 26 insertions(+), 12 deletions(-) diff --git a/Source/HBIOS/Config/N8PC_std.asm b/Source/HBIOS/Config/N8PC_std.asm index ab3ab000..92e53a62 100644 --- a/Source/HBIOS/Config/N8PC_std.asm +++ b/Source/HBIOS/Config/N8PC_std.asm @@ -85,9 +85,10 @@ PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) PPPENABLE .SET FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) ; AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER - - -DSKYENABLE .SET TRUE ; ENABLES DSKY FUNCTIONALITY +; +DSKYENABLE .SET FALSE ; ENABLES DSKY FUNCTIONALITY PKDENABLE .SET TRUE ; ENABLES DSKY NG PKD DRIVER (8259) PKDPPIBASE .SET N8_PPI0 ; BASE I/O ADDRESS OF PKD PPI PKDOSC .SET 1000000 ; OSCILLATOR FREQ FOR PKD (IN HZ) +; +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES \ No newline at end of file diff --git a/Source/HBIOS/Config/SCZ180_sc140_std.asm b/Source/HBIOS/Config/SCZ180_sc140_std.asm index 995ca70c..feb5193d 100644 --- a/Source/HBIOS/Config/SCZ180_sc140_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc140_std.asm @@ -87,5 +87,5 @@ PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) ; SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER -AYMODE .SET AYMODE_LINC ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU] +AYMODE .SET AYMODE_LINC ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU|N8PC] AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT diff --git a/Source/HBIOS/Config/SCZ180_sc700_std.asm b/Source/HBIOS/Config/SCZ180_sc700_std.asm index 46e863df..deff9d47 100644 --- a/Source/HBIOS/Config/SCZ180_sc700_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc700_std.asm @@ -88,5 +88,5 @@ SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER -AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU] +AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU|N8PC] AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT diff --git a/Source/HBIOS/ay38910.asm b/Source/HBIOS/ay38910.asm index 228e01d0..4b592bb3 100644 --- a/Source/HBIOS/ay38910.asm +++ b/Source/HBIOS/ay38910.asm @@ -47,6 +47,14 @@ AY_RIN .EQU AY_RSEL AY_ACR .EQU N8_ACR DEVECHO "N8" #ENDIF + +#IF (AYMODE == AYMODE_N8PC) +AY_RSEL .EQU $A0 +AY_RDAT .EQU $A1 +AY_RIN .EQU AY_RSEL +AY_ACR .EQU N8_ACR + DEVECHO "N8" +#ENDIF ; #IF (AYMODE == AYMODE_RCZ80) AY_RSEL .EQU $D8 @@ -171,6 +179,10 @@ AY38910_INIT: PRTS(" MODE=N8$") #ENDIF ; +#IF (AYMODE == AYMODE_N8PC) + PRTS(" MODE=N8PC$") +#ENDIF +; #IF (AYMODE == AYMODE_RCZ80) PRTS(" MODE=RCZ80$") #ENDIF @@ -199,7 +211,7 @@ AY38910_INIT: LD A,AY_RSEL CALL PRTHEXBYTE ; -#IF ((AYMODE == AYMODE_SCG) | (AYMODE == AYMODE_N8) | (AYMODE == AYMODE_MBC)) +#IF ((AYMODE == AYMODE_SCG) | (AYMODE == AYMODE_N8) | (AYMODE == AYMODE_MBC) | (AYMODE == AYMODE_N8PC)) LD A,$FF ; ACTIVATE DEVICE BIT 4 IS AY RESET CONTROL, BIT 3 IS ACTIVE LED OUT (AY_ACR),A ; SET INIT AUX CONTROL REG #ENDIF diff --git a/Source/HBIOS/cfg_DUO.asm b/Source/HBIOS/cfg_DUO.asm index b70ad13e..658590ae 100644 --- a/Source/HBIOS/cfg_DUO.asm +++ b/Source/HBIOS/cfg_DUO.asm @@ -394,7 +394,7 @@ SNMODE .SET SNMODE_DUO ; SN: DRIVER MODE: SNMODE_[NONE|RC|VGM|DUO] ; AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER AY_CLK .SET 1789772 ; AY: PSG CLOCK FREQ, ASSUME MSX STD -AYMODE .SET AYMODE_DUO ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU] +AYMODE .SET AYMODE_DUO ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU|N8PC] AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT ; SPKENABLE .SET TRUE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) diff --git a/Source/HBIOS/cfg_N8PC.asm b/Source/HBIOS/cfg_N8PC.asm index 706ea7e6..b7f6f0c5 100644 --- a/Source/HBIOS/cfg_N8PC.asm +++ b/Source/HBIOS/cfg_N8PC.asm @@ -110,9 +110,9 @@ FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS FPLED_IO .SET $00 ; FP: PORT ADDRESS FOR FP LEDS FPLED_INV .SET FALSE ; FP: LED BITS ARE INVERTED FPLED_DSKACT .SET TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS -FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES -FPSW_IO .SET $00 ; FP: PORT ADDRESS FOR FP SWITCHES -FPSW_INV .SET FALSE ; FP: SWITCH BITS ARE INVERTED +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES +FPSW_IO .SET $88 ; FP: PORT ADDRESS FOR FP SWITCHES +FPSW_INV .SET TRUE ; FP: SWITCH BITS ARE INVERTED ; DIAGLVL .SET DL_CRITICAL ; ERROR LEVEL REPORTING ; @@ -175,7 +175,7 @@ MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM) DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM) ; M6242RTCENABLE .SET TRUE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM) -M6242RTC_BASE .SET $A0 ; M6242RTC: I/O BASE ADDRESS +M6242RTC_BASE .SET $B0 ; M6242RTC: I/O BASE ADDRESS ; SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM) SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG @@ -377,7 +377,7 @@ SNMODE .SET SNMODE_VGM ; SN: DRIVER MODE: SNMODE_[NONE|RC|VGM|DUO] ; AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER AY_CLK .SET 3579545 ; AY: PSG CLOCK FREQ, ASSUME MSX STD -AYMODE .SET AYMODE_N8 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU] +AYMODE .SET AYMODE_N8PC ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU|N8PC] AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT ; SPKENABLE .SET FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index e2985158..624bb936 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -268,6 +268,7 @@ AYMODE_LINC .EQU 6 ; LINC Z50 AY SOUND CARD AYMODE_MBC .EQU 7 ; MBC SOUND BOARD AYMODE_DUO .EQU 8 ; MBC SOUND BOARD AYMODE_NABU .EQU 9 ; NABU BUILT-IN SOUND +AYMODE_N8PC .EQU 10 ; N8PC BUILT-IN SOUND ; ; SN SOUND CHIP MODE SELECTIONS ;