Merge pull request #2112 from jriwanek-forks/ui-part4

More Win32 UI, TNDY, and Soundblaster Improvements
This commit is contained in:
Miran Grča
2022-02-13 16:15:38 +01:00
committed by GitHub
10 changed files with 251 additions and 44 deletions

View File

@@ -116,7 +116,7 @@ const device_t ibm_5161_device =
{
"IBM Expansion Unit (5161)",
"ibm_5161",
0,
DEVICE_ISA,
0,
ibm_5161_init,
ibm_5161_close,

View File

@@ -103,6 +103,7 @@ extern const device_t pas16_device;
extern const device_t ps1snd_device;
/* Tandy PSSJ */
extern const device_t tndy_device;
extern const device_t pssj_device;
extern const device_t pssj_isa_device;
@@ -120,6 +121,8 @@ extern const device_t sb_16_pnp_device;
extern const device_t sb_32_pnp_device;
extern const device_t sb_awe32_device;
extern const device_t sb_awe32_pnp_device;
extern const device_t sb_awe64_value_device;
extern const device_t sb_awe64_device;
extern const device_t sb_awe64_gold_device;
/* Innovation SSI-2001 */

View File

@@ -1201,7 +1201,7 @@ void *gus_init(const device_t *info)
io_sethandler(gus->base, 0x0010, readgus, NULL, NULL, writegus, NULL, NULL, gus);
io_sethandler(0x0100+gus->base, 0x0010, readgus, NULL, NULL, writegus, NULL, NULL, gus);
io_sethandler(0x0506+gus->base, 0x0001, readgus, NULL, NULL, writegus, NULL, NULL, gus);
io_sethandler(0x0506+gus->base, 0x0001, readgus, NULL, NULL, writegus, NULL, NULL, gus);
io_sethandler(0x0388, 0x0002, readgus, NULL, NULL, writegus, NULL, NULL, gus);
#if defined(DEV_BRANCH) && defined(USE_GUSMAX)

View File

@@ -241,7 +241,7 @@ void pssj_close(void *p)
static const device_config_t pssj_isa_config[] =
{
{
"base", "Address", CONFIG_HEX16, "", 0xC0, "", { 0 },
"base", "Address", CONFIG_HEX16, "", 0x2C0, "", { 0 },
{
{
"0xC0", 0xC0

View File

@@ -1730,6 +1730,20 @@ sb_awe32_pnp_available()
}
static int
sb_awe64_value_available()
{
return sb_awe32_available() && rom_present("roms/sound/CT4520 PnP.BIN");
}
static int
sb_awe64_available()
{
return sb_awe32_available() && rom_present("roms/sound/CT4520 PnP.BIN");
}
static int
sb_awe64_gold_available()
{
@@ -1802,7 +1816,7 @@ sb_awe32_pnp_init(const device_t *info)
sb->opl_enabled = 1;
opl3_init(&sb->opl);
sb_dsp_init(&sb->dsp, (info->local == 2) ? SBAWE64 : SBAWE32, SB_SUBTYPE_DEFAULT, sb);
sb_dsp_init(&sb->dsp, ((info->local == 2) || (info->local == 3) || (info->local == 4)) ? SBAWE64 : SBAWE32, SB_SUBTYPE_DEFAULT, sb);
sb_ct1745_mixer_reset(sb);
sb->mixer_enabled = 1;
@@ -1821,7 +1835,7 @@ sb_awe32_pnp_init(const device_t *info)
sb->gameport = gameport_add(&gameport_pnp_device);
if (info->local != 2)
if ((info->local != 2) && (info->local != 3) && (info->local != 4))
device_add(&ide_ter_pnp_device);
char *pnp_rom_file = NULL;
@@ -1834,7 +1848,11 @@ sb_awe32_pnp_init(const device_t *info)
pnp_rom_file = "roms/sound/CT3980 PnP.BIN";
break;
case 2:
case 2: case 3:
pnp_rom_file = "roms/sound/CT4520 PnP.BIN";
break;
case 4:
pnp_rom_file = "roms/sound/CT4540 PnP.BIN";
break;
}
@@ -1858,7 +1876,7 @@ sb_awe32_pnp_init(const device_t *info)
isapnp_add_card(pnp_rom, sizeof(sb->pnp_rom), sb_awe32_pnp_config_changed, NULL, NULL, NULL, sb);
break;
case 2:
case 2: case 3: case 4:
isapnp_add_card(pnp_rom, sizeof(sb->pnp_rom), sb_awe64_gold_pnp_config_changed, NULL, NULL, NULL, sb);
break;
}
@@ -2377,6 +2395,9 @@ static const device_config_t sb_32_pnp_config[] =
{
"None", 0
},
{
"512 KB", 512
},
{
"2 MB", 2048
},
@@ -2588,6 +2609,105 @@ static const device_config_t sb_awe32_pnp_config[] =
}
};
static const device_config_t sb_awe64_value_config[] =
{
{
"onboard_ram", "Onboard RAM", CONFIG_SELECTION, "", 512, "", { 0 },
{
{
"512 KB", 512
},
{
"1 MB", 1024
},
{
"2 MB", 2048
},
{
"4 MB", 4096
},
{
"8 MB", 8192
},
{
"12 MB", 12288
},
{
"16 MB", 16384
},
{
"20 MB", 20480
},
{
"24 MB", 24576
},
{
"28 MB", 28672
},
{
""
}
}
},
{
"receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1
},
{
"receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0
},
{
"", "", -1
}
};
static const device_config_t sb_awe64_config[] =
{
{
"onboard_ram", "Onboard RAM", CONFIG_SELECTION, "", 1024, "", { 0 },
{
{
"1 MB", 1024
},
{
"2 MB", 2048
},
{
"4 MB", 4096
},
{
"8 MB", 8192
},
{
"12 MB", 12288
},
{
"16 MB", 16384
},
{
"20 MB", 20480
},
{
"24 MB", 24576
},
{
"28 MB", 28672
},
{
""
}
}
},
{
"receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1
},
{
"receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0
},
{
"", "", -1
}
};
static const device_config_t sb_awe64_gold_config[] =
{
{
@@ -2606,7 +2726,13 @@ static const device_config_t sb_awe64_gold_config[] =
"16 MB", 16384
},
{
"28 MB", 28*1024
"20 MB", 20480
},
{
"24 MB", 24576
},
{
"28 MB", 28672
},
{
""
@@ -2784,12 +2910,38 @@ const device_t sb_awe32_pnp_device =
sb_awe32_pnp_config
};
const device_t sb_awe64_value_device =
{
"Sound Blaster AWE64 Value",
"sbawe64_value",
DEVICE_ISA | DEVICE_AT,
2,
sb_awe32_pnp_init, sb_awe32_close, NULL,
{ sb_awe64_value_available },
sb_speed_changed,
NULL,
sb_awe64_value_config
};
const device_t sb_awe64_device =
{
"Sound Blaster AWE64",
"sbawe64",
DEVICE_ISA | DEVICE_AT,
3,
sb_awe32_pnp_init, sb_awe32_close, NULL,
{ sb_awe64_available },
sb_speed_changed,
NULL,
sb_awe64_config
};
const device_t sb_awe64_gold_device =
{
"Sound Blaster AWE64 Gold",
"sbawe64_gold",
DEVICE_ISA | DEVICE_AT,
2,
4,
sb_awe32_pnp_init, sb_awe32_close, NULL,
{ sb_awe64_gold_available },
sb_speed_changed,

View File

@@ -224,6 +224,18 @@ void *ncr8496_device_init(const device_t *info)
return sn76489;
}
void *tndy_device_init(const device_t *info)
{
sn76489_t *sn76489 = malloc(sizeof(sn76489_t));
memset(sn76489, 0, sizeof(sn76489_t));
uint16_t addr = device_get_config_hex16("base");
sn76489_init(sn76489, addr, 0x0008, SN76496, 3579545);
return sn76489;
}
void sn76489_device_close(void *p)
{
sn76489_t *sn76489 = (sn76489_t *)p;
@@ -231,6 +243,30 @@ void sn76489_device_close(void *p)
free(sn76489);
}
static const device_config_t tndy_config[] =
{
{
"base", "Address", CONFIG_HEX16, "", 0x0C0, "", { 0 },
{
{
"0x0C0", 0x0C0
},
{
"0x1E0", 0x1E0
},
{
"0x2C0", 0x2C0
},
{
""
}
}
},
{
"", "", -1
}
};
const device_t sn76489_device =
{
"TI SN74689 PSG",
@@ -242,6 +278,7 @@ const device_t sn76489_device =
NULL, { NULL }, NULL,
NULL
};
const device_t ncr8496_device =
{
"NCR8496 PSG",
@@ -253,3 +290,15 @@ const device_t ncr8496_device =
NULL, { NULL }, NULL,
NULL
};
const device_t tndy_device =
{
"TNDY",
"tndy",
DEVICE_ISA,
0,
tndy_device_init,
sn76489_device_close,
NULL, { NULL }, NULL,
tndy_config
};

View File

@@ -101,28 +101,31 @@ static const device_t sound_internal_device = {
static const SOUND_CARD sound_cards[] =
{
{ &sound_none_device },
{ &sound_internal_device },
{ &adlib_device },
{ &sound_internal_device },
{ &adlib_device },
{ &adgold_device },
{ &azt2316a_device },
{ &azt1605_device },
{ &cs4236b_device },
{ &sb_1_device },
{ &sb_15_device },
{ &sb_2_device },
{ &sb_1_device },
{ &sb_15_device },
{ &sb_2_device },
{ &sb_pro_v1_device },
{ &sb_pro_v2_device },
{ &sb_16_device },
{ &sb_16_device },
{ &sb_16_pnp_device },
{ &sb_32_pnp_device },
{ &sb_awe32_device },
{ &sb_awe32_pnp_device },
{ &sb_awe64_value_device },
{ &sb_awe64_device },
{ &sb_awe64_gold_device },
#if defined(DEV_BRANCH) && defined(USE_PAS16)
{ &pas16_device },
{ &pas16_device },
#endif
{ &tndy_device },
{ &pssj_isa_device },
{ &wss_device },
{ &wss_device },
{ &adlib_mca_device },
{ &ncr_business_audio_device },
{ &sb_mcv_device },
@@ -130,7 +133,7 @@ static const SOUND_CARD sound_cards[] =
{ &es1371_device },
{ &ad1881_device },
{ &cs4297a_device },
{ NULL }
{ NULL }
};

View File

@@ -341,7 +341,7 @@ END
#define STR_TURBO "Turbo-Timings"
#define STR_CHECKBPB "BPB überprüfen"
#define STR_CDROM_DRIVES "CD-ROM-Laufwerke:"
#define STR_CD_SPEED "Geschwindigkeit:"
#define STR_CD_SPEED "Takt:"
#define STR_MO_DRIVES "MO-Laufwerke:"
#define STR_ZIP_DRIVES "ZIP-Laufwerke:"

View File

@@ -584,7 +584,7 @@ BEGIN
END
DLG_CFG_HARD_DISKS_ADD DIALOG DISCARDABLE 0, 0, 219, 151
DLG_CFG_HARD_DISKS_ADD DIALOG DISCARDABLE 0, 0, 239, 151
STYLE DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Add Hard Disk"
FONT FONT_SIZE, FONT_NAME
@@ -592,61 +592,61 @@ BEGIN
LTEXT STR_FILE_NAME, IDT_FILE_NAME,
7, 7, 204, 12
EDITTEXT IDC_EDIT_HD_FILE_NAME,
7, 18, 153, 12
7, 18, 173, 12
PUSHBUTTON STR_SPECIFY, IDC_CFILE,
167, 18, 44, CFG_BTN_HEIGHT
187, 18, 44, CFG_BTN_HEIGHT
LTEXT STR_CYLS, IDT_CYLS,
7, 37, 32, 12
7, 37, 42, 12
EDITTEXT IDC_EDIT_HD_CYL,
42, 36, 28, 12
50, 36, 28, 12
LTEXT STR_HEADS, IDT_HEADS,
81, 37, 29, 12
86, 37, 29, 12
EDITTEXT IDC_EDIT_HD_HPC,
112, 36, 28, 12
122, 36, 28, 12
LTEXT STR_SECTORS, IDT_SECTORS,
154, 37, 27, 12
164, 37, 33, 12
EDITTEXT IDC_EDIT_HD_SPT,
183, 36, 28, 12
197, 36, 28, 12
LTEXT STR_SIZE_MB, IDT_SIZE_MB,
7, 56, 33, 12
7, 56, 48, 12
EDITTEXT IDC_EDIT_HD_SIZE,
42, 54, 28, 12
50, 54, 28, 12
LTEXT STR_TYPE, IDT_TYPE,
86, 56, 24, 12
COMBOBOX IDC_COMBO_HD_TYPE,
113, 54, 98, 12,
133, 54, 98, 12,
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT STR_BUS,IDT_BUS,
7, 75, 24, 12
COMBOBOX IDC_COMBO_HD_BUS,
33, 73, 58, 12,
43, 73, 58, 12,
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT STR_CHANNEL, IDT_CHANNEL,
99, 75, 34, 12
109, 75, 34, 12
COMBOBOX IDC_COMBO_HD_CHANNEL,
134, 73, 77, 12,
144, 73, 87, 12,
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_COMBO_HD_CHANNEL_IDE,
134, 73, 77, 12,
144, 73, 87, 12,
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT STR_ID, IDT_ID,
99, 75, 34, 12
109, 75, 34, 12
COMBOBOX IDC_COMBO_HD_ID,
134, 73, 77, 12,
144, 73, 87, 12,
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT STR_IMG_FORMAT, IDT_IMG_FORMAT,
7, 94, 50, 12
7, 94, 70, 12
COMBOBOX IDC_COMBO_HD_IMG_FORMAT,
58, 92, 153, 12,
78, 92, 153, 12,
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT STR_BLOCK_SIZE, IDT_BLOCK_SIZE,
@@ -663,9 +663,9 @@ BEGIN
7, 16, 204, 12
DEFPUSHBUTTON STR_OK, IDOK,
55, 129, 50, CFG_BTN_HEIGHT
75, 129, 50, CFG_BTN_HEIGHT
PUSHBUTTON STR_CANCEL, IDCANCEL,
112, 129, 50, CFG_BTN_HEIGHT
132, 129, 50, CFG_BTN_HEIGHT
END
DLG_CFG_FLOPPY_AND_CDROM_DRIVES DIALOG DISCARDABLE CFG_PANE_LEFT, CFG_PANE_TOP, CFG_PANE_WIDTH, CFG_PANE_HEIGHT
@@ -721,9 +721,9 @@ BEGIN
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT STR_CD_SPEED, IDT_CD_SPEED,
CFG_HMARGIN, 207, 24, CFG_PANE_LTEXT_HEIGHT
CFG_HMARGIN, 207, 34, CFG_PANE_LTEXT_HEIGHT
COMBOBOX IDC_COMBO_CD_SPEED,
33, 205, 328, 12,
43, 205, 328, 12,
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END