5 ms·
32-Bit DOS Applications (2022) [video]
- tambourine_man 3y agoWe really did have everything, didn't we? I mean, when you think about it.
- pavlov 3y agoWith 32-bit DOS extenders, VESA VGA BIOS extensions and Gravis Ultrasound, we really did have everything — except an operating system. Who needs one anyway.
- com2kid 3y agoTurns out they just get in the way, and in-between showing ads, sell your usage data to advertising companies. We were better off without them.
- anyfoo 3y agoDon't be trite in a technical conversation. While I agree that those things are bad, it adds nothing here, and besides only a minority of Operating Systems does what you say.
- anyfoo 3y agoYeah. Until we wanted multitasking. Separate address spaces, shared resources, protection, eventually security. That's when the "operating system" came in. DOS was allowed to live as a virtualized task, but it wasn't the same. I did get tambourine_man's reference, though. Nice!
- linguae 3y agoThough, there’s a way we can enjoy a minimal operating system yet also have security, protection, and resource management: https://en.m.wikipedia.org/wiki/Exokernel https://en.m.wikipedia.org/wiki/Exokernel
- mysterydip 3y agoAll it was missing was an (optional) network stack, IMHO
- toast0 3y agoNDIS was available for DOS, and so was ODI (used for IPX and Netware)
- pjmlp 3y agoLooking at the maker community doing bare metal on Arduino and ESP32, a bunch of libraries is good enough for many tasks.
- Dwedit 3y agoWe even have HxDOS, which runs Win32 applications, including console applications. For example, even a modern version of 7-zip (console version) runs perfectly on ancient DOS computers.
- mysterydip 3y agoNow apparently just called HX, for those (like me) looking for it: https://pmwiki.xaver.me/drdoswiki/index.php?n=Main.HX-DOS https://pmwiki.xaver.me/drdoswiki/index.php?n=Main.HX-DOS
- ale42 3y agoNow I just want HX running directly on UEFI! ;-)
- garganzol 3y agoThis is something I was able to achieve independently back in 2001 by writing a small DOS program that switched CPU into 32-bit protected mode, loaded a PE (portable executable) exe file into the memory together with DLL modules it depended upon. The next step was to write KERNEL32.dll etc modules that were used by executable files of interest. It turned out to be a relatively easy task - only a handful of Win32 modules and their API functions were actually used by the real programs I was trying to run under the DOS. And those API implementations were mostly stubs that translated, say, I/O calls from a program into corresponding DOS calls. Having that trick upon my sleeve, I vividly remember of being able to run 32-bit Borland C++ compiler (bcc32.exe) and linker for Windows under the raw DOS environment. Don't ask why, I did it because I could.
- Dwedit 3y agoWhen you ran a game and saw "DOS/4GW Protected Mode Run-time", you knew you were in for a good time.
- jbverschoor 3y agoI was so happy with my Watcom C compiler after Borland. Made me feel like a pro.
- Narishma 3y agoOr a bad time if, like me, you only had a 286.
- astrodust 3y agoInterestingly the 286 had a protected mode but very few applications ever used it. There were upgrade kits with then stupid amounts of memory, like 16MB, for then astronomical prices. I wonder how often those were used for anything.
- WalterBright 3y agoI used Rational Systems' 286 DOS extender a lot. It was a great boon to writing programs, because it would seg fault on a bad pointer access.
- phire 3y agoInformation about Rational System's 286 extender seems to be limited. What I found: Rational System were later renamed to Tenberry and their DOS/4G and DOS/4GW extenders were very popular (due to the latter being bundled with Waycom C). But they were for the 386. The version that worked on the 286 was called DOS/16M, because it supported 16MB of address space. Someone summarises the API here [1]. I was kind of hoping someone might have uploaded the manual to archive.org, but no luck. [1] https://groups.google.com/g/comp.sys.ibm.pc/c/zkgdj84bRkE/m/iYCdsWhhOkYJ?pli=1 https://groups.google.com/g/comp.sys.ibm.pc/c/zkgdj84bRkE/m/... Apparently it was called DOS/16M and the company was later renamed to
- LeoPanthera 3y agoToday, "DOS/32" replaces DOS/4G and can even patch out the older runtime in binaries. https://github.com/yetmorecode/dos32a-ng https://github.com/yetmorecode/dos32a-ng
- tambourine_man 3y agoAside from the software, I’d love a modern version of this laptop too. Sturdy keys with lots of travel, just the right screen size. Imagine a unibody built of this form factor, with modern SSD and RAM. The amount of battery one could fit in at that thickness would last you a week in a single charge.
- rep_lodsb 3y agoThe 32-bit registers are accessible in real mode too, it only requires a prefix to each opcode (and the same is true when using the 16-bit registers in 32- or 64-bit mode). There is also no restriction on using the FS and GS registers in real mode, they work like any other segment register. There really is surprisingly little difference between real and protected mode, it mainly affects how segment registers are loaded. Internally, each segment register has a base and limit field that is used the same regardless of mode. Loading a segment register in real mode sets the base to the value shifted left by 4 bits, but leaves the limit unchanged. By briefly entering protected mode and loading descriptors with a limit of 4 GiB, it would remain that way after switching back to real mode, giving access to the full address space (this is called "flat real", "unreal", or "voodoo" mode).
- jmclnx 3y agoMicrosoft c/c++ 7.0 compiler/linker is a 32bit application. I still have it and hope to see if I can get it working under FreeDOS. The docs are great.
- markus_zhang 3y agohttps://winworldpc.com/res/img/screenshots/29213296f35729c466c3a6553e5e9c9593d84cb8c42626b6377b008cad20e023.jpg https://winworldpc.com/res/img/screenshots/29213296f35729c46... Man this is good time. I wish nowadays we has such documentations.
- pjmlp 3y agoAs historical note, it was also the last MS-DOS compiler to add support for C++, among all compiler vendors.
- liendolucas 3y agoOh boy, when you see those game requirements. Today gamers would change GPUs not every year or so but kind of. Those software rendering engines are true gems because the guys who worked on them literally pushed CPU and RAM to their limits and beyond. Is also a reminder of how much you can do with so little. I highly respect and admire people that grew up chewing up assembly during the 80's and 90's, wished I had that pleasure.
- liquidgecka 3y agoI worked in the qualification department for a large memory company around y2k. We ran thousands of computers with samples of all our memory so we could spot issues early. One of our best tests was running Quake in a pre-recorded speed run mode. It could run through in about a minute or so. It torched the CPU and memory and was great at seeing if a system was going to have issues. =)
- liendolucas 3y agoI guess that must be one of the most entertaining "unit tests" that you can imagine of!
- chromoblob 3y agoIt is never too late, you can do this any time today if you want to.