9 ms·
Project: 2ine – OS/2 emulator for Linux
- jacquesm 9y agoBeautiful piece of work. This bit jumped out at me: "First problem: I don’t have a 16-bit code segment! Second: I don’t have a way to generate 16-bit code with GCC." I had that exact same problem writing a loader for a now defunct OS and for years I kept a copy of Borland C++ handy so that I could compile a 16 bit trimmed down version of the filesystem that would load the rest of the OS before jumping into 32 bit mode. The tricky bit was that the loader had to interact with the BIOS in 16 bit mode and I could not find a way to cleanly jump back to 16 bit mode from 32 bit mode once I got there, so multiple transitions of that 16 to 32 bit boundary were out. So instead I cut out everything from the filesystem code that had to do with writing and updating things just to read a couple of files, place them in memory, flip to 32 bit and then jump to the equivalent of 'init'. The x86 compilers of old had a whole pile of 'models' that you could write for, all with different sizes of code and data segment limits. DJ Delorie's excellent GCC to DOS port (DJGPP) was another very important tool in that whole process. Also beautiful how web.archive.org provided one of the key bits of information, I suspect that in the longer term it will be as important as WikiPedia.
- bringtheaction 9y ago> Also beautiful how web.archive.org provided one of the key bits of information, I suspect that in the longer term it will be as important as WikiPedia. Ironically, the platform that the OP post itself has been published on results in a blank page when I submit it to web.archive.org and to archive.is. OP if you are here, could you please repost your post elsewhere as well such as for example medium.com and respond with a link to it to me here so we (the users of HN - just to clarify that I have no affiliation with either of said archival services, I am just a regular user that submit URLs to them) can archive your post. It was an interesting post and I would like for it to be available in 1, 2, 5, 10 years.
- xvilka 9y agoThere is also crossplatform and still actively developed OpenWatcom [1], which can generate code for DOS and runs from all mainstream operating systems. [1] https://github.com/open-watcom/open-watcom-v2 https://github.com/open-watcom/open-watcom-v2
- dom96 9y agoHrm. As someone who wasn't alive during the OS/2 era, does anyone have or know of an overview of features that made it particularly stand out?
- jacquesm 9y agoIt was a real contender to Windows, an actual OS rather than a bunch of cobbled together APIs pretending to be an OS. It was also super stable. And it got killed in the marketplace.
- tyingq 9y agoIt competed with Windows 3.1, but had preemptive multitasking vs Window's cooperative. Often ran Windows programs faster/better than Windows. And pretty good MSDOS compatibility. For other reasons, it failed. It was the OS of choice for a lot of bank ATMs though.
- jacobush 9y agoThe way it ran Windows apps was by loading Win 3.1 under the hood. IIRC Microsoft hurt IBM with licensing here.
- newnewpdro 9y agoTrue 32-bit protected mode preemptive multi-tasking was the primary advantage over comtemporary windows at the time. People were using Desqview in MS-DOS to achieve this level of multi-tasking in lieu of OS/2. OS/2 did it better. Windows 3.1 was cooperative multi-tasking, not even protected mode if memory serves. Windows NT would be where MS tech caught up with IBM, OS/2 was out in the wild for quite some time already. But the general public didn't embrace OS/2, Windows 95 effectively killed it.
- kjs3 9y agoOS/2 was 16-bit until 2.0 (and technically still had 16-bit chunks under the hook after that). Windows NT was where MS 'forked' OS/2 after the 2.0 days; IBM and MS were partners in developing OS/2.
- yuhong 9y agoThis reminds me that when SYSCALL was modified to change EFLAGS and SWAPGS was created they only cared about Linux which didn't use call gates (not an issue for this since this API emulation runs in user mode). Also reminds me of espfix which generally is not needed for OS/2 programs to work correctly.
- newnewpdro 9y agoHaving used OS/2 for a number of years before switching to GNU/Linux, I can't recall a single piece of OS/2 native software that I miss and would like to run in emulation. The vast majority of what I (and my computer geek peers) did under OS/2 was run MS-DOS software in a multi-tasking environment. OS/2 never really got much in the way of quality native software developed for it, at least not that us poor students had access to anyways.
- krylon 9y agoI read somewhere that IBM thought by offering DOS and Windows compatibility they could lure in users, which backfired, because there was no incentive for developers to offer dedicated OS/2 versions of their software. IIRC, the main reason it caught on in banks was that those were big IBM customers to begin with, and that OS/2 offered good support for talking to IBM mainframes out of the box.
- ptx 9y agoI miss the Workplace Shell[1]. But I guess you can't really download that separately, and it doesn't make sense without the rest of the system. There was a file manager for Unix that was inspired by it – DFM[2] – but not really the same thing, and the project seems to have died a long time ago. I remember using it with IceWM in Red Hat Linux 5.0 to get something vaguely OS/2-like. :) [1] https://en.wikipedia.org/wiki/Workplace_Shell https://en.wikipedia.org/wiki/Workplace_Shell [2] http://web.archive.org/web/20120717020125/http://www.kaisersite.de/dfm/ http://web.archive.org/web/20120717020125/http://www.kaisers...
- dade_ 9y agoAt the time, being able to run windows applications on OS/2 was a big feature, so there wasn't much need for native applications. Windows 95 came out, and its apps were not compatible, so the feature ended up accelerated its demise. I used it to run my BBS, OS/2 was great for muktitasking and stability. The built in networking was great, being used to Windows 3.1 at the time. It was also very common in voicemail systems and is also used in IBM cheque scanners. I don't have any interest in running IBM Works, but there has been interest in running old BBS software lately...
- FullyFunctional 9y agoThis is impressive work, but I was particularly interested in his in-passing mention of running Linux apps on Mac. I could use that (EDA tools at best support Linux if even). Lo and behold, there's something Noah that proclaims to do this. Is there anything else? (I'm a heavy user of VMware Fusion, but that's pretty heavy weight).
- thrownaway954 9y agoeComStation is the successor to OS/2: https://en.wikipedia.org/wiki/EComStation https://en.wikipedia.org/wiki/EComStation
- orionblastar 9y agoOS/2 2.x had WinOS2 to run 16 bit programs for DOS and Windows. OS/2 3.0 did 32 bit OS2 but not Windows 32 bit. Still running 16 bit DOS and Windows programs meant that developers did not target an OS2 binary because a Windows binary was all they needed.