Side-bar but still on-topic: It really irks me to no end that Windows 3.x and Windows 95 could get a fairly hardware-agnostic (fallback) software-rendered GUI fully up and running and exposed to user space in the early 90s and even today Linux/BSD can’t manage that (even just in SVGA mode) without vendor specific drivers. Xfree86 and then Xorg with the fb driver were attempts at doing the same but I can attest they never achieved that same universality. I had hoped EFI fb could finally give us the same for modern PCs but the chances of open source efifb drivers in userland working on a chipset/implementation they haven’t been tested against are a real crapshoot.
I had “success” (compared to the status quo, not compared to the situation on Windows) writing X drivers that wrote to the kernel framebuffer but that broke when everything was rewritten or deprecated in order to support EFI. Even then, the support for listing supported modes and changing to them was very poor (which make sense given how little serious use the kernel frame buffer sees), never mind figuring out what modes intersected with those the display supported. Laptops with integrated plus discrete graphics cards (or desktop motherboards with the same) were also problematic for various reasons.
Inability to change EFI resolution is OK except with high-res (4k) discrete GPUs running without scaling. But that’s ok because you can do fake DPI scaling in software - the actual tissue is performance at 4k sucks if not hardware accelerated.
Bigger problem today is that EFI fb support is still in its nascence both manufacturer- and software-side. Manufacturers ship crap that’s not up to spec while some EFI FB handlers are too strict in what they expect or haven’t added quirks for some of the very common hardware you might run across.
iirc, -vesa got kinda bad after the advent of the "GPU". Cards didn't natively support VBE and emulated a subset of it just for compatibility purposes.
It's gotten worse these days. I don't know if I'd call it a bad thing though - with the push for hardware accelerated rendering to help with battery life on portable devices, many of the desktop environments have lost support for "software" graphics. They instead depend on software OpenGL support via llvmpipe and chug hard even on modern devices (if you don't have a driver installed) and VMs.
Curiously I got it into a weird mode where artifacts from a corrupted framebuffer in DOS were persistent on screen as a faint ghost image after booting into Linux even when cycling the power for a short duration. I have no idea how that could happen.
This is most definitely a hardware issue with your display, not the frame buffer. What you describe would require alpha blending in software and couldn’t just “happen” with a linear array of corrupted bytes; it would require intentionality.
The Windows fallback until circa Windows XP was good old 640x480x16.
In theory, yes, but the reality was starkly different as I recall (I worked there in the late 90s). In my experience, Microsoft was doing a ton of heavy lifting helping vendors with device drivers.
You can download WPS4WIN.ZIP here: https://winworldpc.com/product/ibm-workplace-shell/151
You can download MAKEOVER.ZIP here: https://archive.org/details/MAKEOVER_ZIP
No idea how much of this began in Windows but Windows 3.1 was an OS that had it all and it was very strictly followed in a coherent interface.
Sure, I liked the Windows 9x/NT/2K UI too but 3.x was special to me for being early to be so complete in terms of usability.
I'm not big on visual file management. I do most of that through the command line.
Windows 95 was quite revolutionary because it brought in a very consistent look and feel to the UI.
Anyone got any pointers what software to use. It feels like win 1 and 2 are skipped over, I can't find much info on how to develop on them.
Thanks for the tip!
[1] https://github.com/open-watcom/open-watcom-v2
[2] https://github.com/Baron-von-Riedesel/JWasm
Repo maintainers: please put a one-or-two sentence description of what your project is at the top of the repo readme! It’s really not too much at all to ask! Assuming people know what your project is just because they landed on the repo page is one of the fastest ways to bounce people out.
https://winworldpc.com/product/turbo-pascal/1x-win