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 \