Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Take Command/16 doesn't run with otvdmw.exe #1445

Open
roytam1 opened this issue Sep 14, 2024 · 6 comments
Open

Take Command/16 doesn't run with otvdmw.exe #1445

roytam1 opened this issue Sep 14, 2024 · 6 comments

Comments

@roytam1
Copy link
Contributor

roytam1 commented Sep 14, 2024

Try the latest version first.
Go here and click Environment: THIS_BUILD_IS_RECOMMENDED__VCXPROJ_BUILD=1-> Artifacts 1-> zip to download the latest version.

Describe the bug
when I use otvdmw.exe to start TCMD.EXE, Take Command/16's main window shows and ends instantly.

with otvdm.exe, it starts, but its output goes to console window but not in its own window.

Expected behavior
it should work by typing in its main window and it can output results in its main window as well:
image

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS: Win 7 SP1 x64
  • Version: gcc build 2527

Additional context
TCMD202.ZIP can be downloaded here fro testing: https://www.retro-computing.com/Archives/downloadfile.php?fn=Archives/Win31/Files/TCMD202.ZIP&archivename=Win31&fnsize=707.0%20KB

It is very helpful to provide a trace file if possible.
Please note that this file contains detailed information about the program.
Procedure

  1. Run the command prompt.
  2. Set the environment variable:
set WINEDEBUG=+all,-snoop,-ldt,-fixup,-module,-global,-local,-disasm,-syslevel,-thunk
*old-executable-file* 2> trace.txt
  1. Upload trace.txt here.
    trace.txt
@cracyc
Copy link
Contributor

cracyc commented Sep 15, 2024

It looks like the program is supposed to redirect stdout to it's own drawing routine but in winevdm it's going to the console instead.

32a8:Call KERNEL.102: DOS3CALL() ret=1217:0669 ds=123f
     AX=4014 BX=0001 CX=002a DX=7f1c SI=0024 DI=0ab5 ES=123f EFL=00003202
32a8:trace:int21:DOSVM_Int21Handler AX=4014 BX=0001 CX=002a DX=7f1c SI=0024 DI=0ab5 DS=123f ES=123f EFL=00003202
32a8:trace:int21:DOSVM_Int21Handler WRITE from 123F:7F1C to handle 1 for 42 byte
32a8:trace:int21:DOSVM_Int21Handler returning: AX=002a BX=0001 CX=002a DX=7f1c SI=0024 DI=0ab5 DS=123f ES=123f EFL=00003202
32a8:Ret  KERNEL.102: DOS3CALL() retval=none ret=1217:0669 ds=123f
     AX=002a BX=0001 CX=002a DX=7f1c SI=0024 DI=0ab5 ES=123f EFL=00003202

Oddly it works correctly with winevdm in 32bit xp and 32bit win7.

Screenshot 2024-09-14 191805

@cracyc
Copy link
Contributor

cracyc commented Sep 15, 2024

#1446 fixes the console on Windows 11. Wine says VerifyConsoleIoHandle was disabled on Windows 8 but might not work on Windows 7 SP1 too. It doesn't fix the problem with otvdmw.exe, that lacks a console will need a workaround.

@roytam1
Copy link
Contributor Author

roytam1 commented Sep 15, 2024

#1446 fixes the console on Windows 11. Wine says VerifyConsoleIoHandle was disabled on Windows 8 but might not work on Windows 7 SP1 too.

yeah no changes on Win7 SP1.
image

and when I type exit[Enter] and otvdm crashes(not related to this fix).

@cracyc
Copy link
Contributor

cracyc commented Sep 15, 2024

Well, I don't have a 64bit win7 vm and it does work in 32bit win7sp1 (it does crash on exit but win11 doesn't) so I need a new trace.

@roytam1
Copy link
Contributor Author

roytam1 commented Sep 15, 2024

if stderr is redirected, it properly redirects output to its own window.
trace2.txt

16cc:Call KERNEL.56: THROW(1247:8cb8,fffe) ret=123f:0665 ds=1247
     AX=0002 BX=502d CX=0000 DX=0004 SI=8918 DI=0007 ES=1247 EFL=00003202

@roytam1
Copy link
Contributor Author

roytam1 commented Sep 17, 2024

It doesn't fix the problem with otvdmw.exe, that lacks a console will need a workaround.

maybe allocating a hidden console window for this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants