7 ms·
Win16 Retro Development
- jmclnx 4y ago[flagged]
- msla 4y agoIs ShieldSecurity a problem on your end or the site's end?
- jmclnx 4y agoYes, with my VPN source IP, many sites work fine (like hackernews). But if sites that does not need to know personal information cares about my source IP, then I say "too bad". The only sites that should care where I am from are sites like banking, credit card, etc.
- blueflow 4y agoAvoid using low-reputation addresses for surfing. If you fail to differentiate yourself from the spammers, website hosters can say "too bad" to you, too.
- deleted 4y ago[deleted]
- ComputerGuru 4y agoNice read. I wouldn’t have minded more technical details about the implementation and challenges, but that’s probably because I’ve had to write generic SVGA drivers to support generic graphics cards before. (I’m not clear on what was the more convenient alternative to VMs that the author ended up using, though?) 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.
- fredoralive 4y agoWasn’t Windows back then dependent on vendor supplied device specific display drivers for anything above basic VGA? There wasn’t a real standard for “SVGA”, and the VBE stuff wasn’t that well supported early on? The Windows fallback until circa Windows XP was good old 640x480x16.
- tomcam 4y ago> Wasn’t Windows back then dependent on vendor supplied device specific display drivers for anything above basic VGA? 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.
- illys 4y agoI remember using a 800x600 16 color generic SVGA driver with early Windows (3.11 or 95?). At registry level, I guess the mode was made mostly standard as a derivate of the 640x480 16 color standard VGA mode. Indeed both modes fit within the 64 kiB segment using 4 layers and matching the 256 kiB of VGA memory.
- mjg59 4y agoHistorically you wanted the -vesa Xorg driver, today -modesetting should work fine on the firmware-provided framebuffer using simpledrm. But the EFI spec provides no way to change screenmode at runtime, so you're going to need a native driver for that under all circumstances.
- Teknoman117 4y agoI remember using Xvesa in the 00's on 90's hardware with great success. Damn Small Linux, etc. 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.
- ok123456 4y agoCMake macros for cross compiling Win16 binaries with Openwatcom were just added to CMake earlier this month.
- kybernetyk 4y agoMan, I'm a sucker for the Win 3.11 UI. I wish there was an option to use this style of UI on modern systems.
- WesolyKubeczek 4y agoBut still, have a look at this: https://b00merang.weebly.com/windows-311.html https://b00merang.weebly.com/windows-311.html
- WesolyKubeczek 4y agoI tried to make a GTK theme like that once. It sucked, not in the least because Win 3.x UI components are terrible at consistency: here you have 3d buttons, but other elements are 2d, here's this thing 1 pixel wide, and another 2 pixels wide for no reason at all, and here are whole classes of widgets that plain don't exist and every program has to roll its own (toolbars, for example; also look at Borland IDEs of the time, and MS Office too). Windows 95 was quite revolutionary because it brought in a very consistent look and feel to the UI.
- anthk 4y agohttps://github.com/grassmunk/Chicago95 https://github.com/grassmunk/Chicago95
- WesolyKubeczek 4y agoYou probably missed parent asking for Win 3.x-like UI, not Windows 95.
- drooopy 4y agoYou and me both. With the exception of not having a real desktop, as that was popularized by the Mac (and later beautifully copied by Win9x), 3.x is favourite Windows UI by a long shot. It's just so clean, and professional looking. And it just screams "productivity" to me, for some reason.
- 4y ago
- xvilka 4y agoI should note, that OpenWatcom 2.0[1] is far better for supporting more recent C and C++ code, modern hosts and tooling, but still able to compile into 16 bit code. It is also actively maintained. Instead of MASM I recommend JWasm[2] + Jwlink[3]. Back in time I did a fork[4] of JWasm that has cleaner build system (CMake). [1] https://github.com/open-watcom/open-watcom-v2 https://github.com/open-watcom/open-watcom-v2 [2] https://github.com/Baron-von-Riedesel/JWasm https://github.com/Baron-von-Riedesel/JWasm [3] https://github.com/JWasm/JWlink https://github.com/JWasm/JWlink [4] https://github.com/JWasm/JWasm https://github.com/JWasm/JWasm
- chongli 4y agoI clicked on the first GitHub link and landed on the repo page for OpenWatcom. Immediately I hit one of my biggest pet peeves with GitHub repo pages: what is it? The readme doesn’t say! 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.
- behringer 4y agoI was just trying to get a development environment going for windows 2.0. 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.
- Narishma 4y agoIf you don't mind using retro tools in an emulator like PCem, the first edition of 'Programming Windows' was for Windows 2.0 and should get you started.
- behringer 4y agoI'll do you one better. I'm currently using a Tandy 1000. Tho I do have pcem handy too so I can more easily work with modern tooling if needed. Thanks for the tip!
- pjmlp 4y agoToo retro, I was doing Win16 with Turbo Pascal for Windows and Turbo C++, both being shipped with Object Windows Library. https://winworldpc.com/product/turbo-pascal/1x-win https://winworldpc.com/product/turbo-pascal/1x-win https://winworldpc.com/product/turbo-c/1x-win https://winworldpc.com/product/turbo-c/1x-win https://en.wikipedia.org/wiki/Object_Windows_Library https://en.wikipedia.org/wiki/Object_Windows_Library
- butz 4y agoWindows 3.1 UI still looks much better than the mess that is latest Microsoft 365 (or whatever they call "Office" these days).