Merge pull request #2112 from jriwanek-forks/ui-part4
More Win32 UI, TNDY, and Soundblaster Improvements
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
};
|
||||
|
||||
@@ -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 }
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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:"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user