dosemu2 / fdpp

FreeDOS plus-plus, 64bit DOS
GNU General Public License v3.0
198 stars 18 forks source link

Int21.71A6 modifies registers ax, (bx?), es, di #159

Closed ecm-pushbx closed 3 years ago

ecm-pushbx commented 3 years ago

https://github.com/dosemu2/fdpp/blob/fc27b4a1f9176dd45cd12415aa25bc2190f983e6/kernel/inthndlr.c#L1575

Same problem as reported in https://github.com/dosemu2/dosemu2/issues/1365 and first discovered in https://github.com/dosemu2/dosemu2/pull/1363#issuecomment-743442822

$ dosemu -dumb
dosemu2 2.0pre8-20201211-2566-g76135b8ab Configured: 2020-12-11 13:42:37 +0100
Get the latest code at http://stsp.github.io/dosemu2
Submit Bugs via https://github.com/dosemu2/dosemu2/issues
Ask for help in mail list: linux-msdos@vger.kernel.org
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, GPL v2 (or any later version) distribution conditions.

FDPP kernel 1.1 [GIT: 1.1-10-geaab4f1] (compiled Dec 10 2020)
Kernel compatibility 7.10 - GNUC - FAT32 support

Written by Stas Sergeev, FDPP project.
Based on FreeDOS sources (C) Pasquale J. Villani and The FreeDOS Project.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

C: HD1, Pri[ 1], CHS=    0-1-1, start=     0 MB, size=  2000 MB
D: HD2, Pri[ 1], CHS=    0-1-1, start=     0 MB, size=  2000 MB
E: HD3, Pri[ 1], CHS=    0-1-1, start=     0 MB, size=  2000 MB
F: HD4, Pri[ 1], CHS=    0-1-1, start=     0 MB, size=  2000 MB
dosemu XMS 3.0 & UMB support enabled                                           
ERROR: EMS driver version mismatch: got 8, expected 9, disabling.
                                                                 Please update your ems.sys from the latest dosemu package.

EMS driver version mismatch, disabling.
Please update your ems.sys from the latest dosemu package.

Press any key!
ERROR: Your ems.sys is too old, not loaded.
EMUFS host file and print access available
dosemu CDROM driver installed (V0.2)
Kernel: allocated 115 Diskbuffers = 62560 Bytes in HMA
Process 0 starting: C:\command.com /e:384 /p /k %FDPP_AUTOEXEC%

FreeCom version 0.84-pre7 - GNUC - XMS_Swap [Dec 29 2019 15:36:33]
Current date is Sat 12-12-2020
Enter new date (mm-dd-[cc]yy):  
Current time is  9:52:10.75 pm
Enter new time: 
C:\>ver /r

FreeCom version 0.84-pre7 - GNUC - XMS_Swap [Dec 29 2019 15:36:33]
DOS version 5.0
FDPP kernel 1.1 [GIT: 1.1-10-geaab4f1] (compiled Dec 10 2020)C:\>
C:\>ldebug
-a
1804:0100 mov ax, 3d00
1804:0103 mov dx, 200
1804:0106 int 21
1804:0108 mov bx, ax
1804:010A mov ax, 71a6
1804:010D mov di, 1234
1804:0110 mov es, di
1804:0112 mov dx, 300
1804:0115 stc
1804:0116 int 21
1804:0118 nop
1804:0119 int3
1804:011A nop
1804:011B 
-e 200 "FDKERNEL.SYS" 0
-f 300 l 100 90
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=1804 ES=1804 SS=1804 CS=1804 IP=0100 NV UP EI PL ZR NA PE NC
1804:0100 B8003D            mov     ax, 3D00
-t
AX=3D00 BX=0000 CX=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=1804 ES=1804 SS=1804 CS=1804 IP=0103 NV UP EI PL ZR NA PE NC
1804:0103 BA0002            mov     dx, 0200
-
AX=3D00 BX=0000 CX=0000 DX=0200 SP=FFFE BP=0000 SI=0000 DI=0000
DS=1804 ES=1804 SS=1804 CS=1804 IP=0106 NV UP EI PL ZR NA PE NC
1804:0106 CD21              int     21
-
AX=0005 BX=0000 CX=0000 DX=0200 SP=FFFE BP=0000 SI=0000 DI=0000
DS=1804 ES=1804 SS=1804 CS=1804 IP=0108 NV UP EI PL ZR NA PE NC
1804:0108 89C3              mov     bx, ax
-
AX=0005 BX=0005 CX=0000 DX=0200 SP=FFFE BP=0000 SI=0000 DI=0000
DS=1804 ES=1804 SS=1804 CS=1804 IP=010A NV UP EI PL ZR NA PE NC
1804:010A B8A671            mov     ax, 71A6
-
AX=71A6 BX=0005 CX=0000 DX=0200 SP=FFFE BP=0000 SI=0000 DI=0000
DS=1804 ES=1804 SS=1804 CS=1804 IP=010D NV UP EI PL ZR NA PE NC
1804:010D BF3412            mov     di, 1234
-
AX=71A6 BX=0005 CX=0000 DX=0200 SP=FFFE BP=0000 SI=0000 DI=1234
DS=1804 ES=1804 SS=1804 CS=1804 IP=0110 NV UP EI PL ZR NA PE NC
1804:0110 8EC7              mov     es, di
-
AX=71A6 BX=0005 CX=0000 DX=0200 SP=FFFE BP=0000 SI=0000 DI=1234
DS=1804 ES=1234 SS=1804 CS=1804 IP=0112 NV UP EI PL ZR NA PE NC
1804:0112 BA0003            mov     dx, 0300
-
AX=71A6 BX=0005 CX=0000 DX=0300 SP=FFFE BP=0000 SI=0000 DI=1234
DS=1804 ES=1234 SS=1804 CS=1804 IP=0115 NV UP EI PL ZR NA PE NC
1804:0115 F9                stc
-
AX=71A6 BX=0005 CX=0000 DX=0300 SP=FFFE BP=0000 SI=0000 DI=1234
DS=1804 ES=1234 SS=1804 CS=1804 IP=0116 NV UP EI PL ZR NA PE CY
1804:0116 CD21              int     21
-
AX=11A6 BX=0005 CX=0000 DX=0300 SP=FFFE BP=0000 SI=0000 DI=0913
DS=1804 ES=0060 SS=1804 CS=1804 IP=0118 NV UP EI NG NZ NA PO NC
1804:0118 90                nop
-
stsp commented 3 years ago

So its fixed.