diff --git a/src/cpu/386_ops.h b/src/cpu/386_ops.h index 345e59906..299a95d9c 100644 --- a/src/cpu/386_ops.h +++ b/src/cpu/386_ops.h @@ -8,7 +8,7 @@ * * 286/386+ instruction handlers list. * - * Version: @(#)386_ops.h 1.0.1 2018/01/01 + * Version: @(#)386_ops.h 1.0.2 2018/02/18 * * Author: Sarah Walker, * leilei, @@ -148,7 +148,11 @@ static int ILLEGAL(uint32_t fetchdat) } #include "x86seg.h" +#ifdef DEV_BRANCH +#ifdef USE_AMD_K #include "x86_ops_amd.h" +#endif +#endif #include "x86_ops_arith.h" #include "x86_ops_atomic.h" #include "x86_ops_bcd.h" @@ -778,6 +782,8 @@ OpFn OP_TABLE(pentiummmx_0f)[1024] = /*f0*/ ILLEGAL, opPSLLW_a32, opPSLLD_a32, opPSLLQ_a32, ILLEGAL, opPMADDWD_a32, ILLEGAL, ILLEGAL, opPSUBB_a32, opPSUBW_a32, opPSUBD_a32, ILLEGAL, opPADDB_a32, opPADDW_a32, opPADDD_a32, ILLEGAL, }; +#ifdef DEV_BRANCH +#ifdef USE_AMD_K OpFn OP_TABLE(k6_0f)[1024] = { /*16-bit data, 16-bit addr*/ @@ -868,6 +874,8 @@ OpFn OP_TABLE(k6_0f)[1024] = /*e0*/ ILLEGAL, opPSRAW_a32, opPSRAD_a32, ILLEGAL, ILLEGAL, opPMULHW_a32, ILLEGAL, ILLEGAL, opPSUBSB_a32, opPSUBSW_a32, NULL, opPOR_a32, opPADDSB_a32, opPADDSW_a32, NULL, opPXOR_a32, /*f0*/ ILLEGAL, opPSLLW_a32, opPSLLD_a32, opPSLLQ_a32, ILLEGAL, opPMADDWD_a32, ILLEGAL, ILLEGAL, opPSUBB_a32, opPSUBW_a32, opPSUBD_a32, ILLEGAL, opPADDB_a32, opPADDW_a32, opPADDD_a32, ILLEGAL, }; +#endif +#endif OpFn OP_TABLE(c6x86mx_0f)[1024] = { diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 67dcf4abf..1b017c411 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -8,7 +8,7 @@ * * CPU type handler. * - * Version: @(#)cpu.c 1.0.10 2018/02/01 + * Version: @(#)cpu.c 1.0.11 2018/02/18 * * Authors: Sarah Walker, * leilei, @@ -156,11 +156,15 @@ uint64_t ecx570_msr = 0; #endif #endif +#ifdef DEV_BRANCH +#ifdef USE_AMD_K /* AMD K5 and K6 MSR's. */ uint64_t ecx83_msr = 0; /* These are K6-only. */ uint64_t star = 0; uint64_t sfmask = 0; +#endif +#endif int timing_rr; int timing_mr, timing_mrl; @@ -1068,6 +1072,8 @@ void cpu_set() ccr4 = 0x80; break; +#ifdef DEV_BRANCH +#ifdef USE_AMD_K case CPU_K5: case CPU_5K86: #ifdef USE_DYNAREC @@ -1120,6 +1126,8 @@ void cpu_set() codegen_timing_set(&codegen_timing_pentium); #endif break; +#endif +#endif #ifdef DEV_BRANCH #ifdef USE_I686 @@ -1391,6 +1399,8 @@ void cpu_CPUID() EAX = 0; break; +#ifdef DEV_BRANCH +#ifdef USE_AMD_K case CPU_K5: if (!EAX) { @@ -1522,6 +1532,8 @@ void cpu_CPUID() else EAX = 0; break; +#endif +#endif case CPU_PENTIUMMMX: if (!EAX) @@ -1728,6 +1740,8 @@ void cpu_RDMSR() } break; +#ifdef DEV_BRANCH +#ifdef USE_AMD_K case CPU_K5: case CPU_5K86: case CPU_K6: @@ -1761,6 +1775,8 @@ void cpu_RDMSR() break; } break; +#endif +#endif case CPU_PENTIUM: case CPU_PENTIUMMMX: @@ -1953,6 +1969,8 @@ void cpu_WRMSR() break; } break; +#ifdef DEV_BRANCH +#ifdef USE_AMD_K case CPU_K5: case CPU_5K86: case CPU_K6: @@ -1975,6 +1993,8 @@ void cpu_WRMSR() break; } break; +#endif +#endif case CPU_PENTIUM: case CPU_PENTIUMMMX: diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h index 4fdbfc513..5c383b013 100644 --- a/src/cpu/cpu.h +++ b/src/cpu/cpu.h @@ -45,9 +45,13 @@ #define CPU_Cx6x86MX 20 #define CPU_Cx6x86L 21 #define CPU_CxGX1 22 +#ifdef DEV_BRANCH +#ifdef USE_AMD_K #define CPU_K5 23 #define CPU_5K86 24 #define CPU_K6 25 +#endif +#endif #ifdef DEV_BRANCH #ifdef USE_I686 #define CPU_PENTIUMPRO 26 /* 686 class CPUs */ @@ -101,8 +105,12 @@ extern CPU cpus_WinChip[]; extern CPU cpus_Pentium5V[]; extern CPU cpus_Pentium5V50[]; extern CPU cpus_PentiumS5[]; +#ifdef DEV_BRANCH +#ifdef USE_AMD_K extern CPU cpus_K5[]; extern CPU cpus_K56[]; +#endif +#endif extern CPU cpus_Pentium[]; extern CPU cpus_6x86[]; #ifdef DEV_BRANCH diff --git a/src/cpu/cpu_table.c b/src/cpu/cpu_table.c index 6a676ad56..92fdd93f4 100644 --- a/src/cpu/cpu_table.c +++ b/src/cpu/cpu_table.c @@ -29,7 +29,7 @@ * 16 = 180 MHz * 17 = 200 MHz * - * Version: @(#)cpu_table.c 1.0.3 2018/02/01 + * Version: @(#)cpu_table.c 1.0.4 2018/02/18 * * Authors: Sarah Walker, * leilei, @@ -382,6 +382,8 @@ CPU cpus_Pentium[] = { {"", -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0} }; +#ifdef DEV_BRANCH +#ifdef USE_AMD_K CPU cpus_K5[] = { /*AMD K5 (Socket 5)*/ {"K5 (5k86) 75 (P75)", CPU_K5, 9, 75000000, 2, 25000000, 0x500, 0x500, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 7,7,4,4, 9}, @@ -420,6 +422,8 @@ CPU cpus_K56[] = { {"K6 (Model 7) 300", CPU_K6, 28, 300000000, 5, 33333333, 0x570, 0x570, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 27,27,13,13, 36}, {"", -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0} }; +#endif +#endif #ifdef DEV_BRANCH #ifdef USE_I686 diff --git a/src/cpu/x86_ops.h b/src/cpu/x86_ops.h index 01d7ef929..c0ff64ade 100644 --- a/src/cpu/x86_ops.h +++ b/src/cpu/x86_ops.h @@ -48,7 +48,11 @@ extern OpFn dynarec_ops_pentium_0f[1024]; extern OpFn dynarec_ops_pentiummmx_0f[1024]; extern OpFn dynarec_ops_c6x86mx_0f[1024]; +#ifdef DEV_BRANCH +#ifdef USE_AMD_K extern OpFn dynarec_ops_k6_0f[1024]; +#endif +#endif #ifdef DEV_BRANCH #ifdef USE_I686 @@ -140,7 +144,11 @@ extern OpFn ops_pentiummmx_0f[1024]; extern OpFn ops_c6x86mx_0f[1024]; +#ifdef DEV_BRANCH +#ifdef USE_AMD_K extern OpFn ops_k6_0f[1024]; +#endif +#endif #ifdef DEV_BRANCH #ifdef USE_I686 diff --git a/src/game/gameport.c b/src/game/gameport.c index 1459b1910..c33f84cf8 100644 --- a/src/game/gameport.c +++ b/src/game/gameport.c @@ -54,7 +54,7 @@ char *joystick_get_name(int64_t joystick) { if (!joystick_list[joystick]) return NULL; - return joystick_list[joystick]->name; + return (char *) joystick_list[joystick]->name; } int64_t joystick_get_max_joysticks(int64_t joystick) @@ -79,17 +79,17 @@ int64_t joystick_get_pov_count(int64_t joystick) char *joystick_get_axis_name(int64_t joystick, int64_t id) { - return joystick_list[joystick]->axis_names[id]; + return (char *) joystick_list[joystick]->axis_names[id]; } char *joystick_get_button_name(int64_t joystick, int64_t id) { - return joystick_list[joystick]->button_names[id]; + return (char *) joystick_list[joystick]->button_names[id]; } char *joystick_get_pov_name(int64_t joystick, int64_t id) { - return joystick_list[joystick]->pov_names[id]; + return (char *) joystick_list[joystick]->pov_names[id]; } typedef struct gameport_axis_t diff --git a/src/game/gameport.h b/src/game/gameport.h index 7b8d90d61..81c95cc48 100644 --- a/src/game/gameport.h +++ b/src/game/gameport.h @@ -10,7 +10,7 @@ typedef struct { - char name[80]; + const char *name; void *(*init)(void); void (*close)(void *p); uint8_t (*read)(void *p); @@ -19,9 +19,9 @@ typedef struct void (*a0_over)(void *p); int axis_count, button_count, pov_count; int max_joysticks; - char axis_names[8][32]; - char button_names[32][32]; - char pov_names[4][32]; + const char *axis_names[8]; + const char *button_names[32]; + const char *pov_names[4]; } joystick_if_t; diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index fc6b373f3..399150411 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -11,7 +11,7 @@ * NOTES: OpenAT wip for 286-class machine with open BIOS. * PS2_M80-486 wip, pending receipt of TRM's for machine. * - * Version: @(#)machine_table.c 1.0.18 2018/02/09 + * Version: @(#)machine_table.c 1.0.19 2018/02/18 * * Authors: Sarah Walker, * Miran Grca, @@ -119,6 +119,7 @@ machine_t machines[] = { { "[Socket 4 LX] Intel Premiere/PCI", ROM_REVENGE, "revenge", {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 2, 128, 2, 127, machine_at_batman_init, NULL, nvr_at_close }, +#if defined(DEV_BRANCH) && defined(USE_AMD_K) { "[Socket 5 NX] Intel Premiere/PCI II", ROM_PLATO, "plato", {{ "Intel", cpus_PentiumS5}, {"IDT", cpus_WinChip}, {"AMD", cpus_K5}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 2, 128, 2, 127, machine_at_plato_init, NULL, nvr_at_close }, { "[Socket 5 FX] ASUS P/I-P54TP4XE", ROM_P54TP4XE, "p54tp4xe", {{ "Intel", cpus_PentiumS5}, {"IDT", cpus_WinChip}, {"AMD", cpus_K5}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_HDC, 8, 128, 8, 127, machine_at_p54tp4xe_init, NULL, nvr_at_close }, @@ -139,6 +140,28 @@ machine_t machines[] = { { "[Socket 7 VX] ASUS P/I-P55TVP4", ROM_P55TVP4, "p55tvp4", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"AMD", cpus_K56}, {"Cyrix", cpus_6x86},{"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_p55tvp4_init, NULL, nvr_at_close }, { "[Socket 7 VX] Award 430VX PCI", ROM_430VX, "430vx", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"AMD", cpus_K56}, {"Cyrix", cpus_6x86},{"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_i430vx_init, NULL, nvr_at_close }, { "[Socket 7 VX] Epox P55-VA", ROM_P55VA, "p55va", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"AMD", cpus_K56}, {"Cyrix", cpus_6x86},{"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_p55va_init, NULL, nvr_at_close }, +#else + { "[Socket 5 NX] Intel Premiere/PCI II", ROM_PLATO, "plato", {{ "Intel", cpus_PentiumS5}, {"IDT", cpus_WinChip}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 2, 128, 2, 127, machine_at_plato_init, NULL, nvr_at_close }, + + { "[Socket 5 FX] ASUS P/I-P54TP4XE", ROM_P54TP4XE, "p54tp4xe", {{ "Intel", cpus_PentiumS5}, {"IDT", cpus_WinChip}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_HDC, 8, 128, 8, 127, machine_at_p54tp4xe_init, NULL, nvr_at_close }, + { "[Socket 5 FX] Intel Advanced/EV", ROM_ENDEAVOR, "endeavor", {{ "Intel", cpus_PentiumS5}, {"IDT", cpus_WinChip}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_endeavor_init, at_endeavor_get_device, nvr_at_close }, + { "[Socket 5 FX] Intel Advanced/ZP", ROM_ZAPPA, "zappa", {{ "Intel", cpus_PentiumS5}, {"IDT", cpus_WinChip}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_zappa_init, NULL, nvr_at_close }, + { "[Socket 5 FX] PC Partner MB500N", ROM_MB500N, "mb500n", {{ "Intel", cpus_PentiumS5}, {"IDT", cpus_WinChip}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_HDC, 8, 128, 8, 127, machine_at_mb500n_init, NULL, nvr_at_close }, + { "[Socket 5 FX] President Award 430FX PCI",ROM_PRESIDENT, "president", {{ "Intel", cpus_PentiumS5}, {"IDT", cpus_WinChip}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_HDC, 8, 128, 8, 127, machine_at_president_init, NULL, nvr_at_close }, + + { "[Socket 7 FX] Intel Advanced/ATX", ROM_THOR, "thor", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"Cyrix", cpus_6x86}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_thor_init, NULL, nvr_at_close }, + { "[Socket 7 FX] MR Intel Advanced/ATX", ROM_MRTHOR, "mrthor", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"Cyrix", cpus_6x86}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_thor_init, NULL, nvr_at_close }, + + { "[Socket 7 HX] Acer M3a", ROM_ACERM3A, "acerm3a", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"Cyrix", cpus_6x86}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 192, 8, 127, machine_at_acerm3a_init, NULL, nvr_at_close }, + { "[Socket 7 HX] Acer V35n", ROM_ACERV35N, "acerv35n", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"Cyrix", cpus_6x86}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 192, 8, 127, machine_at_acerv35n_init, NULL, nvr_at_close }, + { "[Socket 7 HX] AOpen AP53", ROM_AP53, "ap53", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"Cyrix", cpus_6x86}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 512, 8, 127, machine_at_ap53_init, NULL, nvr_at_close }, + { "[Socket 7 HX] ASUS P/I-P55T2P4", ROM_P55T2P4, "p55t2p4", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"Cyrix", cpus_6x86}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 512, 8, 127, machine_at_p55t2p4_init, NULL, nvr_at_close }, + { "[Socket 7 HX] SuperMicro Super P55T2S", ROM_P55T2S, "p55t2s", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"Cyrix", cpus_6x86}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 768, 8, 127, machine_at_p55t2s_init, NULL, nvr_at_close }, + + { "[Socket 7 VX] ASUS P/I-P55TVP4", ROM_P55TVP4, "p55tvp4", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"Cyrix", cpus_6x86}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_p55tvp4_init, NULL, nvr_at_close }, + { "[Socket 7 VX] Award 430VX PCI", ROM_430VX, "430vx", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"Cyrix", cpus_6x86}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_i430vx_init, NULL, nvr_at_close }, + { "[Socket 7 VX] Epox P55-VA", ROM_P55VA, "p55va", {{"Intel", cpus_Pentium}, {"IDT", cpus_WinChip}, {"Cyrix", cpus_6x86}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_p55va_init, NULL, nvr_at_close }, +#endif #if defined(DEV_BRANCH) && defined(USE_I686) { "[Socket 8 FX] Tyan Titan-Pro AT", ROM_440FX, "440fx", {{"Intel", cpus_PentiumPro}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 1024, 8, 127, machine_at_i440fx_init, NULL, nvr_at_close }, diff --git a/src/video/vid_ati28800.c b/src/video/vid_ati28800.c index 2097576dd..2b771a42f 100644 --- a/src/video/vid_ati28800.c +++ b/src/video/vid_ati28800.c @@ -8,7 +8,7 @@ * * ATI 28800 emulation (VGA Charger) * - * Version: @(#)vid_ati28800.c 1.0.6 2018/02/12 + * Version: @(#)vid_ati28800.c 1.0.7 2018/02/18 * * Authors: Sarah Walker, * Miran Grca, @@ -39,8 +39,10 @@ #define BIOS_VGAXL_EVEN_PATH L"roms/video/ati28800/xleven.bin" #define BIOS_VGAXL_ODD_PATH L"roms/video/ati28800/xlodd.bin" +#if defined(DEV_BRANCH) && defined(USE_XL24) #define BIOS_XL24_EVEN_PATH L"roms/video/ati28800/112-14318-102.bin" #define BIOS_XL24_ODD_PATH L"roms/video/ati28800/112-14319-102.bin" +#endif #define BIOS_ROM_PATH L"roms/video/ati28800/bios.bin" @@ -202,6 +204,7 @@ memory <<= 10; 0, MEM_MAPPING_EXTERNAL); break; +#if defined(DEV_BRANCH) && defined(USE_XL24) case GFX_VGAWONDERXL24: rom_init_interleaved(&ati->bios_rom, BIOS_XL24_EVEN_PATH, @@ -209,6 +212,7 @@ memory <<= 10; 0xc0000, 0x10000, 0xffff, 0, MEM_MAPPING_EXTERNAL); break; +#endif default: rom_init(&ati->bios_rom, @@ -253,11 +257,13 @@ compaq_ati28800_available(void) } +#if defined(DEV_BRANCH) && defined(USE_XL24) static int ati28800_wonderxl24_available(void) { return((rom_present(BIOS_XL24_EVEN_PATH) && rom_present(BIOS_XL24_ODD_PATH))); } +#endif static void @@ -317,6 +323,7 @@ static device_config_t ati28800_config[] = } }; +#if defined(DEV_BRANCH) && defined(USE_XL24) static device_config_t ati28800_wonderxl_config[] = { { @@ -340,6 +347,7 @@ static device_config_t ati28800_wonderxl_config[] = "", "", -1 } }; +#endif device_t ati28800_device = { @@ -367,6 +375,7 @@ device_t compaq_ati28800_device = ati28800_config }; +#if defined(DEV_BRANCH) && defined(USE_XL24) device_t ati28800_wonderxl24_device = { "ATI-28800 (VGA Wonder XL24)", @@ -379,3 +388,4 @@ device_t ati28800_wonderxl24_device = ati28800_add_status_info, ati28800_wonderxl_config }; +#endif diff --git a/src/video/vid_ati28800.h b/src/video/vid_ati28800.h index 6bd7c39d6..b30631eaa 100644 --- a/src/video/vid_ati28800.h +++ b/src/video/vid_ati28800.h @@ -3,4 +3,6 @@ */ extern device_t ati28800_device; extern device_t compaq_ati28800_device; +#if defined(DEV_BRANCH) && defined(USE_XL24) extern device_t ati28800_wonderxl24_device; +#endif diff --git a/src/video/vid_table.c b/src/video/vid_table.c index 52142c387..fc6f01692 100644 --- a/src/video/vid_table.c +++ b/src/video/vid_table.c @@ -8,7 +8,7 @@ * * Define all known video cards. * - * Version: @(#)vid_table.c 1.0.19 2018/02/18 + * Version: @(#)vid_table.c 1.0.20 2018/02/18 * * Authors: Miran Grca, * Fred N. van Kempen, @@ -86,7 +86,9 @@ video_cards[] = { { "[ISA] ATI VGA Charger (ATI-28800-5)", "ati28800", &ati28800_device, GFX_VGACHARGER, {VIDEO_ISA, 3, 3, 6, 5, 5, 10}}, { "[ISA] ATI VGA Edge-16 (ATI-18800-5)", "ati18800", &ati18800_device, GFX_VGAEDGE16, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}}, { "[ISA] ATI VGA Wonder (ATI-18800)", "ati18800w", &ati18800_wonder_device, GFX_VGAWONDER, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}}, +#if defined(DEV_BRANCH) && defined(USE_XL24) { "[ISA] ATI VGA Wonder XL24 (ATI-28800-6)", "ati28800w", &ati28800_wonderxl24_device, GFX_VGAWONDERXL24, {VIDEO_ISA, 3, 3, 6, 5, 5, 10}}, +#endif { "[ISA] CGA", "cga", &cga_device, GFX_CGA, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}}, { "[ISA] Chips & Technologies SuperEGA", "superega", &sega_device, GFX_SUPER_EGA, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}}, { "[ISA] Compaq ATI VGA Wonder XL (ATI-28800-5)","compaq_ati28800", &compaq_ati28800_device, GFX_VGAWONDERXL, {VIDEO_ISA, 3, 3, 6, 5, 5, 10}}, diff --git a/src/video/video.h b/src/video/video.h index 537090976..d7e8d6c8a 100644 --- a/src/video/video.h +++ b/src/video/video.h @@ -8,7 +8,7 @@ * * Definitions for the video controller module. * - * Version: @(#)video.h 1.0.17 2018/02/18 + * Version: @(#)video.h 1.0.18 2018/02/18 * * Authors: Sarah Walker, * Miran Grca, @@ -63,7 +63,9 @@ enum { GFX_VGACHARGER, /* ATI VGA Charger (28800-5) */ GFX_VGAWONDER, /* Compaq ATI VGA Wonder (18800) */ GFX_VGAWONDERXL, /* Compaq ATI VGA Wonder XL (28800-5) */ +#if defined(DEV_BRANCH) && defined(USE_XL24) GFX_VGAWONDERXL24, /* Compaq ATI VGA Wonder XL24 (28800-6) */ +#endif GFX_MACH64GX_ISA, /* ATI Graphics Pro Turbo (Mach64) ISA */ GFX_MACH64GX_VLB, /* ATI Graphics Pro Turbo (Mach64) VLB */ GFX_MACH64GX_PCI, /* ATI Graphics Pro Turbo (Mach64) PCI */ diff --git a/src/win/Makefile.mingw b/src/win/Makefile.mingw index 17c66994d..25d011f39 100644 --- a/src/win/Makefile.mingw +++ b/src/win/Makefile.mingw @@ -8,7 +8,7 @@ # # Makefile for Win32 (MinGW32) environment. # -# Version: @(#)Makefile.mingw 1.0.102 2018/02/18 +# Version: @(#)Makefile.mingw 1.0.103 2018/02/18 # # Authors: Miran Grca, # Fred N. van Kempen, @@ -58,6 +58,9 @@ endif ifndef DEV_BRANCH DEV_BRANCH := n endif +ifndef AMD_K +AMD_K := n +endif ifndef CRASHDUMP CRASHDUMP := n endif @@ -91,6 +94,9 @@ endif ifndef STEALTH32 STEALTH32 := n endif +ifndef XL24 +XL24 := n +endif ifndef DYNAREC DYNAREC := y endif @@ -108,6 +114,7 @@ endif ifeq ($(DEV_BUILD), y) DEBUG := y DEV_BRANCH := y +AMD_K := y CRASHDUMP := y GREENB := y I686 := y @@ -117,6 +124,7 @@ PAS16 := y PORTABLE3 := y STEALTH32 := y VNC := y +XL24 := y endif # WxWidgets basic info. Extract using the config program. @@ -301,6 +309,10 @@ ifeq ($(DEV_BRANCH), y) OPTS += -DDEV_BRANCH DEVBROBJ := +ifeq ($(AMD_K), y) +OPTS += -DUSE_AMD_K +endif + ifeq ($(CRASHDUMPOBJ), y) OPTS += -DUSE_CRASHDUMP DEVBROBJ += win_crashdump.o @@ -340,6 +352,10 @@ OPTS += -DUSE_STEALTH32 DEVBROBJ += vid_icd2061.o endif +ifeq ($(XL24), y) +OPTS += -DUSE_XL24 +endif + endif @@ -370,8 +386,7 @@ MAINOBJ := pc.o config.o random.o timer.o io.o dma.o nmi.o pic.o \ INTELOBJ := intel.o \ intel_flash.o \ - intel_sio.o \ - intel_piix.o intel_piix4.o + intel_sio.o intel_piix.o CPUOBJ := cpu.o cpu_table.o \ 808x.o 386.o 386_dynarec.o \