10 ms·
Windows 9x Subsystem for Linux
- varispeed 6mo agoThis could prompt me to finally assemble the Pentium desktop I have in storage in parts.
- keepamovin 6mo agolol, if you do assemble that Pentium desktop, one of the first things you'll notice is that the modern web is completely unusable on it natively. To get around that, I recently added a legacy compatibility mode to BrowserBox (bbx win9x-run). It basically lets you run the server on your modern daily driver, and access it via IE 5, IE 6, or Netscape on the Pentium box. It strips away the modern TLS/JS rendering issues and lets you actually browse the modern web from Windows 9x. Highly recommend giving it a spin if you get that machine built!
- ErroneousBosh 6mo agoIf I can get this to work (haven't tried yet) it directly solves a problem I have right now this week right here in 2026, 30 years after Windows 95 was even a thing. Yes, I have weird problems. I get to look after some very weird shit.
- defrost 6mo agoOld still running 24/7 industrial processing circuit with oddball bespoke addons based on DOS / early windows ?? Still got those in this part of the world sharing space with state of the art autonomous 100+ tonne robo trucks.
- ourmandave 6mo agoWhen backward compatibility used to mean something man!
- keepamovin 6mo agoIf you're dealing with weird legacy 9x systems in 2026, another headache you've probably run into is getting them to talk to the modern web (since modern TLS and JS completely break old browsers). I actually built a win9x compatibility mode into BrowserBox specifically for this kind of weirdness. You run the server on a modern system and launch it with bbx win9x-run, and it proxies the modern web to legacy clients. It works surprisingly well with IE5, IE6, and old Netscape on Windows 95/98/NT. Might be a fun addition to your retro utility belt!
- anthk 6mo agoKernel-Ex and Basilisk and friends (Serpent browser or whatever it's called) plus some TLS stuff can browse the modern web just fine. JS, OTOH... get NoScript ASAP and block selectively. Or better, ditch the web completely and head to Gopher/Gemini.
- keepamovin 6mo agoI agree there seem to be other options. But they all have fractal-edged interfaces to the legacy stuff, and you need to be careful about, as you said, script issues and vulns. That's the BrowserBox advantage - a fully modern, remote rendering system that can still be accessed from the legacy box, but securely. And easy setup. Admittedly, doing it the way you're doing is probably free - BrowserBox is not free - but it saves you lots of this delicate management of config, etc. Because the interface model is cleaner: just one HTTP endpoint that legacy browsers can actually access, streaming them fully modern browsing that's rendered elsewhere, securely. I get the degradation to Gopher as a way to solve many issues, but many things just don't work there. And it may have its own vulnerabilities.
- ErroneousBosh 6mo agoAh! I solved that easily enough. Internet Explorer 8 works okay for the webby front ends to operate the transmitter equipment. How do you run that, in this day and age, safely? Run it in Windows XP, in a VM. Now here's the clever bit - qemu will allow you to expose the keyboard, mouse, and framebuffer as a VNC server. So you set up Apache Guacamole to point a VNC client at the VM, and then "normal people" can log in, operate the transmitter, and log out again. You can do a lot of sneaky things with that, including setting up headless X, running VNC on it pointed at your qemu VM, and then streaming the headless X servers's framebuffer out with ffmpeg. Yes sometimes work can be a bit boring with not much to do, why do you ask?
- ErroneousBosh 6mo agoSimilar, radio transmitter stuff. There is a section of the Forties Pipeline where they have a huge amount of gas handling plant in central Scotland. Last time I was on site (admittedly 15 years ago but I don't see this changing soon) the SCADA outstations were run by absolutely minty box fresh VAXStation 3100s. Plastic not even peeled off the front panel badges fresh.
- thijsvandien 6mo agoTell us more!
- dnnddidiej 6mo agoProbably works for a bank.
- jesterson 6mo agoAnd likely in ATM servicing. Just few months ago seen windows 95 error message on HSBC ATM.
- ErroneousBosh 6mo agoFor a long time all the IBM ATMs ran OS/2 Warp 4. I recently saw that running on special 16 channel DAT recorders used by the 999 service, recently as in "within the past five years". I believe they've been retired but kept around in case they need to recover tapes off them. I kept my mouth ABSOLUTELY FUCKING SHUT about knowing my way round OS/2 Warp 4.
- tracker1 6mo agoI've completely forgotten pretty much everything about OS/2... worked support for iomega for a while covering OS/2, Jazz and 2nd level zip calls in the late 90's. I have very little desire to look back to those days. Except it would be nice if computers were as snappy as back then... so many layers of cruft that nothing really pops. I remember I used to just disable all the NT/2K animations and it felt so nice. I built a career on web apps, but most are just really poorly written it pisses me off.
- ErroneousBosh 6mo ago> Except it would be nice if computers were as snappy as back then... so many layers of cruft that nothing really pops. You should try Haiku: https://www.haiku-os.org/ https://www.haiku-os.org/ It's actually pretty usable these days, at least on Thinkpads and other "generic Intel chipset" machines.
- fouc 6mo agoModern linux kernel running cooperatively inside the Windows 9x kernel, sick!
- AshamedCaptain 6mo agoI guess easier than https://github.com/haileys/doslinux https://github.com/haileys/doslinux
- haileys 6mo agoWell it did take me 6 years to follow that up!
- andai 6mo agoCan we get an official statement on which OS your project runs inside which OS? It's left slightly unclear, for the uninitiated!
- haileys 6mo agodoslinux is some tricky sleight of hand where it looks like Linux is running inside DOS, but it's actually the other way around (even though DOS boots first). WSL9x takes quite a different approach. Windows boots first, but once Linux starts both kernels are running side-by-side in ring 0 with full privileges. They are supposed to cooperate, but if either crashes then both go down.
- vrganj 6mo agoOkay what is it with WSL naming, this always confuses me. Shouldn't it be Linux subsystem for Windows?
- nkrisc 6mo agoIt’s a sub-system of Windows that is used for Linux. It can work either way though.
- hagbard_c 6mo agoMicrosoft names of products turn around likes, e.g. OpenOffice XML [1] -> Office Open XML [2] [1] https://www.openoffice.org/xml/general.html https://www.openoffice.org/xml/general.html [2] https://en.wikipedia.org/wiki/Office_Open_XML https://en.wikipedia.org/wiki/Office_Open_XML
- adzm 6mo ago(Windows 9x) (Subsystem for Linux)
- win2k 6mo agoYeah, you'd think from this that it is running Linux on Windows 9x.
- tjoff 6mo agoIf you google there are many reasonable reasons for it. But the most straight forward is: > Because we cannot name something leading with a trademark owned by someone else. https://xcancel.com/richturn_ms/status/1245481405947076610?s=20 https://xcancel.com/richturn_ms/status/1245481405947076610?s...
- ginko 6mo agoShould have called it LINE.
- mghackerlady 6mo agoalso trademarked
- defrost 6mo agoI am going to run this in Windows 95 on a Sun PC card under Solaris 7. from the same commenter who effused jesus fucking christ this is an abomination of epic proportions that has no right to exist in a just universe and I love it so much
- jjgreen 6mo agoHumans are weird and can loath and desire a thing at the same time; the success of Brutalism for example.
- aa-jv 6mo ago/off to fire up Windows95 on the Octane2 and get me some hot Linux action ..
- anthk 6mo agoWait until you find IE was released for Unix, using some Win32 shims. And... die hard Unix sysadmin ran it under FVWM and compared to Netscape wasn't half bad. Both propietary, but sadly NScape didn't open Mozilla yet, and the rest of the alternatives such as Arena/Amaya coudn't compete with 'modern' CSS features and the like.
- keepamovin 6mo agoSpeaking of vintage IE and Netscape on old Win, it's actually still possible to use them to browse the modern web if you proxy it. I built a Win9x compatibility mode for BrowserBox that does exactly this (https://github.com/BrowserBox/BrowserBox/blob/main/readme-files/browserbox-running-in-windows-98-ie-5.jpg https://github.com/BrowserBox/BrowserBox/blob/main/readme-fi...). Ur modern server does all the rendering, and it outputs a client link specifically designed for legacy browsers like IE5, IE6, and Netscape running on Windows 95/98/NT, streaming them the pixels. It's definitely an abomination, but there's something magical and retro that I like about viewing the 2026 internet through an IE6 window ;) ;p xx
- anthk 6mo agoThere are better ways: - Retrozilla with some about:config flags disabling old SSL cyphers and new keys to enable newer ones - Iron TCL maybe with KernelEx and BFGXP from https://luxferre.top https://luxferre.top reading gopher and gemini sites such as gemini://gemi.dev proxying all the web bloat and slimming it down like crazy - Same Gemini URL, but thru http://portal.mozz.us/gemini http://portal.mozz.us/gemini . Double proxy in the end, but it will be readable.
- rahen 6mo agoBefore WSL, the best ways to run unmodified Linux binaries inside Windows were CoLinux and flinux. http://www.colinux.org/ http://www.colinux.org/ https://github.com/wishstudio/flinux https://github.com/wishstudio/flinux flinux essentially had the architecture of WSL1, while CoLinux was more like WSL2 with a Linux kernel side-loaded. Cygwin was technically the correct approach: native POSIX binaries on Windows rather than hacking in some foreign Linux plumbing. Since it was merely a lightweight DLL to link to (or a bunch of them), it also kept the cruft low without messing with ring 0. However, it lacked the convenience of a CLI package manager back then, and I remember being hooked on CoLinux when I had to work on Windows.
- Fnoord 6mo agoCygwin is way older than CoLinux. CoLinux is from 2004. Cygwin was first released in 1995. The problem with Cygwin as I remember it was DLL hell. You'd have applications (such as a OpenSSH port for Windows) which would include their own cygwin1.dll and then you'd have issues with different versions of said DLL. Cygwin had less overhead which mattered in a world of limited RAM and heavy, limited swapping (x86-32, limited I/O, PATA, ...). Those constraints also meant native applications instead of Web 2.0 NodeJS and what not. Java specifically had a bad name, and back then not even a coherent UI toolkit. As always: two steps forward, one step back.
- pjmlp 6mo agoMeanwhile those that complained about Java, now ship a whole browser with their "native" application, and then complain about Google taking over the Web.
- DaSHacka 6mo agoI think those are two solidly different camps of people
- barrkel 6mo agoJust use ssh from Cygwin. DLL hell was rarely a problem, just always install everything via setup.exe. The single biggest problem it has is slow forking. I learned to write my scripts in pure bash as much as possible, or as a composition of streaming executables, and avoid executing an executable per line of input or similar.
- ilkkao 6mo agoLittle late but would this have actually allowed running early Linux under Windows when Windows 95 came out in the 90s? I remember only dual booting being available at that time.
- scoopr 6mo agoSo, is it like colinux[0], but for pre-NT windows? Neat! Back when I was still using windows (probably XP era), I used to run colinux, it was kind of amazing, setting up something like LAMP stack on the linux side was a lot easier and then using windows editors for editing made for quite nice local dev env, I think! Could even try some of the X11 servers on windows and use a linux desktop on top of windows. When I noticed I kept inching towards more and more unixy enviornment on the windows, I eventually switched to macOS. Apart from the obvious hack-value, I can't quite imagine even pretend use-case, with some 486 era machine, you would be limited by memory quite quickly! [0] http://colinux.org/ http://colinux.org/
- jesuslop 6mo agoColinux was a tech feat, just not that many people noticed.
- da-x 6mo agoYes (coLinux author). What I especially like about this Windows 9x Subsystem project, is that it proves that coLinux could have been written way earlier. Now imagine how less dual booting we would have needed in 1996 if that happened, and how it would have affected VMware which only existed since 1998.
- jesuslop 6mo agoA bit late thanks, and a respectful hat tip.
- aa-jv 6mo agoOddly enough, I could kind of use this right now. I have some software which used SCSI (Adaptec WNASPI32.dll) calls to administer a device over the SCSI bus .. would this Subsystem be usable for that, or does it still require I build a WNASP32.dll shim to do translation?
- actionfromafar 6mo agoSo, you have Windows software. This "Windows 9x Subsystem for Linux" just boots Windows 95. I don't know what you would use the Linux part for. Care to explain more what you want to do? If you want to run your windows software in Linux, you could try Wine. Wine seems to have support for WNASPI so it's possible your software would just work. (You might have to run Wine as root I guess, to get access to the SCSI devices.) If Wine doesn't work, Windows in QEMU with PCI passthrough to the SCSI controller might have better chances to work.
- aa-jv 6mo agoI need raw SCSI I/O to be virtualizable in the linux context, so I could run a Windows app (yes it already works in Wine), and have it 'see' a SCSI device as if it were real hardware. Wines WNASPI32.dll is really just a facade - it doesn't provide actual SCSI services, its just there for SCSI-using apps to think they have ASPI onboard - so for my case I would need to write a shim to pass through SCSI IO requests to a Linux service - or loopback file? - to actually process the requests. I've been meaning to do this for a long time, but if there is some way I can set up a loopback file under Linux to 'pretend' to be a SCSI block device for a Windows app, I'd sure like to know if its possible ..
- raverbashing 6mo agoThat's cool I mean it's like trying to balance a cybetruck into 4 skateboards and flunging it over a hill cool
- keyle 6mo agoI thought this was about running windows 9x within linux. Is there such thing without virtualisation?
- maybewhenthesun 6mo agoYou can setup handlers to automatically launch windows executables using wine/proton . This trickery is called binfmt_misc , which is a linux kernel system to associate random binary files with custom userspace 'interpreters' I have had it working in the past. And while it is kinda neat I prefer manually running 'wine program.exe' to have a bit more control. I have seen reports that a binfmt_misc setup + wine is good enough to get infected by certain windows viruses ;-P
- anthk 6mo agoIs wine compatible enough with Iloveyou.vbs?
- pwdisswordfishq 6mo ago> "no hardware virtualisation" > looks inside > virtual 8086 mode
- 83457 6mo agothat’s virtualization, not virtualisation
- zinekeller 6mo agoI think this is in the sense of needing a modern-ish hardware with VT-x/AMD-V support (instead of the already-contemporary v8086 which is already in use by Windows at this time).
- ChrisRR 6mo agoBy microsoft's naming scheme this should be Linux Subsystem for Windows
- nonethewiser 6mo agoYeah this has never made sense...
- Borg3 6mo agoHmm I wonder how stable it is.. It cannot render correctly Window control buttons (Minimize, Maximize, Close). If it fails on such basic task, I wonder where it crashes...
- chungy 6mo agoThat's a graphics driver problem. Fairly common to see when running Windows 9x/Me under QEMU.
- globular-toast 6mo agoDoes this mean it runs on Linux or runs on Windows. I can never tell with this MS "subsystem" naming.
- rererereferred 6mo agoI think the answer is "yes"
- zoomablemind 6mo agoWSL was a subsystem to run Linux under Windows 10 without an explicit VM host. It was an Ubuntu Linux version. Later MS released WSL2, complete redesign, still for Windows 10. With Windows 11 the WSL2 also supported GUI programs.
- thrownaway561 6mo agoEverytime I see something like this, I'm like, how in the hell did they learn and then figure this out? Congrats on this!!!! I will definitely have to play with this for some of that sweet nostalga.
- gblargg 6mo ago> Proudly written with zero AI. Unfortunately this is ambiguous, as there's an AI product called Zero AI.
- collinmanderson 6mo ago> Proudly written without AI. Looks like it's been updated now to be more clear. Amazing though.
- Adiqq 6mo agoLooks like opportunity for new AI product called "without AI".
- qingcharles 6mo agoTomorrow's "Show HN".
- flexagoon 6mo agoShould be called "out AI" then
- layer8 6mo agoLetter case matters.
- BoneShard 6mo agonot in windows
- itvision 6mo agoIs this Win4Lin resurrected?
- microtonal 6mo agoThis. The post immediately reminded me of Win4Lin 9x (the version before it became just another boring VM) and SCO Merge. It was insanely fast, even on the hardware of the day. The Wikipedia page is not verify informative and presents it as a regular VM (possibly mixing up 9x and later versions that run the NT line of kernels). The manual is a bit more informative about the tech: ilab.usc.edu/packages/special/Win4Lin-3.0.1-manual.pdf I’m a bit surprised it hasn’t been mentioned a lot in the comments. Maybe it’s a bit too old for most people here (Linux in the late 90ies/early 00s was a much smaller community)?
- layer8 6mo agoNo, this runs Linux within Windows, so rather a “Lin4Win”.
- foldr 6mo agoIncredible that current Linux kernels still have 486 support!
- mrweasel 6mo agoWhich is really weird because I thought it didn't, per https://www.theregister.com/2025/05/07/linux_kernel_drops_486/ https://www.theregister.com/2025/05/07/linux_kernel_drops_48... Maybe there's some detail I don't quite follow, like is has support for 486, but only those with a built in FPU?
- seritools 6mo agopretty sure 486 support only _just_ got disabled, and will be gone with 7.1: https://www.phoronix.com/news/Linux-7.1-Phasing-Out-i486 https://www.phoronix.com/news/Linux-7.1-Phasing-Out-i486
- gpvos 6mo agoNot for long anymore, apparently.
- deleted 6mo ago[deleted]
- deleted 6mo ago[deleted]
- andai 6mo agoIs this person a wizard? To me, this seems an impossible feat. But I wonder how it seems to people who understand how it works? I'm reminded of this joke: Two mathematicians are talking. One says a theorem is trivial. After two hours of explanation, the other agrees that it is indeed trivial.
- rogue7 6mo agoNever heard of this joke, very funny !
- amelius 6mo ago[flagged]
- macarc888 6mo agoAs the repo says > Proudly written without AI.
- sk7 6mo agoThe README states: > Proudly written without AI.
- deleted 6mo ago[deleted]
- tomlis 6mo agoamelius was saying that tongue-in-cheek.
- p-e-w 6mo agoStuff like this is far above the capabilities of today’s top AIs. It’ll produce something, sure, but it won’t actually work, and making it work takes as much effort as building it from scratch.
- hluska 6mo agoThis is way beyond the current capability of AI. You should likely know that instead of just trashing random projects.
- kalx 6mo agoCan someone explain me the so what? Like it is impressive, but why do we need it?
- nananana9 6mo agoSometimes people do cool things for fun, without the express intent of maximizing their BALANCE integer in their bank's SQL table.
- kube-system 6mo agointeger? what is this, the IRS?
- lucasoshiro 6mo agoNot everything needs to be "needed".
- jszymborski 6mo agoI want a Linux Subsystem for Windows 9x or MS-DOS :P
- ryanshrott 6mo agoThe NT kernel (used in NT 3.1 through 2000, XP, and eventually backported to Windows 10/11's WSL) was designed from scratch in 1993 with a POSIX subsystem from day one. The whole design philosophy was "multiple personalities" - handle syscalls from different environments by translating them to native NT kernel calls. WSL1 in 2016 essentially reimplemented that same trick for Linux. Windows 9x, by contrast, was DOS-derived. Running Linux inside it would require fundamentally different (and messier) hacks - which is probably why nobody did it at the time. The very fact that this works at all is a testament to how ahead-of-its-time NT's architecture was. For a practical answer: you'd need something like this for legacy locked-in situations. Old medical or industrial software that only runs on Windows 98, or specialized hardware without modern drivers. That said, if you have a 486 handy in 2026, running Linux natively is almost certainly more useful than running it inside a 30-year-old DOS derivative.
- anonymars 6mo agoAll of this is true, but this is not unprecedented: after all Windows 9x was able to run DOS, and that took no shortage of wizardry Some interesting reading: 1. What was the role of MS-DOS in Windows 95? (https://devblogs.microsoft.com/oldnewthing/20071224-00/?p=24063 https://devblogs.microsoft.com/oldnewthing/20071224-00/?p=24...) 2. Why doesn’t Windows 95 format floppy disks smoothly? (https://devblogs.microsoft.com/oldnewthing/20090102-00/?p=19623 https://devblogs.microsoft.com/oldnewthing/20090102-00/?p=19...) 3. Running MS-DOS programs in a window alongside other Windows programs (https://devblogs.microsoft.com/oldnewthing/20231127-00/?p=109067 https://devblogs.microsoft.com/oldnewthing/20231127-00/?p=10...)
- shevy-java 6mo agoInteresting idea. Does it actually work? If so, didn't the guy kind of simplified WSL here? I have not tested this yet, so I have no idea - but if he managed to pull this off then this may be one of the greatest achievements this year. Or perhaps there are some restrictions to it? Does compiling stuff work in it? So many questions ... who has the answers?
- natas 6mo ago@haileys I would love to see that on ArcaOS! I bet it can't be done.
- saadn92 6mo agoThis being on the front page the same day as "Show HN submissions tripled and now mostly have the same vibe-coded look" is nice to see. One person spends 6 years understanding Win9x internals to run a modern Linux kernel inside it. The other thread is full of apps that took 20 minutes to prompt into existence. Posts like this make me happy.
- varispeed 6mo agoAnd likely the prompt itself was generated. Instead of "create me an owl app" write: "create me a comprehensive prompt to create an owl app". Then paste that prompt to next AI session.
- deleted 6mo ago[deleted]
- farmerbb 6mo agoThe project's readme states "Proudly written without AI." Love seeing this.
- larodi 6mo ago(not trying to pick a fight, but...) what difference it makes if an agent spent 100$ to understand and came to the same result, given it is those who use it that will benefit of it, and thus the craze here. note: i'm not saying author did not improve his skills overall, but also last '6 years' perhaps also means - fair amount of digging the web with search engines, which are... like AI 0.1
- TomNomNom 6mo agoThe difference is that despite the fact that I will never use this, I am nonetheless here to celebrate the effort. What difference does it make if someone runs a marathon or takes an uber given they may arrive at the same location?
- larodi 6mo agoRunning marathon is not the same as getting to a predestined destination. Try running Rome-Paris next time instead of taking the train, I guess is the same. But still not the marathon goal.
- bityard 6mo agoDirect link without the social hop-through: https://codeberg.org/hails/wsl9x https://codeberg.org/hails/wsl9x
- foresto 6mo agoThanks. Mastodon still requires executing javascript just to read a post, so I usually ignore it. https://github.com/mastodon/mastodon/issues/23153 https://github.com/mastodon/mastodon/issues/23153 https://github.com/mastodon/mastodon/issues/19953 https://github.com/mastodon/mastodon/issues/19953
- pabs3 6mo agoHere is a CLI for reading Mastodon instances, no account required. https://github.com/jwilk/zygolophodon https://github.com/jwilk/zygolophodon I've been working on a WebExtension that calls out to zygolophodon and returns plain HTML to the browser. In the process of rebasing it over recent changes but here is the working webext-old branch: https://github.com/jwilk/zygolophodon/compare/master...pabs3:zygolophodon:webext-old https://github.com/jwilk/zygolophodon/compare/master...pabs3...
- chrmod 6mo agoShouldn’t it be called Linux Subsystem for Windows 9x - LSW9x?
- tgtweak 6mo agoIf you run it in qemu, all good.
- throwaway27448 6mo agoSidebar: does anyone else find the naming of this super confusing—does this mean embedding windows in linux or linux in windows? Surely we could find a way to refer to composing operating systems that isn't inherently ambiguous. Say, "linux inside of windows" would be less ambiguous. Edit: to the people who downvoted, I corrected my spelling mistake. I will perform due penance.
- krylon 6mo agoI remember running CoLinux back in my training days ~2005-2006. It seemed a bit like black magic to me at the time, but it worked quite well for my needs. But CoLinux - IIRC - required the NT branch of Windows. I can only imagine the level of hackery it takes to make this happen on Windows 9x. Part of me wants to weep at the sheer perversity, part of me wants to burst into manic laughter. It is indeed a world of endless wonders.
- relex 6mo agoBrilliant! Bye bye M$
- f055 6mo agoThis is genius! Now I hope to run all my childhood games on a modern Ubuntu.
- nxobject 6mo agoI know there’s a small hobby industry of people creating Windows 9x compatibility shims for later Windows APIs… but who needs that when you can just run Linux apps?
- nxobject 6mo agoHuh - I didn’t know Linux had a usermode $ARCH! Or maybe it’s an earlier fork? The kernel version looks to be 6.9. (To clarify: while the kernel is actually running at ring 0, to act as a driver it seems to use the usermode profile.)
- einpoklum 6mo ago> "Much of the actual Win9x kernel integration including context switching lives in the Linux kernel." Does it live there irrespective of this project? Or is that part of the patching?
- jhallenworld 6mo agoVxDs and Watcom C... now those are names I haven't heard in a long time. Do any screen editors work in the command prompt windows? Try with "export TERM=ansi".
- tracker1 6mo agoYou'll also need to load the ANSI tsr iirc.
- firefax 6mo agowe did it fellas -- linux on the desktop
- asadm 6mo agocan i use this as Window manager for linux?
- _betty_ 6mo agono because it's linux running in windows not the other way around.
- spijdar 6mo agoWhat's a good resource going over the architecture of Windows 3.x and 9x? I know bits and pieces, like that it has a "VM Monitor", and there's support for this sort of thing, though the details are all over the place. Most people summarized Windows as just "running on top of DOS", which is clearly not correct. Obviously, it doesn't use "virtual machines" in exactly the modern sense of the word, but there's clearly something cool and technical going on, that most sources seem to gloss over. I wonder how similar this project is to "BSD on Windows": https://archive.org/details/bsd-on-windows https://archive.org/details/bsd-on-windows Also, I know about https://en.wikipedia.org/wiki/Architecture_of_Windows_9x https://en.wikipedia.org/wiki/Architecture_of_Windows_9x, but it's not really meaty enough for my taste. :)
- haileys 6mo agoI obtained the DDK from WinWorld: https://winworldpc.com/product/windows-sdk-ddk/windows-95-ddk https://winworldpc.com/product/windows-sdk-ddk/windows-95-dd... It's got lots of very thorough documentation and sample code to dig through
- ogurechny 6mo agoBefore Windows Internals book we all know (called Inside Windows NT in its first editions), there was Windows Internals and other books and articles by Matt Pietrek. It starts from disassembly of WIN.COM studying the insides of DOS to figure out under which more or less common version of MS-DOS Windows is being run. Other well known anecdotes and pieces: https://jacobfilipp.com/msj-index/ https://jacobfilipp.com/msj-index/ https://web.archive.org/web/20240318233231/https://bytepointer.com/resources/old_new_thing/index.htm https://web.archive.org/web/20240318233231/https://bytepoint...