Rewritten 808x CPU emulation core based on reenigne's XTCE, VisiOn, SnatchIt, and 8088 MPH now work correctly;
Fixed PC speaker sound volume in PIT mode 0; A few CPU emulation clean-ups; Hard disk controller changing redone in a less messy way; Re-added the long-missing key send delay handling to the XT keyboard handler; Fixed a bug that was causing SLiRP not to work when compiled with MingW/GCC 7.3.0-2 or newer; Some serial mouse and port fixes; A lot of changes to printer emulation, mostly based on DOSBox-X; Printer PNG writer now uses statically linked libpng; Added support for the HxC MFM floppy image format and upped 86F format version to 2.12; Ported various things from PCem and some from VARCem; Added the S3 86c801/805 emulation (patch from TheCollector1995); Fixed and renamed the EGA monitor options; Better synchronized the 808x to the PIT and the CGA; Fixed the CGA wait state calculation; Cleaned up some things in mem.c; Fixed some things in the floppy emulation to make VisiOn get the correct errors from the copy protection disk; Fixed several renderer-related bugs, including the SDL2 renderer's failure to take screenshots; The Jenkins builds are now compiled with MingW/GCC 7.4.0-1 and include all the required DLL's.
This commit is contained in:
@@ -572,18 +572,22 @@ static const struct {
|
||||
|
||||
|
||||
/* Select a ASCII->Unicode mapping by CP number */
|
||||
const uint16_t *
|
||||
select_codepage(uint16_t code)
|
||||
const void
|
||||
select_codepage(uint16_t code, uint16_t *curmap)
|
||||
{
|
||||
int i;
|
||||
int i = 0;
|
||||
const uint16_t *map_to_use;
|
||||
|
||||
for (i = 0; maps[i].code != -1; i++)
|
||||
if (maps[i].code == code) return(maps[i].map);
|
||||
map_to_use = maps[0].map;
|
||||
|
||||
if (code == 0)
|
||||
return(maps[0].map);
|
||||
|
||||
//ERRLOG("CPMAP: unsupported code page %i, using CP437...\n", code);
|
||||
|
||||
return(maps[0].map);
|
||||
while (maps[i].code != 0) {
|
||||
if (maps[i].code == code) {
|
||||
map_to_use = maps[i].map;
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
curmap[i] = map_to_use[i];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user