Added standalone HDC/FDC chips for expansion cards

TODO: to add standalone UM82C86xF/UM8663/Prime 3B SIO chips for expansion cards with floppy
This commit is contained in:
Maxwell Scott
2026-02-27 17:33:14 +07:00
parent 9d9d356a15
commit 4cc3ba5bcd
3 changed files with 47 additions and 39 deletions

View File

@@ -54,49 +54,54 @@ static const struct {
const device_t *device;
} controllers[] = {
// clang-format off
{ &device_none },
{ &device_internal },
{ &device_none },
{ &device_internal },
/* ISA */
{ &xtide_acculogic_device },
{ &st506_xt_dtc5150x_device },
{ &st506_xt_xebec_device },
{ &xtide_device },
{ &st506_xt_st11_m_device },
{ &st506_xt_st11_r_device },
{ &xta_st50x_device },
{ &st506_xt_victor_v86p_device },
{ &st506_xt_wd1002a_27x_device },
{ &st506_xt_wd1002a_wx1_device },
{ &st506_xt_wd1004_27x_device },
{ &st506_xt_wd1004a_27x_device },
{ &st506_xt_wd1004a_wx1_device },
{ &xta_wdxt150_device },
{ &st506_xt_wdxt_gen_device },
{ &xtide_acculogic_device },
{ &st506_xt_dtc5150x_device },
{ &st506_xt_xebec_device },
{ &xtide_device },
{ &st506_xt_st11_m_device },
{ &st506_xt_st11_r_device },
{ &xta_st50x_device },
{ &st506_xt_victor_v86p_device },
{ &st506_xt_wd1002a_27x_device },
{ &st506_xt_wd1002a_wx1_device },
{ &st506_xt_wd1004_27x_device },
{ &st506_xt_wd1004a_27x_device },
{ &st506_xt_wd1004a_wx1_device },
{ &xta_wdxt150_device },
{ &st506_xt_wdxt_gen_device },
/* ISA16 */
{ &ide_isa_device },
{ &ide_isa_2ch_device },
{ &xtide_at_device },
{ &xtide_at_2ch_device },
{ &xtide_at_ps2_device },
{ &xtide_at_ps2_2ch_device },
{ &ide_ter_device },
{ &ide_qua_device },
{ &st506_at_wd1003_device },
{ &esdi_at_wd1007vse1_device },
{ &ide_isa_device },
{ &ide_isa_2ch_device },
{ &xtide_at_device },
{ &xtide_at_2ch_device },
{ &xtide_at_ps2_device },
{ &xtide_at_ps2_2ch_device },
{ &ide_ter_device },
{ &ide_qua_device },
{ &st506_at_wd1003_device },
{ &esdi_at_wd1007vse1_device },
/* MCA */
{ &esdi_ps2_device },
{ &esdi_integrated_device },
{ &mcide_device },
{ &esdi_ps2_device },
{ &esdi_integrated_device },
{ &mcide_device },
/* VLB */
{ &ide_vlb_device },
{ &ide_vlb_2ch_device },
{ &ide_ali5213_device },
{ &ide_cmd640_vlb_device },
{ &ide_opti611_vlb_device },
{ &ide_vlb_device },
{ &ide_vlb_2ch_device },
/* PCI */
{ &ide_cmd646_ter_qua_device },
{ &ide_cmd648_ter_qua_device },
{ &ide_cmd649_ter_qua_device },
{ &ide_pci_device },
{ &ide_pci_2ch_device },
{ NULL }
{ &ide_cmd640_pci_device },
{ &ide_cmd640_pci_single_channel_device },
{ &ide_cmd646_ter_qua_device },
{ &ide_cmd648_ter_qua_device },
{ &ide_cmd649_ter_qua_device },
{ &ide_pci_device },
{ &ide_pci_2ch_device },
{ NULL }
// clang-format on
};

View File

@@ -253,7 +253,7 @@ const device_t ide_ali1489_device = {
const device_t ide_ali5213_device = {
.name = "ALi M5213",
.internal_name = "ali5213",
.flags = 0,
.flags = DEVICE_VLB,
.local = 0,
.init = ali5213_init,
.close = ali5213_close,

View File

@@ -108,7 +108,10 @@ static fdc_cards_t fdc_cards[] = {
{ &device_none },
{ &device_internal },
{ &fdc_xt_device },
{ &fdc_xt_umc_um8398_device },
{ &fdc_at_device },
{ &fdc_at_nsc_dp8473_device },
{ &fdc_at_smc_device },
{ &fdc_b215_device },
{ &fdc_pii151b_device },
{ &fdc_pii158b_device },