Implement the Aztech AZTPR16 audio controller (and other Aztech improvements) (#6673)

* Aztech: Clean up unused code and outdated comments, add a standard 86Box header comment and fix a warning in the logging code

* Aztech: Implement gameport enable/disable for AZT1605 and AZT2316A

* Aztech: Implement SBPro mixer restore from EEPROM for AZT2316A

* Implement the Aztech Sound Galaxy Pro 16 (AZTPR16) sound card

* AZTPR16: Right shift master volume by 1 during mixer update, fixes quiet audio in DOS WSS sound test

* AZTPR16: Set the Panasonic CD-ROM bit in the config word, fixes CR56X.SYS on Packard Bell 141233 boot disk
This commit is contained in:
win2kgamer
2026-01-04 21:28:12 -06:00
committed by GitHub
parent c5d60d658f
commit e42f1359d8
7 changed files with 834 additions and 105 deletions

View File

@@ -2,5 +2,7 @@
#define SOUND_AZT2316A_H
extern void azt2316a_enable_wss(uint8_t enable, void *priv);
extern void aztpr16_update_mixer(void *priv);
extern void aztpr16_wss_mode(uint8_t mode, void *priv);
#endif /*SOUND_AZT2316A*/

View File

@@ -8,16 +8,17 @@
#define SB_SUBTYPE_CLONE_AZT2316A_0X11 1 /* Aztech Sound Galaxy Pro 16 AB, DSP 3.1 - SBPRO2 clone */
#define SB_SUBTYPE_CLONE_AZT1605_0X0C 2 /* Aztech Sound Galaxy Nova 16 Extra /
Packard Bell Forte 16, DSP 2.1 - SBPRO2 clone */
#define SB_SUBTYPE_ESS_ES688 3 /* ESS Technology ES688 */
#define SB_SUBTYPE_ESS_ES1688 4 /* ESS Technology ES1688 */
#define SB_SUBTYPE_CLONE_AZTPR16_0X09 3 /* Aztech Sound Galaxy Pro 16 Extra */
#define SB_SUBTYPE_ESS_ES688 4 /* ESS Technology ES688 */
#define SB_SUBTYPE_ESS_ES1688 5 /* ESS Technology ES1688 */
/* ESS-related */
#define IS_ESS(dsp) ((dsp)->sb_subtype >= SB_SUBTYPE_ESS_ES688) /* Check for future ESS cards here */
#define IS_NOT_ESS(dsp) ((dsp)->sb_subtype < SB_SUBTYPE_ESS_ES688) /* Check for future ESS cards here */
/* aztech-related */
#define IS_AZTECH(dsp) ((dsp)->sb_subtype == SB_SUBTYPE_CLONE_AZT2316A_0X11 || (dsp)->sb_subtype == SB_SUBTYPE_CLONE_AZT1605_0X0C) /* check for future AZT cards here */
#define AZTECH_EEPROM_SIZE 16
#define IS_AZTECH(dsp) ((dsp)->sb_subtype == SB_SUBTYPE_CLONE_AZT2316A_0X11 || (dsp)->sb_subtype == SB_SUBTYPE_CLONE_AZT1605_0X0C || (dsp)->sb_subtype == SB_SUBTYPE_CLONE_AZTPR16_0X09) /* check for future AZT cards here */
#define AZTECH_EEPROM_SIZE 36
typedef struct sb_dsp_t {
int sb_type;

View File

@@ -134,6 +134,7 @@ extern const device_t azt2316a_device;
extern const device_t acermagic_s20_device;
extern const device_t mirosound_pcm10_device;
extern const device_t azt1605_device;
extern const device_t aztpr16_device;
/* C-Media CMI8x38 */
extern const device_t cmi8338_device;