Give the Intel Atlantis, Monaco and Thor boards their onboard CS4232 audio

This commit is contained in:
win2kgamer
2025-10-25 23:01:39 -05:00
parent 080632bd4a
commit 7b40cfb563
2 changed files with 16 additions and 27 deletions

View File

@@ -435,6 +435,9 @@ machine_at_thor_gpio_init(void)
else if (cpu_busspeed > 60000000)
gpio |= 0xffff1000;
if (sound_card_current[0] == SOUND_INTERNAL)
gpio |= 0xffff0400;
machine_set_gpio_default(gpio);
}
@@ -476,6 +479,9 @@ machine_at_thor_init(const machine_t *model)
if (has_video && (gfxcard[0] == VID_INTERNAL))
device_add(machine_get_vid_device(machine));
if (has_video && (sound_card_current[0] == SOUND_INTERNAL))
machine_snd = device_add(machine_get_snd_device(machine));
device_add(&i430fx_device);
device_add(&piix_device);
device_add_params(&pc87306_device, (void *) PCX730X_AMI);
@@ -576,27 +582,6 @@ machine_at_monaco_gpio_init(void)
{
uint32_t gpio = 0xffffe0cf;
/* Return to this after CS4232 PnP is working. */
/* Register 0x0078 (Undocumented): */
/* Bit 5,4: Vibra 16S base address: 0 = 220h, 1 = 260h, 2 = 240h, 3 = 280h. */
/*device_context(machine_get_snd_device(machine));
addr = device_get_config_hex16("base");
switch (addr) {
case 0x0220:
gpio |= 0xffff00cf;
break;
case 0x0240:
gpio |= 0xffff00ef;
break;
case 0x0260:
gpio |= 0xffff00df;
break;
case 0x0280:
gpio |= 0xffff00ff;
break;
}
device_context_restore();*/
/* Register 0x0079: */
/* Bit 7: 0 = Clear password, 1 = Keep password. */
/* Bit 6: 0 = NVRAM cleared by jumper, 1 = NVRAM normal. */
@@ -682,6 +667,9 @@ machine_at_endeavor_init(const machine_t *model)
return ret;
}
/* The Monaco and Atlantis share the same GPIO config */
#define machine_at_monaco_gpio_init machine_at_atlantis_gpio_init
int
machine_at_atlantis_init(const machine_t *model)
{
@@ -695,6 +683,7 @@ machine_at_atlantis_init(const machine_t *model)
return ret;
machine_at_common_init_ex(model, 2);
machine_at_atlantis_gpio_init();
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);

View File

@@ -13488,7 +13488,7 @@ const machine_t machines[] = {
.max_multi = 3.0
},
.bus_flags = MACHINE_PS2_PCI,
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_APM, /* Machine has onboard sound: Crystal CS4232-KQ */
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_SOUND | MACHINE_GAMEPORT | MACHINE_APM, /* Machine has onboard sound: Crystal CS4232-KQ */
.ram = {
.min = 8192,
.max = 131072,
@@ -13507,7 +13507,7 @@ const machine_t machines[] = {
.fdc_device = NULL,
.sio_device = NULL,
.vid_device = &mach64ct_device_onboard,
.snd_device = NULL,
.snd_device = &cs4232_onboard_device,
.net_device = NULL
},
/* According to tests from real hardware: This has AMI MegaKey KBC firmware on the
@@ -13534,7 +13534,7 @@ const machine_t machines[] = {
.max_multi = 3.0
},
.bus_flags = MACHINE_PS2_PCI,
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_APM | MACHINE_GAMEPORT, /* Machine has optional onboard sound: Crystal CS4232-KQ */
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_APM | MACHINE_SOUND | MACHINE_GAMEPORT, /* Machine has optional onboard sound: Crystal CS4232-KQ */
.ram = {
.min = 8192,
.max = 131072,
@@ -13553,7 +13553,7 @@ const machine_t machines[] = {
.fdc_device = NULL,
.sio_device = NULL,
.vid_device = &s3_phoenix_trio64vplus_onboard_pci_device,
.snd_device = NULL,
.snd_device = &cs4232_onboard_device,
.net_device = NULL
},
/* According to tests from real hardware: This has AMI MegaKey KBC firmware on the
@@ -13626,7 +13626,7 @@ const machine_t machines[] = {
.max_multi = 3.0
},
.bus_flags = MACHINE_PS2_PCI,
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_APM, /* Machine has onboard sound: Crystal CS4232-KQ */
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_SOUND | MACHINE_GAMEPORT | MACHINE_APM, /* Machine has onboard sound: Crystal CS4232-KQ */
.ram = {
.min = 8192,
.max = 131072,
@@ -13645,7 +13645,7 @@ const machine_t machines[] = {
.fdc_device = NULL,
.sio_device = NULL,
.vid_device = &mach64ct_device_onboard,
.snd_device = NULL,
.snd_device = &cs4232_onboard_device,
.net_device = NULL
},
/* This has an AMIKey-2, which is type 'H'. */