diff --git a/src/device.c b/src/device.c index c258369b4..0e057cd53 100644 --- a/src/device.c +++ b/src/device.c @@ -9,7 +9,7 @@ * Implementation of the generic device interface to handle * all devices attached to the emulator. * - * Version: @(#)device.c 1.0.8 2018/02/18 + * Version: @(#)device.c 1.0.9 2018/03/02 * * Authors: Sarah Walker, * Miran Grca, @@ -64,8 +64,12 @@ device_add(device_t *d) if (d->init != NULL) { priv = d->init(d); - if (priv == NULL) - fatal("device_add: device init failed\n"); + if (priv == NULL) { + if (d->name) + fatal("device_add: device init failed (%s)\n", d->name); + else + fatal("device_add: device init failed\n"); + } } devices[c] = d; diff --git a/src/machine/m_xt_xi8088.c b/src/machine/m_xt_xi8088.c index 966d4fdd5..bf06bb572 100644 --- a/src/machine/m_xt_xi8088.c +++ b/src/machine/m_xt_xi8088.c @@ -131,5 +131,6 @@ void machine_xt_xi8088_init(machine_t *model) nmi_init(); nvr_at_init(8); pic2_init(); - device_add(&gameport_device); + if (joystick_type != 7) + device_add(&gameport_device); } diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index bdf5f38b2..2248db772 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -51,7 +51,7 @@ machine_t machines[] = { #if defined(DEV_BRANCH) && defined(USE_LASERXT) { "[8088] VTech Laser Turbo XT", ROM_LTXT, "ltxt", {{"", cpus_8088}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA, 512, 512, 256, 0, machine_xt_laserxt_init, NULL, NULL }, #endif - { "[8088] Xi8088", ROM_XI8088, "xi8088", {{"", cpus_8088}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_PS2, 64, 1024, 128, 127, machine_xt_xi8088_init, xi8088_get_device, nvr_at_close }, + { "[8088] Xi8088", ROM_XI8088, "xi8088", {{"", cpus_8088}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_PS2, 64, 1024, 128, 127, machine_xt_xi8088_init, xi8088_get_device, nvr_at_close }, { "[8086] Amstrad PC1512", ROM_PC1512, "pc1512", {{"", cpus_pc1512}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_VIDEO | MACHINE_MOUSE, 512, 640, 128, 63, machine_amstrad_init, NULL, nvr_at_close }, { "[8086] Amstrad PC1640", ROM_PC1640, "pc1640", {{"", cpus_8086}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_VIDEO | MACHINE_MOUSE, 640, 640, 0, 63, machine_amstrad_init, NULL, nvr_at_close }, diff --git a/src/rom.c b/src/rom.c index 363bfbc37..3deb35c6a 100644 --- a/src/rom.c +++ b/src/rom.c @@ -13,7 +13,7 @@ * - c386sx16 BIOS fails checksum * - the loadfont() calls should be done elsewhere * - * Version: @(#)rom.c 1.0.33 2018/03/02 + * Version: @(#)rom.c 1.0.34 2018/03/02 * * Authors: Sarah Walker, * Miran Grca, @@ -354,14 +354,14 @@ rom_load_bios(int rom_id) case ROM_XI8088: if (rom_load_linear_inverted( L"roms/machines/xi8088/bios-xi8088.bin", - 0x000000, 131072, 128, rom)) { + 0x000000, 131072, 0, rom)) { biosmask = 0x1ffff; xi8088_bios_128kb_set(1); return(1); } else { if (rom_load_linear( L"roms/machines/xi8088/bios-xi8088.bin", - 0x000000, 65536, 128, rom)) { + 0x000000, 65536, 0, rom)) { xi8088_bios_128kb_set(0); return(1); } @@ -904,19 +904,21 @@ rom_load_bios(int rom_id) case ROM_T1000: loadfont(L"roms/machines/t1000/t1000font.bin", 2); - if (rom_load_linear( + if (!rom_load_linear( L"roms/machines/t1000/t1000.rom", - 0x000000, 32768, 0, rom)) return(1); + 0x000000, 32768, 0, rom)) break; memcpy(rom + 0x8000, rom, 0x8000); - break; + biosmask = 0x7fff; + return(1); case ROM_T1200: loadfont(L"roms/machines/t1200/t1000font.bin", 2); - if (rom_load_linear( + if (!rom_load_linear( L"roms/machines/t1200/t1200_019e.ic15.bin", - 0x000000, 32768, 0, rom)) return(1); + 0x000000, 32768, 0, rom)) break; memcpy(rom + 0x8000, rom, 0x8000); - break; + biosmask = 0x7fff; + return(1); case ROM_T3100E: loadfont(L"roms/machines/t3100e/t3100e_font.bin", 5); diff --git a/src/video/vid_ati_mach64.c b/src/video/vid_ati_mach64.c index 2a01b8016..9c431a7fd 100644 --- a/src/video/vid_ati_mach64.c +++ b/src/video/vid_ati_mach64.c @@ -8,7 +8,7 @@ * * ATi Mach64 graphics card emulation. * - * Version: @(#)vid_ati_mach64.c 1.0.12 2018/01/31 + * Version: @(#)vid_ati_mach64.c 1.0.13 2018/03/02 * * Authors: Sarah Walker, * Miran Grca, @@ -3600,7 +3600,7 @@ static device_config_t mach64vt2_config[] = device_t mach64gx_isa_device = { "ATI Mach64GX ISA", - DEVICE_ISA, + DEVICE_AT | DEVICE_ISA, 0, mach64gx_init, mach64_close, NULL, mach64gx_isa_available, diff --git a/src/video/vid_cl54xx.c b/src/video/vid_cl54xx.c index 5d8694ba2..ca48ed4ef 100644 --- a/src/video/vid_cl54xx.c +++ b/src/video/vid_cl54xx.c @@ -9,7 +9,7 @@ * Emulation of select Cirrus Logic cards (CL-GD 5428, * CL-GD 5429, 5430, 5434 and 5436 are supported). * - * Version: @(#)vid_cl_54xx.c 1.0.8 2018/03/01 + * Version: @(#)vid_cl_54xx.c 1.0.9 2018/03/02 * * Authors: Sarah Walker, * Barry Rodewald, @@ -2488,7 +2488,7 @@ static device_config_t gd5434_config[] = device_t gd5428_isa_device = { "Cirrus Logic CL-GD 5428 (ISA)", - DEVICE_AT | DEVICE_ISA, + DEVICE_ISA, CIRRUS_ID_CLGD5428, gd54xx_init, gd54xx_close, @@ -2518,7 +2518,7 @@ device_t gd5428_vlb_device = device_t gd5429_isa_device = { "Cirrus Logic CL-GD 5429 (ISA)", - DEVICE_AT | DEVICE_ISA, + DEVICE_ISA, CIRRUS_ID_CLGD5429, gd54xx_init, gd54xx_close, diff --git a/src/video/vid_oak_oti.c b/src/video/vid_oak_oti.c index b7c7425a2..027e93b95 100644 --- a/src/video/vid_oak_oti.c +++ b/src/video/vid_oak_oti.c @@ -8,7 +8,7 @@ * * Oak OTI037C/67/077 emulation. * - * Version: @(#)vid_oak_oti.c 1.0.7 2018/03/02 + * Version: @(#)vid_oak_oti.c 1.0.8 2018/03/02 * * Authors: Sarah Walker, * Miran Grca, @@ -30,7 +30,7 @@ #include "vid_oak_oti.h" #include "vid_svga.h" -#define BIOS_37C_PATH L"roms/video/oti/oti037c/bios.bin" +#define BIOS_37C_PATH L"roms/video/oti/bios.bin" #define BIOS_77_PATH L"roms/video/oti/oti077.vbi"