[HN Gopher] Windows 9x Video Minidriver HD+ ___________________________________________________________________ Windows 9x Video Minidriver HD+ Author : ingve Score : 106 points Date : 2022-06-06 16:49 UTC (6 hours ago) (HTM) web link (www.os2museum.com) (TXT) w3m dump (www.os2museum.com) | dblohm7 wrote: | Ah yes, AllocCStoDSAlias. You could do some fun stuff with that | API and its inverse, AllocDStoCSAlias (or PrestoChangoSelector). | userbinator wrote: | I wrote a generic VESA framebuffer driver for Win9x a while back; | it was surprisingly easy to get something working, as all it had | to do was switch modes and then give the DIBENG the framebuffer | to draw on. A few hundred lines of Asm were sufficient, most of | it being the mode switch and configuration logic. | | What I didn't do was give it a VxD, so windowed DOS boxes didn't | fully work --- the architecture of 9x is a hypervisor and what | isn't trapped/virtualised goes directly to the HW, so the DOS | boxes end up messing the state of each other and the "system VM" | where the GUI runs. Unfortunately I don't know of a way to have a | similarly generic virtualisation of the hardware. | TazeTSchnitzel wrote: | This is important work to make Windows 95 usable in VirtualBox! | | As it stands, where possible, it's a better experience to use | Windows NT 4.0 instead. Since it is more similar to modern | Windows versions than Windows 9x is, it runs flawlessly in | VirtualBox, yet it has that 1990's look and feel, and can run | most Windows 9x software. But not all, alas. | jeroenhd wrote: | The lack of good high-res drivers has been a pain whenever I | wanted to run old versions of Windows in QEMU/virt-manager. | | Will this work in there as well or is this a VirtualBox only | driver? | mananaysiempre wrote: | The BearWindows VESA driver (for 9x[1] and NT[2]) works well on | QEMU. The last version of VBEMP that won't nag you on each boot | is G. Of course, that does nothing about the rather poor | support for resolution independence on historical Windows, so | 1280x1024 is about the largest practical resolution. | | (Unfortunately, Sound Blaster 16 emulation is known to be | broken in combination with the Gtk UI[3], so no / choppy sound | for you, but things should work over SPICE. I've yet to find a | SPICE client that will maintain a fixed 2:1 display scale with | no interpolation. | | A helpful HN user described[4] how to enable SMB1 on recent | versions of Samba and so share files over something other than | floppy images, TFTP, or active FTP. I haven't found a better | way to do this with QEMU's native Samba integration than | launching it, then finding the generated smb.conf somewhere in | /tmp and patching it.) | | [1] https://bearwindows.zcm.com.au/vbe9x.htm | | [2] https://bearwindows.zcm.com.au/vbemp.htm | | [3] https://gitlab.com/qemu-project/qemu/-/issues/469 | | [4] https://news.ycombinator.com/item?id=29260861 | jeroenhd wrote: | I've been real spoiled with the auto-resolution switching | support with the QEMU guest agent and libvirt drivers and | that becomes painfully obvious when I resize a Win2k/Win98 VM | and scroll bars appear... | | I haven't had much trouble with the virt-manager GUI in terms | of sound. For Win2K I could install the server edition and | remote into it over RDP if it ever becomes an issue. | freebreakfast wrote: | You might consider 86Box. It's emulation rather than | virtualization, but it supports a range of graphics cards. This | makes it easier to use the default drivers and/or find other | drivers online. | | Another emulation option is Bochs. I haven't played with it in | years though. | accrual wrote: | Fun side note: Bochs has a working port on the PlayStation | Portable (PSP). Booting up Windows 95 on my PSP in high | school was my geeky party trick. | jeroenhd wrote: | I think I've tried messing with that before but I couldn't | get it to work right. It's an extremely accurate emulation of | the hardware but that comes at the cost of performance and | the stuff I wanted to mess with for nostalgic reasons didn't | really need emulation that accurate. | | Still solid options for anyone else looking into more | accurate emulation of old machines, though, these two pieces | of software can get keep that thirty year old piece of legacy | software running for at least another decade or so! | Laforet wrote: | PCem is probably the more suitable emulator if accuracy is | not as important. | kmavm wrote: | When I was at VMware in the 'aughts, VESA often saved us as an | unaccelerated option for guests that didn't yet have a driver for | our virtual display. Was there really no VESA driver for the 9x | family? Or does QEMU's BIOS not do it or something? | freebreakfast wrote: | BearWindows and SciTech Display Doctor are the two VESA drivers | which come to mind for Windows 9x. If I remember correctly Bear | will also work in 3.x. | | I remember these being somewhat frustrating to get working with | VirtualBox. I never tried with QEMU. | | I've personally moved away from virtualization for older OSes | and to emulation. It just seems much easier to deal with even | if it's more resource intensive. | JohnBerea wrote: | In Windows what advantage does 32-bit color give over 24-bit | color? Does 32-bit have 11-11-10 bits per pixel instead of one | byte each? From my limited experience with win32 programming I | don't remember any API's that let programs specify colors with | that much depth. | dmitrygr wrote: | it is usually RGBX8888 or XRGB8888, 4 bytes per pixel makes a | lot of math easier | JohnBerea wrote: | So the last one isn't used, just padding for alignment. Got | it. | app4soft wrote: | Hm, why screenshot resolution (1152x864) is different from | 1920x1200, as it set in _" Display Properties > Settings > | Desktop area"_?[0] | | [0] https://www.os2museum.com/wp/wp- | content/uploads/2022/06/boxv... | accrual wrote: | This is interesting because I have direct experience with this | on real hardware recently. I have a GeForce 4 MX440 graphics | card connected via DVI to a native 1920x1200 display. Windows | 98 will let me set the native resolution, but if I move the | mouse outside the bounds (maybe 1152x864?) the whole screen | will "pan" with the cursor and wrap to the other side of the | screen. It's almost like 98 can display 1920x1200 but can only | interact with a subset of it. I thought it was just some | strange driver limit or an issue with my hardware, but maybe | it's a limit in the core of the OS. | userbinator wrote: | That's probably something to do with the GPU driver. Win98 | doesn't really have any intrinsic limit on display resolution | beyond the 16-bit limit (32k in each dimension, although I | suspect you'll run out of address space for the framebuffer | first) --- I've personally used 98se on a CRT at 2048x1536. | gsich wrote: | My memory could be wrong here but I had a 20" CRT which could | output 2048x1536 with no panning. | hexmiles wrote: | if i remember correctly it's a feature of the driver, | basically you can set resolution higher than what is | supported by your screen and it will create a sort of virtual | screen that is "mapped" to the real one via panning. | | Probably the gpu/driver don't recognize the resolution as | supported by your monitor. It's should be possible to | override that and set a custom resolution but i don't | remember how... Sorry. | bmacho wrote: | It's in the comments: Michal Necasek says: | June 6, 2022 at 10:30 pm Sure, the screenshot is | of a 1152x864 desktop, showing the maximum resolution | available in the dialog. I didn't see the point of | wasting space with so many boring pixels | | They don't think that anyone was interested in a screenshot. | phaker wrote: | The 'apply' button is active so these are unapplied changes. | etaioinshrdlu wrote: | What I really want is good 3d acceleration on M1 windows vm's | from 98 to Win 7, like I currently have using parallels on Intel | Mac. | | (Okay, not quite. The 3d support seems to start at winxp. ) | muizelaar wrote: | Source code is here: https://www.os2museum.com/hg/boxv9x/ The | credentials are 'guest'/'guest'. | TazeTSchnitzel wrote: | https://guest:guest@www.os2museum.com/hg/boxv9x/ | mobilio wrote: | Wow! That's fantastic! | gfody wrote: | > The Windows 95 DDK completely fails to mention this non-obvious | yet crucial detail; I found it "documented" in U.S. Patent | 6,525,743. | | I feel like windows development is riddled with this sort of | thing, undocumented secrets that you just have to figure out for | yourself. I wonder if it's deliberate from 1980's Microsoft being | paranoid about corporate espionage or something. ___________________________________________________________________ (page generated 2022-06-06 23:00 UTC)