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", &ide_isa_device },
{ "ide_isa_2ch", &ide_isa_2ch_device }, { "ide_isa_2ch", &ide_isa_2ch_device },
{ "xtide_at", &xtide_at_device }, { "xtide_at", &xtide_at_device },
{ "xtide_at_386", &xtide_at_386_device },
{ "xtide_at_ps2", &xtide_at_ps2_device }, { "xtide_at_ps2", &xtide_at_ps2_device },
{ "xta_wdxt150", &xta_wdxt150_device }, { "xta_wdxt150", &xta_wdxt150_device },
{ "xtide_acculogic", &xtide_acculogic_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_AT "roms/hdd/xtide/ide_at.bin"
#define ROM_PATH_PS2 "roms/hdd/xtide/SIDE1V12.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_PS2AT "roms/hdd/xtide/ide_at_1_1_5.bin"
#define ROM_PATH_AT_386 "roms/hdd/xtide/ide_386.bin"
typedef struct { typedef struct {
@@ -161,8 +162,13 @@ xtide_at_init(const device_t *info)
memset(xtide, 0x00, sizeof(xtide_t)); memset(xtide, 0x00, sizeof(xtide_t));
rom_init(&xtide->bios_rom, ROM_PATH_AT, if (info->local == 1) {
0xc8000, 0x2000, 0x1fff, 0, MEM_MAPPING_EXTERNAL); 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); 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 * static void *
xtide_acculogic_init(const device_t *info) xtide_acculogic_init(const device_t *info)
{ {
@@ -265,6 +278,15 @@ const device_t xtide_at_device = {
NULL 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 = { const device_t xtide_acculogic_device = {
"Acculogic XT IDE", "Acculogic XT IDE",
DEVICE_ISA, 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_device; /* xtide_xt */
extern const device_t xtide_at_device; /* xtide_at */ 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_acculogic_device; /* xtide_ps2 */
extern const device_t xtide_at_ps2_device; /* xtide_at_ps2 */ extern const device_t xtide_at_ps2_device; /* xtide_at_ps2 */