mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-10-15 20:46:55 +08:00
add stub constants and code for eventual support of 80186 level CPU
emulation.
This commit is contained in:
@@ -42,6 +42,7 @@
|
||||
|
||||
#define CPU_ARCHTYPE_MIXED 0xff
|
||||
#define CPU_ARCHTYPE_8086 0x05
|
||||
#define CPU_ARCHTYPE_80186 0x15
|
||||
#define CPU_ARCHTYPE_286 0x25
|
||||
#define CPU_ARCHTYPE_386 0x35
|
||||
#define CPU_ARCHTYPE_486OLD 0x40
|
||||
|
@@ -2811,6 +2811,21 @@ public:
|
||||
} else {
|
||||
E_Exit("prefetch queue emulation requires the normal core setting.");
|
||||
}
|
||||
} else if (cputype == "80186") {
|
||||
CPU_ArchitectureType = CPU_ARCHTYPE_80186;
|
||||
cpudecoder=&CPU_Core286_Normal_Run;
|
||||
} else if (cputype == "80186_prefetch") { /* 6-byte prefetch queue ref [http://www.phatcode.net/res/224/files/html/ch11/11-02.html] */
|
||||
CPU_ArchitectureType = CPU_ARCHTYPE_80186;
|
||||
if (core == "normal") {
|
||||
cpudecoder=&CPU_Core_Prefetch_Run; /* TODO: Alternate 16-bit only decoder for 286 that does NOT include 386+ instructions */
|
||||
CPU_PrefetchQueueSize = 6;
|
||||
} else if (core == "auto") {
|
||||
cpudecoder=&CPU_Core_Prefetch_Run; /* TODO: Alternate 16-bit only decoder for 286 that does NOT include 386+ instructions */
|
||||
CPU_PrefetchQueueSize = 6;
|
||||
CPU_AutoDetermineMode&=(~CPU_AUTODETERMINE_CORE);
|
||||
} else {
|
||||
E_Exit("prefetch queue emulation requires the normal core setting.");
|
||||
}
|
||||
} else if (cputype == "286") {
|
||||
CPU_ArchitectureType = CPU_ARCHTYPE_286;
|
||||
cpudecoder=&CPU_Core286_Normal_Run;
|
||||
@@ -2861,12 +2876,12 @@ public:
|
||||
}
|
||||
|
||||
/* WARNING */
|
||||
if (CPU_ArchitectureType == CPU_ARCHTYPE_286) {
|
||||
LOG_MSG("CPU warning: 286 cpu type is experimental at this time");
|
||||
}
|
||||
else if (CPU_ArchitectureType == CPU_ARCHTYPE_8086) {
|
||||
if (CPU_ArchitectureType == CPU_ARCHTYPE_8086) {
|
||||
LOG_MSG("CPU warning: 8086 cpu type is experimental at this time");
|
||||
}
|
||||
else if (CPU_ArchitectureType == CPU_ARCHTYPE_80186) {
|
||||
LOG_MSG("CPU warning: 80186 cpu type is experimental at this time");
|
||||
}
|
||||
|
||||
if (CPU_ArchitectureType>=CPU_ARCHTYPE_486NEW) CPU_extflags_toggle=(FLAG_ID|FLAG_AC);
|
||||
else if (CPU_ArchitectureType>=CPU_ARCHTYPE_486OLD) CPU_extflags_toggle=(FLAG_AC);
|
||||
|
@@ -730,7 +730,7 @@ void DOSBOX_Init(void) {
|
||||
const char* vsyncmode[] = { "off", "on" ,"force", "host", 0 };
|
||||
const char* blocksizes[] = {"1024", "2048", "4096", "8192", "512", "256", 0};
|
||||
const char* auxdevices[] = {"none","2button","3button","intellimouse","intellimouse45",0};
|
||||
const char* cputype_values[] = {"auto", "8086", "8086_prefetch", "286", "286_prefetch", "386", "386_prefetch", "486", "pentium", "pentium_mmx", 0};
|
||||
const char* cputype_values[] = {"auto", "8086", "8086_prefetch", "80186", "80186_prefetch", "286", "286_prefetch", "386", "386_prefetch", "486", "pentium", "pentium_mmx", 0};
|
||||
const char* rates[] = { "44100", "48000", "32000","22050", "16000", "11025", "8000", "49716", 0 };
|
||||
const char* oplrates[] = { "44100", "49716", "48000", "32000","22050", "16000", "11025", "8000", 0 };
|
||||
const char* devices[] = { "default", "win32", "alsa", "oss", "coreaudio", "coremidi", "mt32", "synth", "timidity", "none", 0}; // FIXME: add some way to offer the actually available choices.
|
||||
|
Reference in New Issue
Block a user