leecher1337 / ntvdmx64

Run Microsoft Windows NTVDM (DOS) on 64bit Editions
808 stars 81 forks source link

Recall Windows commands #55

Closed peter8777555 closed 5 years ago

peter8777555 commented 5 years ago

I can use UP/Down key to recall Windows commands. But When i run ANY TSR programs,i can NOT use UP/Down key to recall Windows commands anymore.

leecher1337 commented 5 years ago

Doskey was NEVER a part of command.com !

peter8777555 commented 5 years ago

I view config.nt/autoexec.nt,no load DOSKEY.EXE at startup.

Microsoft NTVDM recall Windows commands function:

  1. Internal function. 2.External function by call DOSKEY.EXE

Which one ?

I rename DOSKEY.EXE CMD Console still can use UP/Down key to recall Windows commands.

I think this is NOT DOSKEY.EXE It should be Internal function ?

leecher1337 commented 5 years ago

I'm not aware of any doskey implementation that is compatible with Windows NT command.com implementation, so I would consider it impossible. It was never supported. doskey.exe from Windows is just for 32bit cmd.exe and therefore useless, doskey.com from MS-DOS also doesn't work with Windows NT's command.com

leecher1337 commented 5 years ago

http://www.c-bit.org/Q/165214/EN-US/ " The following functions do not work in Windows: ... Interrupt 2F dealing with the DOSKEY program call outs (AX = 4800) is not supported. "

peter8777555 commented 5 years ago

It is a strange question. If NTVDM do not use doskey.com(DOS) and doskey.exe(Windows).

1.I can use UP/Down key to recall Windows commands and run DOS programs.

2.When i run TSR program,the UP/Down key to recall Windows commands will FAILED forever. Is this TSR program destory recall Windows commands function ?

leecher1337 commented 5 years ago

As soon as you are in a session with a running DOS application in background (i.e. installed TSR), you are on command.com from now on, not on CMD.EXE

If you just run a DOS-application from CMD.EXE, you quit back to CMD.EXE If you i.e. open a DOS shell from a DOS program or run a TSR in background, you quit back to DOS (and you need to be on DOS from now on so that TSR can run, so you are inside NTVDM) and so you are on COMMAND.COM CMD.EXE is capable of doskey-functions, COMMAND.COM is not. Clear now?

peter8777555 commented 5 years ago

Yes,Clear, I have try some tests and you are right. Thank you very much for your detail info.

  1. Run DOS programs --> In CMD.exe --> It can use UP/Down key.
  2. Run TSR program --> In Command.com --> It can NOT use UP/Down key.
  3. UnLoad TSR program --> In CMD.exe --> It can use UP/Down key.

  4. Run DOS programs --> In CMD.exe --> It can use UP/Down key.
  5. Run DOS shell from a DOS program --> In Command.com --> It can NOT use UP/Down key.
  6. Exit DOS Shell and DOS program --> In CMD.exe --> It can use UP/Down key.