|
Post by nimbus on Jul 5, 2018 21:33:45 GMT 1
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 !
|
|
|
Post by Jos on Jul 6, 2018 6:04:27 GMT 1
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?
Jos
|
|
|
Post by nimbus on Jul 6, 2018 10:07:19 GMT 1
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...
Cheers
Nim'
|
|
|
Post by Jos on Jul 6, 2018 12:32:36 GMT 1
I suppose you mean hitting Enter at line 25. I’ll look into that. Jos Attachments:
|
|
|
Post by nimbus on Jul 6, 2018 12:46:43 GMT 1
I suppose you mean hitting Enter at line 25. I’ll look into that. Jos Right spot-on ! Thanks, Jos !
|
|
|
Post by Jos on Jul 6, 2018 19:43:33 GMT 1
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? Jos Attachments:
|
|
|
Post by nimbus on Jul 7, 2018 15:28:59 GMT 1
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...
|
|
|
Post by Jos on Jul 7, 2018 15:48:18 GMT 1
I checked with the Windows 7 PC I still have around. The attribute of the previous leftmost position is used to fill the entire new line. It's changed accordingly for the next vDos version.
Jos
|
|
|
Post by nimbus on Jul 7, 2018 16:37:57 GMT 1
I checked with the Windows 7 PC I still have around. The attribute of the previous leftmost position is used to fill the entire new line. It's changed accordingly for the next vDos version. Jos Thanks !
|
|