Skip to content

Commit 96ae929

Browse files
v2.23
1 parent b0951a0 commit 96ae929

File tree

7 files changed

+12
-9
lines changed

7 files changed

+12
-9
lines changed

HXsrc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595

9696
4. History
9797

98+
13.10.2025, V2.23: -
9899
23.03.2025, V2.22: -
99100
08.02.2024, V2.21: -
100101
28.01.2023, V2.20: -

Src/HDPMI/HDPMI.TXT

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//////////////////////////////////////////////////////////////////////////////
22
/ /
3-
/ HDPMI - DPMI Server (Version 3.22) /
3+
/ HDPMI - DPMI Server (Version 3.23) /
44
/ /
55
//////////////////////////////////////////////////////////////////////////////
66

Src/HDPMI/HDPMIHIS.TXT

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
History HDPMI
33

4-
__.__.2025, version 3.23
4+
13.10.2025, version 3.23
55

66
� fixed int 25h/26h, cx != -1: don't copy (non-existing) diskio struct to
77
TLB!
@@ -16,9 +16,9 @@
1616
� setting HDPMI=8192 now runs an INT3 instead of setting the trace flag.
1717
� fixed regression in v3.22: interrupts are no longer masked during exc
1818
display, since this may have caused the system to freeze.
19-
� fixed: clear IF in current flags for int 31h, ax=302h, alike ax=300h.
20-
� fixed: ensure that the real-mode part of int 31h, ax=301h is fully
21-
reentrant.
19+
� fixed int 31h, ax=302h: clear IF in current flags, similar to ax=300h.
20+
� fixed int 31h, ax=301h: real-mode CS:IP was stored in a global variable
21+
and may have been overwritten if IF=1.
2222

2323
24.03.2025, version 3.22
2424

Src/HDPMI/I31SWT.ASM

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
?CLEARDIR = 0 ;std=0, 1=clear direction flag on RMCBs
2222
?NOREENTRY = 1 ;std=1, 1=dont enter pm if exception handler runs
2323

24-
?SAFERMCALL equ 1 ;v3.23: protect rm call address for function 301h
24+
?SAFE301 equ 1 ;v3.23: protect rm call address for function 301h
2525

2626
?RMCBMAX equ 10h ;std=10h, max number of real mode callbacks
2727

@@ -524,7 +524,7 @@ endif
524524
movzx ebx, bl
525525
mov esi, es:[ebx*4]
526526
havecsip:
527-
if ?SAFERMCALL
527+
if ?SAFE301
528528
sub eax,5*2
529529
mov es:[edx+eax],esi
530530
mov es:[edx+eax+4],cx ;flags (will be popped by an IRET)
@@ -580,7 +580,7 @@ error1x:
580580

581581
_TEXT16 segment
582582
callrmproc_rm:
583-
if ?SAFERMCALL
583+
if ?SAFE301
584584
iret
585585
callrmproc_rm2:
586586
else

Src/HDPMI/Regression/Readme.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ I3102103: causes page fault in host, and tries to handle it in exc handler
3838
I3103001: test int 31h, ax=0300h, simple
3939
I3103002: test int 31h, ax=0300h, more complex
4040
I3103011: test int 31h, ax=0301h (call real-mode far proc), 2 words on stack
41+
I3103016: test int 31h, ax=0301h reentrancy (fixed in v3.23)
42+
I3103022: test int 31h, ax=0302h IF on real-mode entry (fixed in v3.23)
4143
I3105032: test int 31h, ax=0503h (resize mem block)
4244
I310508 : test int 31h, ax=0508h (map phys. device/memory)
4345
I310508a: test int 31h, ax=0508h (change from mapped to committed)
3.57 KB
Binary file not shown.

SrcEmu/DKRNL32/DKRNLHIS.TXT

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
__.__.____: version 3.11
2+
13.10.2025: version 3.11
33

44
� fixed: unaligned access in exception handler caused a stack error if
55
alignment exception (0x11) occured.

0 commit comments

Comments
 (0)