This commit is contained in:
Wengier
2021-11-19 22:53:01 -05:00
parent 508c04170e
commit 88ac295380
4 changed files with 37 additions and 15 deletions

View File

@@ -1,19 +1,18 @@
0.83.20
- Add MSR register 0x0000001B to Pentium II
emulation. DOSBox-X does not emulate a local
APIC but Windows Millenium Edition assumes that
MSR is present and reads/writes it on startup
if DOSBox-X reports itself as a Pentium II.
(joncampbell123)
emulation. DOSBox-X does not emulate a local APIC
but Windows ME assumes that MSR is present and
reads/writes it on startup if DOSBox-X reports
itself as a Pentium II. (joncampbell123)
- While CPU "debug spew" is silenced by default,
remove silencing for RDMSR/WRMSR and
SYSENTER/SYSEXIT debug messages (joncampbell123).
- Added Pentium II SYSENTER/SYSEXIT instructions
to normal core and debugger disassembler. The
instructions are stubs at this time to be added
later. (joncampbell123).
- Added Pentium II cputype, to begin development
of such emulation. (joncampbell123)
later. (joncampbell123)
- Added support for Pentium II cputype, to begin
development of such emulation. (joncampbell123)
- Added support for DCGA and Toshiba J-3100 emulation
modes. The J-3100 emulation can be enabled with the
options "dosv=jp" & "j3100=true" in [dosv] section.
@@ -23,7 +22,7 @@
e.g. "IMGSWAP D" to swap C: drive to the next swap
position, and "IMGSWAP A 3" to swap A: drive to
the 3nd swap position. (Wengier)
- The CAPMOUSE command without a paramter now shows
- The CAPMOUSE command without a parameter now shows
whether the mouse is captured/released. (Wengier)
- The command "config -set" is now case-insensitive
for property names. Also, if an option cannot be

View File

@@ -219,7 +219,7 @@ some things the design as implemented now cannot accommodate.
for hardware made before that point.
Contributers are free to focus on emulating hardware within the
timeframe between 1980 and 2000/2001 of their choice.
time frame between 1980 and 2000/2001 of their choice.
* Windows guest emulation, Windows XP or later.
@@ -227,7 +227,7 @@ some things the design as implemented now cannot accommodate.
focus primarily on Windows 1.0 through Windows ME (Millenium Edition),
and then on Windows NT through Windows 2000. Windows XP and later
versions are not a priority and will not be considered at this time.
These Windows versions are not based on DOS.
These versions of Windows are not based on DOS.
If you need to run Windows XP and later, please consider using
QEMU, Bochs, VirtualBox, or VMware.

View File

@@ -395,7 +395,7 @@ end;
procedure CurStepChanged(CurrentStep: TSetupStep);
var
i, j, k, adv, res: Integer;
tsection, vsection, dosvcn, dosvtw, dosvset, found1, found2, found3, found4: Boolean;
tsection, vsection, addcp, dosvcn, dosvtw, dosvset, found1, found2, found3, found4: Boolean;
refname, section, line, linetmp, lineold, linenew, SetupType: String;
FileLines, FileLinesold, FileLinesnew, FileLinesave: TStringList;
begin
@@ -663,6 +663,7 @@ begin
dosvcn := False;
dosvtw := False;
dosvset := False;
addcp := True;
if not FileExists(ExpandConstant('{app}\SarasaGothicFixed.ttf')) then
dosvset:= True;
for j := 0 to FileLinesold.Count - 1 do
@@ -695,9 +696,13 @@ begin
if ((CompareText(Trim(linetmp), 'cn') = 0) or (CompareText(Trim(linetmp), 'chs') = 0)) and (MsgBox(msg, mbConfirmation, MB_YESNO) = IDYES) then
begin
dosvcn := True;
addcp := False;
end
else if ((CompareText(Trim(linetmp), 'tw') = 0) or (CompareText(Trim(linetmp), 'cht') = 0)) and (MsgBox(msg, mbConfirmation, MB_YESNO) = IDYES) then
begin
dosvtw := True;
addcp := False;
end;
if (tsection and vsection) then
break;
end
@@ -733,10 +738,12 @@ begin
linetmp := Copy(FileLinesold[k], 1, Pos('=', FileLinesold[k]) - 1);
if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvcn then
begin
addcp := True;
FileLinesold[k] := linetmp + '= 86,936';
end
else if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvtw then
begin
addcp := True;
FileLinesold[k] := linetmp + '= 886,950';
end;
FileLinesave.add(FileLinesold[k]);
@@ -764,15 +771,17 @@ begin
end
else if (CompareText(section, '4dos') = 0) or (CompareText(section, 'config') = 0) or (CompareText(section, 'autoexec') = 0) then
begin
if (FileLines.Count=0) then
linetmp := Copy(FileLinesnew[i], 1, Pos('=', FileLinesnew[i]) - 1);
if (FileLines.Count=0) or (not addcp and (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0)) then
begin
linetmp := Copy(FileLinesnew[i], 1, Pos('=', FileLinesnew[i]) - 1);
if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvcn then
begin
addcp := True;
FileLinesnew[i] := linetmp + '= 86,936';
end
else if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvtw then
begin
addcp := True;
FileLinesnew[i] := linetmp + '= 886,950';
end;
FileLinesave.add(FileLinesnew[i]);
@@ -839,6 +848,16 @@ begin
FileLinesave.add(linetmp + '= ttf');
continue;
end;
if (CompareText(section, 'dosbox') = 0) and (CompareText(Trim(linetmp), 'language') = 0) and (SetupType <> 'compact') and dosvcn then
begin
FileLinesave.add(linetmp + '= zh_CN');
continue;
end;
if (CompareText(section, 'dosbox') = 0) and (CompareText(Trim(linetmp), 'language') = 0) and (SetupType <> 'compact') and dosvtw then
begin
FileLinesave.add(linetmp + '= zh_TW');
continue;
end;
if (CompareText(section, 'dosv') = 0) and (CompareText(Trim(linetmp), 'dosv') = 0) and ((CompareText(Trim(Copy(lineold, Pos('=', lineold) + 1, Length(lineold))), 'cn') = 0) and dosvcn) or ((CompareText(Trim(Copy(lineold, Pos('=', lineold) + 1, Length(lineold))), 'tw') = 0) and dosvtw) then
begin
FileLinesave.add(linetmp + '= off');
@@ -857,6 +876,10 @@ begin
linenew := linetmp + '= ttf';
if (CompareText(Trim(linetmp), 'dosv') = 0) and (dosvcn or dosvtw) then
linenew := linetmp + '= off';
if (CompareText(Trim(linetmp), 'language') = 0) and (SetupType <> 'compact') and dosvcn then
linenew := linetmp + '= zh_CN';
if (CompareText(Trim(linetmp), 'language') = 0) and (SetupType <> 'compact') and dosvtw then
linenew := linetmp + '= zh_TW';
if (CompareText(Trim(linetmp), 'country') = 0) and dosvcn then
linenew := linetmp + '= 86,936';
if (CompareText(Trim(linetmp), 'country') = 0) and dosvtw then

View File

@@ -1942,7 +1942,7 @@ static void INT10_TeletypeOutputAttr(uint8_t chr,uint8_t attr,bool useattr,uint8
cur_row++;
}
// Do we need to scroll ?
if(cur_row>=nrows) {
if(cur_row==nrows) {
//Fill with black on non-text modes
uint8_t fill = 0;
if (IS_PC98_ARCH && CurMode->type == M_TEXT) {