Hi ! I'm new to this board and just tried vDOS 1st time minutes ago ! First impression : very good, impressive even. I should add this is my new computer and the first time I've ever owned a 64-bit "X86" CPU and run 64-bit Windows. I couldn't live without DOS, THANK YOU for this superb emulation (and shame on you, Microsoft, for abandoning MS-DOS and the NTVDM)...
The minor problems I've seen at the first contact are seemingly to do with the video BIOS (int 10) emulation. Text mode (03).
1. Looks like functions to dynamicly change the VGA BIOS font or font sizes don't work :=( [Yes, I've noticed we can change the fonts & number of screen lines as per a CONFIG.TXT directive, but this is different.]
2. A simple bug when text is being scrolled up from the bottom of the screen : the PC BIOS should keep the color /attributes/ of the /previous/ bottom line, the one being replaced. However your emulated BIOS does not, instead resetting colors of the new line to the default (normally, 07 = white on black ).
The latter bug IS quite annoying to me. I am used to setting the DOS screen color attributes (without using so-called "ANSI" drivers, God forbid:=) but the bug means that will NOT work as intended in vDOS :=(
All in all it's very nice to have DOS run again over this (horrible) Windows 10. Thank you and all contributors to this !
I don’t think Windows 10 is that bad; it will just take some time getting used to it. Continuing NTVDM on Windows 64-bit would be a tremendous job, while software developers abandoned MS-DOS a long time ago.
1. vDos uses a scalable TTF font with a fixed aspect ratio. Switching for instance 25x80 to 50x80 would mean that of the vDos window also has to change. At the same height, the width would become half sized. So dynamically changing the resolution with limited options is unsupported in favor of a static one in config.txt, virtually w/o limitations.
2. The BH register defines the attribute of the new blank line(s) for the BIOS functions (10-06/07h) to scroll. You however mean some special case?
1. OK, got it. 2. Very quick demo of the bug : this (do try it while running DOS, on REAL iron having a proper BIOS; or even in, e.g, Bochs, VMware...), then compare vDOS !
> debug - f b800:0 l8000 40 1e -
Please tap the Enter key enough times for the screen to scroll up , now look at the bottom screen line, instant grasping the problem :=) Note : the Bochs BIOS used to have the same (similar) bug, I had them fix it, years ago...
There is no single “color/attribute of the previous/bottom line”. Only if all are the same, a line of 80 characters could have as many different colors. I thought the attribute of the very last position before scrolling would be logical to use.
I then checked with Windows XP in VirtualBox; the attribute of the first position of the line is used, or even as in vDos now, just 7. Could be you’re your demonstration isn’t that appropriate?
Please do NOT use Virtualbox as a model, since their video BIOS (an unfixed version of the BOCHS BIOS iirc) still has this bug ! We are supposed to emulate a real IBM PC-AT (compatible) BIOS aren't we :=) ? Cheers...