mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-10-13 17:48:10 +08:00
update
This commit is contained in:
17
CHANGELOG
17
CHANGELOG
@@ -1,19 +1,18 @@
|
|||||||
0.83.20
|
0.83.20
|
||||||
- Add MSR register 0x0000001B to Pentium II
|
- Add MSR register 0x0000001B to Pentium II
|
||||||
emulation. DOSBox-X does not emulate a local
|
emulation. DOSBox-X does not emulate a local APIC
|
||||||
APIC but Windows Millenium Edition assumes that
|
but Windows ME assumes that MSR is present and
|
||||||
MSR is present and reads/writes it on startup
|
reads/writes it on startup if DOSBox-X reports
|
||||||
if DOSBox-X reports itself as a Pentium II.
|
itself as a Pentium II. (joncampbell123)
|
||||||
(joncampbell123)
|
|
||||||
- While CPU "debug spew" is silenced by default,
|
- While CPU "debug spew" is silenced by default,
|
||||||
remove silencing for RDMSR/WRMSR and
|
remove silencing for RDMSR/WRMSR and
|
||||||
SYSENTER/SYSEXIT debug messages (joncampbell123).
|
SYSENTER/SYSEXIT debug messages (joncampbell123).
|
||||||
- Added Pentium II SYSENTER/SYSEXIT instructions
|
- Added Pentium II SYSENTER/SYSEXIT instructions
|
||||||
to normal core and debugger disassembler. The
|
to normal core and debugger disassembler. The
|
||||||
instructions are stubs at this time to be added
|
instructions are stubs at this time to be added
|
||||||
later. (joncampbell123).
|
later. (joncampbell123)
|
||||||
- Added Pentium II cputype, to begin development
|
- Added support for Pentium II cputype, to begin
|
||||||
of such emulation. (joncampbell123)
|
development of such emulation. (joncampbell123)
|
||||||
- Added support for DCGA and Toshiba J-3100 emulation
|
- Added support for DCGA and Toshiba J-3100 emulation
|
||||||
modes. The J-3100 emulation can be enabled with the
|
modes. The J-3100 emulation can be enabled with the
|
||||||
options "dosv=jp" & "j3100=true" in [dosv] section.
|
options "dosv=jp" & "j3100=true" in [dosv] section.
|
||||||
@@ -23,7 +22,7 @@
|
|||||||
e.g. "IMGSWAP D" to swap C: drive to the next swap
|
e.g. "IMGSWAP D" to swap C: drive to the next swap
|
||||||
position, and "IMGSWAP A 3" to swap A: drive to
|
position, and "IMGSWAP A 3" to swap A: drive to
|
||||||
the 3nd swap position. (Wengier)
|
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)
|
whether the mouse is captured/released. (Wengier)
|
||||||
- The command "config -set" is now case-insensitive
|
- The command "config -set" is now case-insensitive
|
||||||
for property names. Also, if an option cannot be
|
for property names. Also, if an option cannot be
|
||||||
|
@@ -219,7 +219,7 @@ some things the design as implemented now cannot accommodate.
|
|||||||
for hardware made before that point.
|
for hardware made before that point.
|
||||||
|
|
||||||
Contributers are free to focus on emulating hardware within the
|
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.
|
* 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),
|
focus primarily on Windows 1.0 through Windows ME (Millenium Edition),
|
||||||
and then on Windows NT through Windows 2000. Windows XP and later
|
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.
|
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
|
If you need to run Windows XP and later, please consider using
|
||||||
QEMU, Bochs, VirtualBox, or VMware.
|
QEMU, Bochs, VirtualBox, or VMware.
|
||||||
|
@@ -395,7 +395,7 @@ end;
|
|||||||
procedure CurStepChanged(CurrentStep: TSetupStep);
|
procedure CurStepChanged(CurrentStep: TSetupStep);
|
||||||
var
|
var
|
||||||
i, j, k, adv, res: Integer;
|
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;
|
refname, section, line, linetmp, lineold, linenew, SetupType: String;
|
||||||
FileLines, FileLinesold, FileLinesnew, FileLinesave: TStringList;
|
FileLines, FileLinesold, FileLinesnew, FileLinesave: TStringList;
|
||||||
begin
|
begin
|
||||||
@@ -663,6 +663,7 @@ begin
|
|||||||
dosvcn := False;
|
dosvcn := False;
|
||||||
dosvtw := False;
|
dosvtw := False;
|
||||||
dosvset := False;
|
dosvset := False;
|
||||||
|
addcp := True;
|
||||||
if not FileExists(ExpandConstant('{app}\SarasaGothicFixed.ttf')) then
|
if not FileExists(ExpandConstant('{app}\SarasaGothicFixed.ttf')) then
|
||||||
dosvset:= True;
|
dosvset:= True;
|
||||||
for j := 0 to FileLinesold.Count - 1 do
|
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
|
if ((CompareText(Trim(linetmp), 'cn') = 0) or (CompareText(Trim(linetmp), 'chs') = 0)) and (MsgBox(msg, mbConfirmation, MB_YESNO) = IDYES) then
|
||||||
begin
|
begin
|
||||||
dosvcn := True;
|
dosvcn := True;
|
||||||
|
addcp := False;
|
||||||
end
|
end
|
||||||
else if ((CompareText(Trim(linetmp), 'tw') = 0) or (CompareText(Trim(linetmp), 'cht') = 0)) and (MsgBox(msg, mbConfirmation, MB_YESNO) = IDYES) then
|
else if ((CompareText(Trim(linetmp), 'tw') = 0) or (CompareText(Trim(linetmp), 'cht') = 0)) and (MsgBox(msg, mbConfirmation, MB_YESNO) = IDYES) then
|
||||||
|
begin
|
||||||
dosvtw := True;
|
dosvtw := True;
|
||||||
|
addcp := False;
|
||||||
|
end;
|
||||||
if (tsection and vsection) then
|
if (tsection and vsection) then
|
||||||
break;
|
break;
|
||||||
end
|
end
|
||||||
@@ -733,10 +738,12 @@ begin
|
|||||||
linetmp := Copy(FileLinesold[k], 1, Pos('=', FileLinesold[k]) - 1);
|
linetmp := Copy(FileLinesold[k], 1, Pos('=', FileLinesold[k]) - 1);
|
||||||
if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvcn then
|
if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvcn then
|
||||||
begin
|
begin
|
||||||
|
addcp := True;
|
||||||
FileLinesold[k] := linetmp + '= 86,936';
|
FileLinesold[k] := linetmp + '= 86,936';
|
||||||
end
|
end
|
||||||
else if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvtw then
|
else if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvtw then
|
||||||
begin
|
begin
|
||||||
|
addcp := True;
|
||||||
FileLinesold[k] := linetmp + '= 886,950';
|
FileLinesold[k] := linetmp + '= 886,950';
|
||||||
end;
|
end;
|
||||||
FileLinesave.add(FileLinesold[k]);
|
FileLinesave.add(FileLinesold[k]);
|
||||||
@@ -764,15 +771,17 @@ begin
|
|||||||
end
|
end
|
||||||
else if (CompareText(section, '4dos') = 0) or (CompareText(section, 'config') = 0) or (CompareText(section, 'autoexec') = 0) then
|
else if (CompareText(section, '4dos') = 0) or (CompareText(section, 'config') = 0) or (CompareText(section, 'autoexec') = 0) then
|
||||||
begin
|
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
|
begin
|
||||||
linetmp := Copy(FileLinesnew[i], 1, Pos('=', FileLinesnew[i]) - 1);
|
|
||||||
if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvcn then
|
if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvcn then
|
||||||
begin
|
begin
|
||||||
|
addcp := True;
|
||||||
FileLinesnew[i] := linetmp + '= 86,936';
|
FileLinesnew[i] := linetmp + '= 86,936';
|
||||||
end
|
end
|
||||||
else if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvtw then
|
else if (CompareText(section, 'config') = 0) and (CompareText(Trim(linetmp), 'country') = 0) and dosvtw then
|
||||||
begin
|
begin
|
||||||
|
addcp := True;
|
||||||
FileLinesnew[i] := linetmp + '= 886,950';
|
FileLinesnew[i] := linetmp + '= 886,950';
|
||||||
end;
|
end;
|
||||||
FileLinesave.add(FileLinesnew[i]);
|
FileLinesave.add(FileLinesnew[i]);
|
||||||
@@ -839,6 +848,16 @@ begin
|
|||||||
FileLinesave.add(linetmp + '= ttf');
|
FileLinesave.add(linetmp + '= ttf');
|
||||||
continue;
|
continue;
|
||||||
end;
|
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
|
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
|
begin
|
||||||
FileLinesave.add(linetmp + '= off');
|
FileLinesave.add(linetmp + '= off');
|
||||||
@@ -857,6 +876,10 @@ begin
|
|||||||
linenew := linetmp + '= ttf';
|
linenew := linetmp + '= ttf';
|
||||||
if (CompareText(Trim(linetmp), 'dosv') = 0) and (dosvcn or dosvtw) then
|
if (CompareText(Trim(linetmp), 'dosv') = 0) and (dosvcn or dosvtw) then
|
||||||
linenew := linetmp + '= off';
|
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
|
if (CompareText(Trim(linetmp), 'country') = 0) and dosvcn then
|
||||||
linenew := linetmp + '= 86,936';
|
linenew := linetmp + '= 86,936';
|
||||||
if (CompareText(Trim(linetmp), 'country') = 0) and dosvtw then
|
if (CompareText(Trim(linetmp), 'country') = 0) and dosvtw then
|
||||||
|
@@ -1942,7 +1942,7 @@ static void INT10_TeletypeOutputAttr(uint8_t chr,uint8_t attr,bool useattr,uint8
|
|||||||
cur_row++;
|
cur_row++;
|
||||||
}
|
}
|
||||||
// Do we need to scroll ?
|
// Do we need to scroll ?
|
||||||
if(cur_row>=nrows) {
|
if(cur_row==nrows) {
|
||||||
//Fill with black on non-text modes
|
//Fill with black on non-text modes
|
||||||
uint8_t fill = 0;
|
uint8_t fill = 0;
|
||||||
if (IS_PC98_ARCH && CurMode->type == M_TEXT) {
|
if (IS_PC98_ARCH && CurMode->type == M_TEXT) {
|
||||||
|
Reference in New Issue
Block a user