Merge pull request #1415 from lemondrops/master

Add a version of XTIDE Universal BIOS for 386
This commit is contained in:
Miran Grča
2021-05-01 18:07:36 +02:00
committed by GitHub
3 changed files with 26 additions and 2 deletions

View File

@@ -110,6 +110,7 @@ static const struct {
{ "ide_isa", &ide_isa_device },
{ "ide_isa_2ch", &ide_isa_2ch_device },
{ "xtide_at", &xtide_at_device },
{ "xtide_at_386", &xtide_at_386_device },
{ "xtide_at_ps2", &xtide_at_ps2_device },
{ "xta_wdxt150", &xta_wdxt150_device },
{ "xtide_acculogic", &xtide_acculogic_device },

View File

@@ -49,6 +49,7 @@
#define ROM_PATH_AT "roms/hdd/xtide/ide_at.bin"
#define ROM_PATH_PS2 "roms/hdd/xtide/SIDE1V12.BIN"
#define ROM_PATH_PS2AT "roms/hdd/xtide/ide_at_1_1_5.bin"
#define ROM_PATH_AT_386 "roms/hdd/xtide/ide_386.bin"
typedef struct {
@@ -161,8 +162,13 @@ xtide_at_init(const device_t *info)
memset(xtide, 0x00, sizeof(xtide_t));
rom_init(&xtide->bios_rom, ROM_PATH_AT,
0xc8000, 0x2000, 0x1fff, 0, MEM_MAPPING_EXTERNAL);
if (info->local == 1) {
rom_init(&xtide->bios_rom, ROM_PATH_AT_386,
0xc8000, 0x2000, 0x1fff, 0, MEM_MAPPING_EXTERNAL);
} else {
rom_init(&xtide->bios_rom, ROM_PATH_AT,
0xc8000, 0x2000, 0x1fff, 0, MEM_MAPPING_EXTERNAL);
}
device_add(&ide_isa_2ch_device);
@@ -177,6 +183,13 @@ xtide_at_available(void)
}
static int
xtide_at_386_available(void)
{
return(rom_present(ROM_PATH_AT_386));
}
static void *
xtide_acculogic_init(const device_t *info)
{
@@ -265,6 +278,15 @@ const device_t xtide_at_device = {
NULL
};
const device_t xtide_at_386_device = {
"PC/AT XTIDE (386)",
DEVICE_ISA | DEVICE_AT,
1,
xtide_at_init, xtide_at_close, NULL,
{ xtide_at_386_available }, NULL, NULL,
NULL
};
const device_t xtide_acculogic_device = {
"Acculogic XT IDE",
DEVICE_ISA,

View File

@@ -67,6 +67,7 @@ extern const device_t xta_hd20_device; /* EuroPC internal */
extern const device_t xtide_device; /* xtide_xt */
extern const device_t xtide_at_device; /* xtide_at */
extern const device_t xtide_at_386_device; /* xtide_at_386 */
extern const device_t xtide_acculogic_device; /* xtide_ps2 */
extern const device_t xtide_at_ps2_device; /* xtide_at_ps2 */