VOGONS

Common searches


First post, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi there!

Just did a bit of experimenting again!

Found a copy of the MS Windows Libraries for OS/2 (WLO, "Willow"), a Windows compatibility layer for 16-Bit OS/2.
- Don't panic, it's nothing scarry - wlo10.zip is mentioned in the Wikipedia article, even!

Long story short, the compatibility layer works by providing a set of the core DLLs of Windows.
(user.dll, gdi.dll, kernel.dll, keyboard.dll, system.dll, sound.dll, win87em.dll and some willow DLLs)

The interesting part is how this is implemented, I think.
Willow EXE files seem to include a special stub in the executable header, which loads Willow if run on OS/2.
Otherwise, Windows 3.x runs the code natively (if it's running).
On DOS, the usual error messages may appear (runs MZ stub), I *guess*.

So essentially, this was like a predecessor to Win-OS/2! Yay! 🥳
Programs compiled with Willow could run directly on Windows 3.0 and up and on OS/2 1.21 and later.
- An important requirement was that these applications were Real-Mode friendly. This may or may not included "clean" Win 2.x programs.

So programs compiled/linked with the Windows SDK or Borland Turbo Pascal for Windows (TPW) may have been compatible.
Speaking under correction, of course. Haven't tried so far. If anyone did/does, please let me know! 😁

Note: TPW has the ability to create true 8086 binaries, even. Even though the IDE doesn't run on an 8088/8086 PC itself or in Windows Real-Mode.
The popular Visual Basic 1.0 needs a Standard-Mode or higher to run, as well. So this is normal. This is also true for it's runtime and the the created EXE files.
Anyway, both run on old dusty Windows 3.0, at least. Which is really cool, I think, even though Windows 3.1 runs circles around it! 😄 👍

If you're familiar with 16-Bit OS/2, you will maybe say to yourself: "Wait! Weren't there OS/2-DOS hybrid applications ?!"
You're right. They were there. Some programs like PDS 7.x (a QuickBasic/VBDOS sibling) supported creating them,
causing trouble on later Windows NT releases with a damaged OS/2 sub system (NT tries to run them directly, not like DOS would).

These were hybrid programs using the socalled "Family API" - a cut-down OS/2 runtime baked into special DOS applications.
Those OS/2 command line programs (or rather, non-Presentation Manager programs) could run under plain DOS.

Executable overview:
Older CP/M era .COM files are headerless and can handle 64KB of data (one 8086 segment). Some use CALL5 interface.
MS-DOS and friends use MZ for EXE files. The format is usally used for larger 16-Bit programs. First real executable format (on DOS).
Both 16-Bit Windows and 16-Bit OS/2 use the NE format (New Executable).
32-Bit OS/2 uses the LX format (Linear eXecutable), which is also used by DOS extenders and certain Windows drivers (VXDs).
32-Bit Windows uses PE format (Portable Executable), a distant relative of LX. The ODIN loader Win32k.sys converts Win32 PE to LX in memory.

As far as Willow goes.. It's similar. I wonder if hybrid-applications like SETUP.EXE (MZ and NE header, has DOS and Windows 3.1 program)
could still be assembled with the Willow runtime. An executable with multiple applications would be cool
(Native DOS and/or OS/2+DOS Family API, Willow loader+Win 3.x application)..
- Yeah, I have a really perverted phantasy, haha. ^^

Speaking of, I really wonder what happens with Willow applications on Windows NT..
Will they be run via Windows on Windows (WoW) or by the OS/2 side ?
I mean, if the Presentation Manager is installed and working, it could be run on either side.
The irony is, however, that Windows on Windows runs a copy of Windows 3.1 (more API features).
It's Presentation Manager personality would have to work with the Windows 3.0 level API provided by Willow.

Last, but not least there's something that makes me wonder: Is the sky the limit ?
Willow seems like a relic to us perhaps, but what could it have been like to professionals ?
Especially if it was released two years earlier?

Windows 3.0 as such supported Expanded Memory (EMS), which in its LIM4 version could handle up to 32MB of RAM.
That's twice what the 80286 could address physically (16MB; virtual memory is 1GB).

So how much memory could Willow applications really handle? Real-Mode code or not.
OS/2 v1.3 was a mature release and fully supported the 80286 processor, including virtual memory
and all x86 protection schemes (rings), printer spooling , the HPFS file system.

And a professional workstation or server running OS/2 1.3 probably saw much more resources
than any other 16-Bit system of its time.

Best regards,
Jo22

PS: We can be glad that the Power PC version of OS/2 failed, maybe. Because (as far as I know) it had dropped support for 16-Bit OS/2 applications.
Considering that the majority of interesting OS/2 programs, sample code snippets and utilities were from the 16-Bit era,
a success of the Power PC release would have had killed off the legacy of OS/2 even more than the "failure"* of OS/2 did already.
Willow was a 16-Bit system, as was the Family API, the Presentation Manager add-on for Windows NT (a port of OS/2 v1.3 Presentation Manager) etc.

(*The x86 version of OS/2 Warp 4 still lives on in eCS and ArcaOS, including 16-Bit support for the trio.)

Edit: Title slightly altered "(and stuff)", since things went a bit off-topic.

Attachments

  • willow_ecs4.png
    Filename
    willow_ecs4.png
    File size
    146.26 KiB
    Views
    3578 views
    File comment
    Read me!
    File license
    Fair use/fair dealing exception
  • willow_ecs3.png
    Filename
    willow_ecs3.png
    File size
    181.35 KiB
    Views
    3578 views
    File comment
    Now together!
    File license
    Fair use/fair dealing exception
  • willow_ecs2b.png
    Filename
    willow_ecs2b.png
    File size
    137.26 KiB
    Views
    3578 views
    File comment
    Windows 3.0 Clock on WIN-OS/2
    File license
    Fair use/fair dealing exception
  • willow_ecs2.png
    Filename
    willow_ecs2.png
    File size
    212.74 KiB
    Views
    3578 views
    File comment
    Windows 3.0 Clock on OS/2
    File license
    Fair use/fair dealing exception
  • willow_ecs1.png
    Filename
    willow_ecs1.png
    File size
    239 KiB
    Views
    3578 views
    File comment
    The "applets"
    File license
    Fair use/fair dealing exception
Last edited by Jo22 on 2023-02-25, 07:50. Edited 1 time in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 1 of 151, by davidrg

User metadata
Rank Member
Rank
Member

IIRC, WLO doesn't have any fancy stubs or anything like that. It's even simpler.

16bit OS/2 and Windows 3.0 use the same executable format - NE. If you try and run a 16bit windows exe on OS/2 it will load the exe, try to load all the DLLs it references just as it would with any other native OS/2 application. With a windows application this will of course fail because none of the Windows DLLs like USER and KERNEL exist on OS/2. WLO supplies those DLLs allowing the Win16 exe to run as a native OS/2 application.

There are some other details - there are flags in the NE header that mark the app as being a windows or OS/2 app. Normally running a windows app on OS/2 would produce a potentially incompatible app warning. There is a WLO flag that suppresses this warning.

Edit: and out of the box NT doesn't have presentation manager (the OS/2 GUI stuff) so no GUI OS/2 app will run on NT, WLO or not. The very obscure presentation manager add-on for NT 3.x though making this an interesting question. My guess is it would run as a win16 app on NT because WLO apps *are* win16 apps.

On OS/2 2.0 and newer WLO apps will run with Win-OS/2 when started from the GUI where as I think they'll run with WLO when started from the console

Reply 2 of 151, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thanks a lot for your reply! 😎

A few hours after my original posting, I've read an interesting thread at Beta Archive.
https://www.betaarchive.com/forum/viewtopic.php?t=14196

I'll continue experimenting and see if I can replicate what this user did accomplish. 😄

The concept of creating NE's that can execute both on a low-end PC/XT running Windows 3
and on one of my upgraded PC/AT compatibles running a real and powerful OS (OS/2) seems fascinating.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 151, by davidrg

User metadata
Rank Member
Rank
Member

if you're interested, there is a bunch of OS/2 research going on in NCommanders discord server (https://discord.gg/V8esNah) and being documented on the associated wiki.

Reply 4 of 151, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2023-02-04, 05:01:

PS: We can be glad that the Power PC version of OS/2 failed, maybe. Because (as far as I know) it had dropped support for 16-Bit OS/2 applications.

As far as I know, OS/2 Warp PowerPC Edition has no support for x86 OS/2 apps at all, neither 16-bit nor 32-bit.
The x86 emulator only works for DOS stuff, including Win-OS/2.
According to this article - http://ps-2.kev009.com/michaln/history/os2ppc/index.html - "Documentation hinted at a possibility of future support for native OS/2 x86 applications via emulation", but it never happened, the PowerPC Edition never got completed.

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść no moja górę, lecz i w tym, ze ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 5 of 151, by Jo22

User metadata
Rank l33t++
Rank
l33t++
davidrg wrote on 2023-02-05, 01:02:

if you're interested, there is a bunch of OS/2 research going on in NCommanders discord server (https://discord.gg/V8esNah) and being documented on the associated wiki.

Thank you again, sir! This is very useful information and new to me! 👍

The sample applets I ran on my eCS installation before, ran as reported in the linked Wiki.

Win-OS/2 (run.. in Program Manager) ran them natively, the DOS prompt got the error message and a "please wait".
Apparently, the application tried to boot itself by running WIN command (old Win16 applications had that bad habid).
The OS/2 prompt, ran them natively, just like the GUI.

In my humble opinion, that's the way to do it, because it's logical.
If a Windows application calls another EXE, another Windows program should be loaded, if possible.
Same goes for OS/2 side. One OS/2 program should call another one, if possible.
That way, data exchange and communication is possible without trouble/unexpected behavior.
- Even with the WLO DLLs being used, it's still a native NE execution.
Win-OS/2 uses a V86 VM, by contrast. And uses its own codepages, memory managment etc.
There's a lot more going on that might alter clipboard data or DDE/OLE (the basic 2.x or 3.0 version of them, I mean).

Not sure about other, "real "WLO applications, of course. No idea if they behave the same way.
I'm curious to find out someday. The Wiki says the behave a bit different, if I read the text correctly.
Well, at least they did back then under the OSes they were meant to be on.

If WLO was considered to be going to be too limited at the time (Windows 3.0 and Win 3 MME were outdated in late 1991 and 1992),
it made partially sense to IBM or Team OS/2 that Win-OS/2 was prefered as a platform for such an execution.
At the time, OS/2 2.1 was updating its Win-OS/2 from version 3.0 to 3.1, if my old books are correct.
So the need for Willow was not as urgend anymore. Except for users of the Red Spine, maybe. 😉

It also was the time when OS/2 got the fancy new 32-Bit VGA drivers.
I vaguelly remember there even was beta patch for OS/2 2.0 to try them out.
This was before GRADD, I think. That was another great thing that we got in a stable form in Warp 3.

Grzyb wrote on 2023-02-05, 06:49:
As far as I know, OS/2 Warp PowerPC Edition has no support for x86 OS/2 apps at all, neither 16-bit nor 32-bit. The x86 emulator […]
Show full quote
Jo22 wrote on 2023-02-04, 05:01:

PS: We can be glad that the Power PC version of OS/2 failed, maybe. Because (as far as I know) it had dropped support for 16-Bit OS/2 applications.

As far as I know, OS/2 Warp PowerPC Edition has no support for x86 OS/2 apps at all, neither 16-bit nor 32-bit.
The x86 emulator only works for DOS stuff, including Win-OS/2.
According to this article - http://ps-2.kev009.com/michaln/history/os2ppc/index.html
- "Documentation hinted at a possibility of future support for native OS/2 x86 applications via emulation",
but it never happened, the PowerPC Edition never got completed.

Ah, I see! That's even worse, maybe. So it was akin to Windows NT and NTVDM/WoW on RISC.. Well, it makes sense.
Win-OS/2 , in Standard Compatibility Mode, at least, is very tame and doesn't need a fancy emulator.
OS/2 on the other hand.. It's very obscure and makes use of a lot of 286/386 black magic (all x86 rings, tripple faulting a 286 etc).
(Btw, if Win-OS/2 was fully working on the PowerPC port - I wonder if Win32s could be installed, as it was possible with the 80386 version.)

Windows NT, on the other hand, had the ability to run Win32 x86 applications on RISC via that strange FX! 32 add-on.
Later versions, in the Microsoft Surface days, had an optional Win32 emulator for x86 applications, I recall.
That ARM Windows was very shortlived, though. And the emulator was on i386 level (no kidding!) - no MMX, no SSE, no x64.. No DirectX.
About ten years ago I said to myself: "Hey, IrfanView can run on that! And.. uhm.. well.. MOD4WIN can't."

About the same time, there was an Windows IoT for the Raspberry Pi *I think*, which could be modified.
It also had the ability to run Win32 applications via emulation, I think.

Now we have Windows on ARM, which is based off Windows 10/11..
It can be virtualized on M1/M2 Macintoshs currently via Parallels Desktop/VMWare.
This currently inofficial release also has an emulation module for x86 Windows applications - both 32-Bit and 64-Bit.
So it can run ARM and x86/x64 applications, even with DirectX.
Win16 support could be provided through a new NTVDM/OTVDM release, maybe.

Edit: Thanks for the link - it's a mirror of the site Wayback had archived (incompletely).
I think I remember it from the 2000s, there's a vague picture of the Bricks screenshot in my mind.
There are a few things which I disagree in this "Why OS/2 failed" column.
The hardware requirements weren't the problem, not primary one.
DesqView etc. required lots of RAM, too and users didn't complain about it.
http://ps-2.kev009.com/michaln/history/failed.html

I think it mainly was the lack of software that was the reason for the issue.
The different x,y coordinate system in relation to Windows wasn't the problem, either.
The OS/2 PM did use the same scheme as mathematicans do on a piece of paper (bottom-left).

Personally, I think it was the required SDK mainly. The SDK for OS/2 was very expensive in relation to what's needed to write DOS applications.
On DOS, you can use GW-BASIC or QBasic to get started. Or Debug.exe, an hex editor, an Assembler.
Or use one of the many shareware compilers, batch compilers, demo versions etc.

Not so on OS/2. There wasn't anything meaningful available. To the public, I mean.
Programmers at IBM had access to all the SDK stuff and wrote little games, tools, etc.
Way back in the late 80s, already. They were included on shareware CDs in the mid-90s first time, sadly..
If mortals had access to WLO or other OS/2 application builders, OS/2 wouldn't had failed the way it did.

Free demo versions, like with "The Windows 3.0 Test Drive" or the free Windows 2.0 runtime
(as part of Aldus Page Maker 3.0, Balance of Power) also helped Windows gaining ground.
If IBM just had a less strict, a less contract-oriented mindset at the time. If the company had been less stiff..
Heck, even to me as a German, IBM was acting waay to accurate and strict. 🙄

PC/GEOS had the same problem, I think. Geoworks Ensemble 1.0 was made on a $3000 workstation.
That's why no one wrote applications for it. No one could. No hobbyist had the money or hardware required.
Users started to write applications as soon as there was a BASIC compiler, years after GEOS was dead.
Even GEM for the Amstrad PC 1512/1640 shipped with a fine port of Locomotive BASIC. If it only was a compiler! *sigh*

By comparison to OS/2, Windows/DOS applications could be created with various third-party software.
Let's think of Visual Basic, dBFast, FoxPro, TPW, Profan on Windows; Turbo Pascal, Turbo Basic, Power Basic etc. on DOS.
The high-end versions of the Microsoft compilers supported OS/2 family API executables, too.
Like PDS 7.1, a descendant of MBASIC/BASCOM compiler with QB45 compatitbility.
Which all in all didn't really help, either, I think.

For DOS/Windows, Microsoft even gave out the basic documentation and code snippets free of charge, way back in the 80s.
And there were lots of MS-DOS compatible OSes to choose from. DOS Plus, PC-MOS/386, DR-DOS, PC-DOS etc.
So DOS as a platform, provided a degree of independence to developers.
Like CP/M did in the past (various implementations existed, the API/ABI was known).
Or in other words, DOS development seemed future-proof. Like the PC platform itself did due to its ever lasting backwards-compatibility.
A dual DOS+OS/2 binary or dual Win+OS/2 binary was a way in the right direction.

Unfortunately, IBM didn't realize this. Unlike Team-OS/2, which sadly wasn't being heard as much as needed.
IBM really was totally focused on the business sector, the pricing and everyhting that goes with it reflected it all the time.
The company failed to realize what it had. Like Commodore (CBM) did with the Amiga platform.
Instead of improving/establishing a product of quality (Amiga, OS/2) both focused on what
sold easily or best (PC-DOS ? and Java/Client-Server stuff, C64)..

Edit: There was one fine RAD IDE for 32-Bit OS/2 which I remember, because my father had a copy of it (a big box with manuals etc).
Visual REXX, a very sophisticated yet easy to use development software. Like VB6 for OS/2, but years before VB6.
Unfortunately, it wasn't cheap. Not in the range for hobbyists, unlike VB3.
It's now Freeware, apparently. https://ecsoft2.org/visual-rexx

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 151, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2023-02-05, 07:51:

There are a few things which I disagree in this "Why OS/2 failed" column.
The hardware requirements weren't the problem, not primary one.
DesqView etc. required lots of RAM, too and users didn't complain about it.

The hardware requirements were HUGE problem!

OS/2 1.x was 16-bit, clearly meant for 286, but... unable to run on like 95% of 286 machines, as they only had 1 MB of RAM.
Also, the most popular graphics in 286 clones was Hercules - supported by almost all software, but consistently ignored by IBM, and never supported in OS/2.
No wonder the only notable use of OS/2 1.x was as the base for LAN Server or LAN Manager.

And then there came OS/2 2.0 - Re: IBM OS/2 2.0 turns 30 this month

DesqView... indeed, I've never seen anybody complaining about it, but I've never seen anybody using it, either 🤣

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść no moja górę, lecz i w tym, ze ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 7 of 151, by Jo22

User metadata
Rank l33t++
Rank
l33t++

If you, the user, merely has a lousy 1MB in your AT class computer, then you're better off running CP/M, anyway.
It also works nice with mechanical typewriters on a serial port, so you don't need to waste money unnecessarily on a monitor and graphics card..

1MB of RAM. Jesus. That's what late Turbo XTs had for using shadow memory or providing EMS.

My 286 had 4MB in 1994, about enough for a smooth Windows 3.1x experience.
- If I have had the opportunity, I would have given it even more, not caring about money.
But I think there were merely 4 slots in total (2 banks, 2 SIMMs each), so 4MB were the maximum.
A dedicated ISA board with memory would thus have had been required.

1 MB.. Jesus, Mary and Joseph! 🙂🙏
That's barely enough for running '87 PC-MOS adequately..
In multi terminal mode, I mean. With printer spooling enabled.

Anyway, I guess setting such priorities was what did set home users and advanced users and professionals apart. 🤷‍♂️

In places were larger amounts of data is being processed, RAM and storage space and connectivity have/had priority over raw CPU power.
Let's just think of Lotus 1-2-3 and the invention of EMS.

Running even a simple file server in a small office requires more than 640 KB or 1MB.
By mid-late 1980s standards, I mean.

Edit: An eventually enabled printer sharing caused a lot of traffic, too.
Maybe even more than normal file transfer.

The MP/M version of CP/M supported at least 2MB out of box via bank-switching.
In 1979/1980 or so. The 8-Bit versionfor the 8080/Z-80, I mean. 🙂

Edit: Hercules.. Of course, it made sense it wasn't being supported!
Hercules, the company, made big money with its unlicensed MDA clone.
IBM didn't support non-IBM technologies, even if they didn't have held a grudge against Hercules.
Not until OS/2 2.0 and up which was being developed by Team OS/2.
That's when third-party support slowly was being underway, I think.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 8 of 151, by davidrg

User metadata
Rank Member
Rank
Member

I think WLO was Microsoft's strategy to porting Win16 stuff to OS/2, not IBMs. At first they used it to port their own products (Word, Excel) to OS/2, and later just before the split they released a more polished beta that was a bit more flexible.

According to Gordon Letwin (the lead OS/2 architect at Microsoft who also wrote the HPFS filesystem and some books on OS/2), IBM hated Windows and refused to have any sort of Win16 API compatibility in the product which ultimately lead to Microsoft and IBM parting ways. It wasn't until after the split that IBM changed direction and decided on Win-OS/2.

Reply 9 of 151, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2023-02-05, 20:50:

If you, the user, merely has a lousy 1MB in your AT class computer, then you're better off running CP/M, anyway.

I would say that an AT with 1 MB RAM is already asking for a protected mode OS.

A real mode OS is limited to 640 KB, or 704 KB with the HMA.
Let's assume the OS occupies 100 KB.
So, we're left with 540 or 604 KB free for the userland.

Of course, a protected mode OS needs more memory - let's assume 200 or 300 KB.
The result would be: 724 or 824 KB of free memory. PROFIT!

The problem was that OS/2 used much more than double or triple of what DOS used...

My 286 had 4MB in 1994

So, you were able to use OS/2 1.x when it was already obsolete.
OS/2 2.0 (1992) was still beyond your reach.

1 MB.. Jesus, Mary and Joseph! 🙂🙏 That's barely enough for running '87 PC-MOS adequately.. In multi terminal mode, I mean. Wit […]
Show full quote

1 MB.. Jesus, Mary and Joseph! 🙂🙏
That's barely enough for running '87 PC-MOS adequately..
In multi terminal mode, I mean. With printer spooling enabled.

Anyway, I guess setting such priorities was what did set home users and advanced users and professionals apart. 🤷‍♂️

Not all computers used by professionals are servers.
In late 80s/early 90s, 1 MB RAM was perfectly OK for a regular office workstation.

If OS/2 was seriously intended to replace DOS, it was logical to make it work on an average PC.
Note that the most successful version of OS/2 was Warp 3 (1994) - exactly because an average machine from mid-90s was finally ready to run it!

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść no moja górę, lecz i w tym, ze ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 10 of 151, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Grzyb wrote on 2023-02-06, 03:27:
Jo22 wrote on 2023-02-05, 20:50:

If you, the user, merely has a lousy 1MB in your AT class computer, then you're better off running CP/M, anyway.

I would say that an AT with 1 MB RAM is already asking for a protected mode OS.

It depends, I think. 640KB were not enough to most DOS programs alone, single-tasked.
I'm not eager to see how a multi-tasking scenario would look (struggle) here.

Expanded Memory came to help early on to circumvent the limited address space. To help DOS.
One of my AST RAMPage boards from the 80s is fully equipped, it has 2MB.
That's something meaningful, something to work with.
And that was a period-correct config, I didn't add anything.

A real OS, using Protected Memory, would nolonger need to rely on this kind of bank-switching entirely.
The hardware could directly address the memory, if the physical bus allows addressing it (16-Bit ISA).

That's essentially what DOS extenders did.
They were miniature OSes, bridging the Real-Mode DOS/BIOS and Protected-Mode.

Himem.sys was like a gripper arm - operated by DOS applications, it reached out of the 1MB boundary.
Where it grabbed a small block of money and brought it back. The specification for this was named XMS.
This worked by Himem.sys either going into Protected Mode and back or by using LOADALL.

The original PC/AT BIOS had the ability to access Extended Memory, as well.
There was a function via int 15h, which did the required Proctected-Mode/Real-Mode switch.
However, it was cumbersome to use and slow by comparison.

PS: By the way - Windows 1.x and 2.x applications were constantly running out of memory, way back in the 80s.
Of course, a home user could cramp Windows itself into the memory of a 640KB PC/XT or 1MB AT/286 and it would run.
But what about the programs? I'm not talking about calc.exe, notepad.exe and clock.exe.

Let's think of Aldus Page Maker or PC Paintbrush. Without the help of Expanded Memory, most projects couldn't be loaded.
That's why they supported it. 1MB or rather, 640KB base + 384KB extended may have not been enough in practice.
The 640KB are already being used up by DOS, Windows and the application, leaving the remaining memory to the application's working data.
If Shadow Memory was enabled, at least 64KB would be lost to BIOS, then 24 to 32KB to the VGA BIOS.
Leaving about 300KB.. This may or may not have been sufficient for the DTP work.

But if a 20 page magazine with graphics was being written/designed in Page Maker, then maybe more memory was needed.
Also, what about networking - large projects may not fit on floppies, but could be shared via a simple network.
Even if it merely was a null-modem connection and some shareware program for a remote drive.
Such a network utility needs how much ? Another 50 to 150KB of memory ?

The font files must also be considered. In the Windows 1.x and 2.x days, the fonts on screen did depend on the printer drivers.
So if you forgot to install a printer during Windows installation, many important fonts were not installed/loaded.
I'm assuming that's what many retro people don't know these days when they try out 80s Windows first time.
They likely select printer: none during setup instead of selecting HP Deskjet connected to a file output.

Edit: Here's a link to an older posting of mine about the requirements for Aldus Page Maker on Windows 2.0 (it shipped with a Windows 2 runtime).

It's not a prime example for Windows applications, maybe, but it is at least is an evidence that I'm not making things up.

Re: Feeding low end RAM to the scrappers?

I'm not angry (not about you, not in general), nor do I want to be right all the time.
In fact, I'm a person who had made many mistakes in life, far from being perfect.

I'm merely speaking in defense here, to prove that there sometimes existed
a real need for a few MBs of RAM in the DOS/Windows days.
Before OS/2 and strong multi-tasking were a thing.

The multi-tasking operation in 16-Bit Windows was more like multi-application operation, really.
With lightweight programs, the cooperative multitasking model worked fine. Even quicker, often.

Say, running clock, writing a letter in WinWord, using calculator and have the terminal in background receiving a document by your agency via acoustic coupler.
That really worked.

But once you ran Gupta's SQLWindows simultaneously, maybe not so anymore.

One program in foreground might have been using so much resources that the other programs froze.
OS/2 was trying to fix this, among other things.

That's why I found Willow so fascinating, as a concept.
One and the same program could run on a a simple PC with 16-Bit Windows, and in a professional environment on OS/2.
If only IBM hadn't messed this up. *sigh*

Grzyb wrote on 2023-02-06, 03:27:
[..] A real mode OS is limited to 640 KB, or 704 KB with the HMA. Let's assume the OS occupies 100 KB. So, we're left with 540 o […]
Show full quote
Jo22 wrote on 2023-02-05, 20:50:

If you, the user, merely has a lousy 1MB in your AT class computer, then you're better off running CP/M, anyway.

[..] A real mode OS is limited to 640 KB, or 704 KB with the HMA.
Let's assume the OS occupies 100 KB.
So, we're left with 540 or 604 KB free for the userland.

I see. We're still sitting in the sand pit with our CGA PC-clone. C64 and ZX Spectrum are watching us.

Grzyb wrote on 2023-02-06, 03:27:
Jo22 wrote on 2023-02-05, 20:50:

If you, the user, merely has a lousy 1MB in your AT class computer, then you're better off running CP/M, anyway.

[..] Of course, a protected mode OS needs more memory - let's assume 200 or 300 KB.
The result would be: 724 or 824 KB of free memory. PROFIT!

Cool. We now can run many C64 programs at once. And one or two PC applications, alternatively.
If not, uncle MemMaker and aunt Qemm will come help us. 🙄

Just kidding. 😀

But you still think in a DOS box (pun intended), it seems to me. 🙁
As if a lousy megabyte was somehow great if it only was wisely used, I mean.

That wasn't the case. Ataris and Amigas with 512KB were running out of memory already,
the planned 256KB Atari ST model of the mid-80s couldn't leave factory, even.
Of course, they didn't have the 640KB barrier, either.
So there was no need to keep memory count low from the manufacturer's side.

What comes to mind in this context:
Between 1987 an 1990, 1 MB, 2MB and 4MB versions of the Mega ST were being sold.
Older releases were being updated (retrofitted) by their users, as needed.

https://www.old-computers.com/museum/computer.asp?st=1&c=165
http://www.computinghistory.org.uk/det/48869/Atari-Mega-4/

Of course, the Mega series was not aimed at the home users, at the children playing Monkey Island.
But these models existed, were not exotic. Their higher amount of memory was useful, if not required by an application.
There also were multi-users versions of TOS that either required the extra memory or could use it well. MagiC, MiNT, Geneva etc.
Source: http://www.mbernstein.de/atari/system/overview.htm

When it comes to PCs, what I really mean to say (please let me explain my point of view):
Once you start to virtualize and buffer physical devices in an OS, you need some buffers in RAM.

- There are multiple background processes running (scheduler, kernal, spooler etc)
- The OS has to save/restore the video memory (4KB up to 256KB)
- It must run copies of the command line interpreter, one or each session/terminal
- There are environment variables to keep care of
- Network stack needs space; the ethernet card may needs a larger i/o space in memory, as well.
- ...

And that's merely for a DOS-style "OS". A weird construct which uses software interrupts for its API.
If we're going graphical, we may quickly encounter so-called dynamic link libraries.
Each of those little beings contains functions, sub routines so to say.

(OS/2 v1.1 had about 39 of them in the DLL directory, each holding useful code.
All in all, there were ~170 files that OS/2 v1.1 consisted of. Versus 3 in PC-DOS.
COMMAND.COM, IBMBIO.COM, IBMDOS.COM..)

Each time an application or part of the OS needs such an useful function, a DLL must be loaded.
Not forever, maybe, but it must be loaded on a free spot in memory so the function(s) can be executed.
That memory must be allocated first, experts would say.
If there's plenty of memory available, the memory manager or loader program can do that quickly.

On our C64-PC with 1MB total, this might not be so easy.
Everything is so crowded, because the user was both penny wise and pound dumb.
DLLs that were already previously loaded, but not currently required, must be unloaded (or swapped-out).
Which causes fragmentation in memory. Then, after clean up, the new DLL can be loaded.

That's similar to what Norton Commander does, with its NCSMALL utility, I assume.
Albeit on a much simpler levels (NC stays unloaded aslong as the application is run, then loaded again).
Other DOS programs of the day used overlay files (OVL), if I remember correctly.

Now, on a 286 we have a little friend called Memory Managment Unit (MMU).
It can help us to manage memory. OS/2 made use of it, unlike DOS did at the time.

Instead of using physical addresses, the MMU allowed the OS to use virtual addresses.
By making use of this, application code nolonger had to be overwritten or copied from A to B.
Instead, pointers/selectors etc changed, as needed. Ironically, this is a bit akin to good old EMS again, which uses mapping.

However, by using virtual memory we were still not freed from having to rely on a storage medium for the actual code/data.
Which, of course, is/was the fixed-disk. Which is/was even slower than RAM. Especially if it was MFM/RLL. With the wrong interleave-factor.
Anyone who ever used an HDD-based EMS simulator (LIMulator) can likely relate to this experience.

We must manage all the code/data that gets swapped to disk and loaded back into memory.
The MMU in the 386 had an extra feature for this - the Paging Unit.
It allowed swapping pretty much on the fly, with way less house keeping work for the OS.

All in all, this ensured that the operating system and the applications could keep woking even if the physical RAM was getting low.
Hower, it didn't mean that having little RAM and big swap file was fine. The virtual memory merely kept the system from collapsing.
It was a support, not a replacement. Batman had Robin as a side-kick, too.

Well, it worked at least if the HDD kept responsing in time. If the time out was too great, the OS could still freeze or completely halt.
That's what still happening with modern OSes, like Windows XP. And it's good, I think.
A frozen system is better than data corruption causes by an overloaded system.

Grzyb wrote on 2023-02-06, 03:27:

The problem was that OS/2 used much more than double or triple of what DOS used...

No, think the problem was that home users had no concept about proportionality.
They applied the same needs of a glorfied bootloader aka DOS to that of a sophisticated operating system.

Or in other words, they tried to carry over their C64 experience in the bed room to a real computer and the environment it operates in.
They think that an OS shouldn't need more resources than Monkey Island or Commander Keen running on a fast PC/XT (-> 286 with 1MB).
To them, a program either fits into memory or it does not. The game runs or it does not. But that's not how things work in real life.
PC compatibles were used for serious tasks, tasks on which things did depend. And these tasks were dynamic, the workload was constantly changing.

Let's just think about it for a moment. A non-home user PC was perhaps doing batch processing in a facility, compiling large code for projects, controlling industrial machinery.
An advanced OS must protect that workflow, must protect itself in this process. So many things may depend on this. It even has a priority-based scheduler, perhaps.
It can't be busy all the time shuffling around code/data in memory in order not to drown, hence the need for RAM. Without RAM, it can't think properply.

Seriously, please visit the links that davidrg has provided us. They give valuable insights.
The view of the ex-Microsoft programmer makes sense, I think (even though I think its not entirely free of biases).
Especially the part in which he describes why OS/2 was tricky to explain to users.

Edit: Speaking about money. Professionals or business people could set off certain things against tax.
If an important investment, say an expensive RAM upgrade was required (which it was, no lie),
then the professional could make an appropriate tax declaration. So he hasn't lost much money, if at all.
This is another fine, but important detail in home user vs professional.

The small, penny wise people or users constantly think about saving money,
whereas the professional or commercial user has to keep an eye on the greater whole.
In this case, the computers in his business must be running, not crawling.
He simply can't afford that.

Grzyb wrote on 2023-02-06, 03:27:
[ […]
Show full quote

[

Jo22 wrote on 2023-02-05, 20:50:

]
My 286 had 4MB in 1994

So, you were able to use OS/2 1.x when it was already obsolete.
OS/2 2.0 (1992) was still beyond your reach.

I'm trying to say I had a reasonable basic amount of memory installed at the time, it wasn't ideal.
It was good enough for Windows 3.1 on a 286 in Standard-Mode with a light workload.
For multi-tasking or OS/2, I would have installed more than that, of course (+ a 386 CPU). Same goes for DTP and programming.
Contiguous memory is important to Windows 3.x, at least. Memory fragmentation slows it down a lot.

Edit: Edited a few times. Still not completely okay, I'm afraid. To err is human.
And to really mess things up needs a computer. 😉

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 11 of 151, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi again. I'd like to apologize for being kind of rude and/or rather undiplomatic in the last posts. I hope you don't mind.
What I wrote wasn't supposed to be personal, I'm not angry, eiher. I hope you're not, either. I didn't question your competence, either.

The RAM topic is simply something where/when I mentally, also in parts subconsciously, draw the line.
It's some nuisance that still persists. To this day, overpowered systems with too little RAM are being sold.
(That's a bit akin to all those sellers who still sell modern PCs with slow, big mechanical HDDs after SSDs became standard.)

Background story: In the past, I often had to fix painfully slow PCs for others - they were slow because the owners did upgrade the OS,
but never bothered to do the same with the RAM. Even after telling them why they need more RAM, they refused to do the upgrade.
Each time I came back to the same users, sometimes months later, the PC still was in that sad state.

I lost many valuable hours of my life because of this, just watching a computer crawl. Sitting, standing, kneeing at the customer's PC, often being involved into horrible small-talk.
Listening to awful, precocious statements about how poor computers are etc. Despite me telling them just earlier *WHY* the PC was dog slow! *sigh* 🙄

I even recommended them computer books to read, but not vail! Boy, I really have an aversion against end users (home users, mainly).. That used to be different, originally.
I also have an aversion against stingy persons and those mindless worker class people who don't value any mental work. But enough of that.

Back on topic - From what I found out in this respect (RAM usage), is, that IBM's TopView was no better than OS/2.
TopView was a multitasker environment almost identical to the later Desq/DesqView or Borland SideKick (-> in appearance, I mean).

https://www.retrospace.net/infoseiten/readm.php?id=36

English Translation

TopView was OS/2's spiritual predecessor, so to say.. Native OS/2 applications and DOS Family API applications, at the time,
were going to eventually superseed DOS as a platform, making the existing memory and multitasking problems of TopView's era go away.
- It's fascinating how certain things are connected in history. 😁

What I learned from this site, that I was browsing for its Olivetti M24 article, is, that it required 640KB of memory in the days the PC had merely 256KB installed.
To multitask merely two normal sized DOS applications. Otherwise, with only 256KB RAM on the motherboard, mereley 80KB of RAM remained for running all applications.
And this was in the early 80s.. When the IBM AT Model 5170 came out, we still had CP/M-86 around and MS-DOS 2.11/PC-DOS 3 running in IT..

I think that's another evidence that sums up how much the business/professional user and consumer/end-user worlds were apart at times. And why DESQView supported EMS so hard.

Edit: A few edits.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 12 of 151, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2023-02-16, 07:58:

Hi again. I'd like to apologize for being kind of rude and/or rather undiplomatic in the last posts. I hope you don't mind.
What I wrote wasn't supposed to be personal, I'm not angry, eiher. I hope you're not, either. I didn't question your competence, either.

Oh, no need to worry about me, I'm already a big boy, and not going to cry 🤣
And if I'm not replying, it's simply due to the fact I don't have enough time to read through all those looong posts of yours...

Anyway, I'm well aware of all that stuff you wrote about, and I do agree: there's plenty of use cases where a lot of RAM is necessary.
But there are also less demanding uses, and that's where the OS/2 failed.

---

Let's assume it's the year 1987...

IBM is releasing a brand new line of computers... but what exactly?
- some 8086 models with 512 or 640 KB of stock memory
- some 286 models with 1 MB of stock memory
- some 386 models with 1 or 2 or 4 MB of stock memory

Now, they are about to release the new operating system, designed for the 286, but... unable to work on ANY of the brand new 286 machines, as it requires 2 MB.
Not even all of the bleeding-edge mad-exepensive 386 boxes can run it!
SERIOUSLY, WHAT ARE THEY THINKING?

If the goal was to make an OS only for servers and other super-heavy applications, it would've been fine!
If the goal was to compete with stuff like Unix or Netware, it would've been fine!

But as far as I know, the goal was completely different: to replace the DOS.
Am I wrong here?
SERIOUSLY, WHAT WERE THEY THINKING?

Another thing: if the only stock machines ready for OS/2 are top-of-the-line 386s, why not target the system for the 386 only?
32-bit, V86 mode, paging MMU... that would have given HUGE advantage!
SERIOUSLY, WHAT WERE THEY THINKING?

---

Well, I only know what *I* was thinking about in the era of 386, 486, 586, 686... and continue to think whenever I'm playing with hardware and software from that era.
To be continued...

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść no moja górę, lecz i w tym, ze ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 13 of 151, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Strategic thinking at IBM could have still been in "Embrace and Extinguish" mode, they didn't really intend for PC to be a success, it kind of shocked the old guard. Somehow despite that, and having 3/4 of the range nobbled at release, the PS/2 OS/2 combo hit it's performant stride and fell into the ardent tool niche. Though it's hard to tell whether really machines like the model 25 were just meant to be a boring but competent turbo XT at base with no higher thought of being a well integrated range. In some respects it looks like "throw it all at the wall and see what sticks" and in others a "make a large enough splash and the suction will drag everyone else down with it", like the ppl who didn't swim far enough from the Titanic. Though at the hardware planning stage they may have been intending to use Windows, had it been mass deployable at the time, but that game of pattycake was wholly run MS's way and they got annoyed with them, whereas they had more skin in the game with OS/2. So they may have ended up all in on OS/2 whether they initially intended to be or not.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 14 of 151, by the3dfxdude

User metadata
Rank Member
Rank
Member

When MS broke away from the OS/2 project, and created WinNT, did they design and market it for the masses? No... ? And at the time, they kept updating and releasing DOS, which took until 2000 for them to finally decide to kill it.

I think OS/2 initially was not going to replace DOS. They were going to do it later. They were trying to figure out how to position a forward thinking OS because you can't replace an entire market in one shot.

OS/2 was initially for the enterprise customers that demanded that type of computing environment. IBM would have those customers.

Reply 15 of 151, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Grzyb wrote on 2023-02-17, 04:08:
Oh, no need to worry about me, I'm already a big boy, and not going to cry XD And if I'm not replying, it's simply due to the fa […]
Show full quote
Jo22 wrote on 2023-02-16, 07:58:

Hi again. I'd like to apologize for being kind of rude and/or rather undiplomatic in the last posts. I hope you don't mind.
What I wrote wasn't supposed to be personal, I'm not angry, eiher. I hope you're not, either. I didn't question your competence, either.

Oh, no need to worry about me, I'm already a big boy, and not going to cry 🤣
And if I'm not replying, it's simply due to the fact I don't have enough time to read through all those looong posts of yours...

Anyway, I'm well aware of all that stuff you wrote about, and I do agree: there's plenty of use cases where a lot of RAM is necessary.
But there are also less demanding uses, and that's where the OS/2 failed.

Thanks for your understanding. 👍

Grzyb wrote on 2023-02-17, 04:08:

Let's assume it's the year 1987...

"Duck Tales, Oo-oo !"
https://en.wikipedia.org/wiki/List_of_D ... 80%931988)
😁

Grzyb wrote on 2023-02-17, 04:08:
IBM is releasing a brand new line of computers... but what exactly? - some 8086 models with 512 or 640 KB of stock memory - some […]
Show full quote

IBM is releasing a brand new line of computers... but what exactly?
- some 8086 models with 512 or 640 KB of stock memory
- some 286 models with 1 MB of stock memory
- some 386 models with 1 or 2 or 4 MB of stock memory

To be honest. I never did understand the 8086 models.. They shouldn't belong to the PS/2 line. 😕
Even for simple diskless stations, the 8086 didn't make sense to me.
A slow 80286 or 386SX (if cheaply available to IBM via contract with intel) would have been much better,
and it would have been compatible to TopView and a future OS/2 release.
Maybe a special version running via network boot (via bootable floppy) etc.

Speaking of TopView, DESQView tried to multitask DOS applications on an 8086.
But it needed massive help from an EEMS or LIM 4 Expanded Memory hardware.

With things like backfilling, etc, the EMS hardware essentially did the work of a 286 MMU.
I tried DESQView on real hardware myself - it's impressive for what it is!
But without loads of memory, commercial DOS applications simply won't fit - too large.

2MB Expanded Memory Board models weren't a luxury thus, I think.
Motherboard RAM had to be removed for the backfilling thing (minus 256 or 512KB not sure).
If we're taking this into account, the EMS card is being reduced to about 1,5 MB - providing merely one extra MB..

Grzyb wrote on 2023-02-17, 04:08:

Now, they are about to release the new operating system, designed for the 286, but... unable to work on ANY of the brand new 286 machines, as it requires 2 MB.
Not even all of the bleeding-edge mad-exepensive 386 boxes can run it!
SERIOUSLY, WHAT ARE THEY THINKING?

Wait, they did. IBM sold 2 MB ISA cards for memory expansion..
https://www.minuszerodegrees.net/5170/cards/5 … rds.htm#2mb_xma

There was even a 12MB monster version.. 😳

Grzyb wrote on 2023-02-17, 04:08:
If the goal was to make an OS only for servers and other super-heavy applications, it would've been fine! If the goal was to com […]
Show full quote

If the goal was to make an OS only for servers and other super-heavy applications, it would've been fine!
If the goal was to compete with stuff like Unix or Netware, it would've been fine!

But as far as I know, the goal was completely different: to replace the DOS.
Am I wrong here?
SERIOUSLY, WHAT WERE THEY THINKING?

🤷
I suppose the ideas to make developers re-compile their DOS programs for OS/2.
If enough had done that, there was no need for DOS anymore. In the transitional time, hybrid applications could be used.
And OS/2 could still run a single DOS application in fullscreen - just like real DOS, so nothing gained or lost.

Grzyb wrote on 2023-02-17, 04:08:

Another thing: if the only stock machines ready for OS/2 are top-of-the-line 386s, why not target the system for the 386 only?
32-bit, V86 mode, paging MMU... that would have given HUGE advantage!
SERIOUSLY, WHAT WERE THEY THINKING?

I'm not exactly sure, but IBM wasn't expecting that Compaq would release a 386-based AT so soon (Compaq Deskrpo 386).
Back in the mid-80s, the 80386 was just freshly created (in 1985) and called "a mainframe on a chip" by certain sources.

"[..] past the 8086 that made the IBM PC run, through the 80386 that they called a "mainframe on a chip" [..]"
Source: https://www.cuug.ab.ca/branderr/pmc/010_moore … _law_intel.html

Perhaps that's why IBM didn't want to use the 386 yet. The mainframe market was another segment they served at the time.
IBM's OS/360&Sytem/360 line and others were running fine and IBM also sold terminal adapters for the IBM PC, reducing it into the rule of a semi intelligent terminal.
https://en.wikipedia.org/wiki/IBM_3270_PC

Another thing to consider: V86 and 32-Bit were irrelevant to OS/2. Native OS/2 applications didn't need that. No, really.
Even well-behaved DOS programs didn't need that - as long as they were calling DOS ABI and didn't do segment-arithmetics, everything was fine - in theory.

That's how Digital Research's Concurrent DOS was able to multi-task DOS applications on a plain 80286 in hardware.
https://www.tech-insider.org/personal-compute … ch/1985/05.html
https://en.wikipedia.org/wiki/Multiuser_DOS#C … _and_FlexOS_286

The 16-Bit binary code used by the NE format was compact and segmented, it was valid in both Real-Mode and 16-Bit Protected Mode.
That's because the 64KB segment size was fixed on 8086, but optionally variable on 80286. The 64KB size worked in both CPU worlds.

If the Willow DLLs made it into the default installation of the 286-based OS/2, then there would have been no need for V86. Not even the infamous CPU reset or LOADALL.
The Windows 2.x/3.0 programs would run well-behaved, without the need for something like Win-OS/2 and the emulation of Windows 3.x memory managment.
Rather, the Willow DLLs would take care of that, making appropiate calls to OS/2 directly.

And DOS programs.. Well, the remaining DOS programs would continue to work in the DOS Compatibility box,
until updated versions would come out. Either as OS/2 programs or Family API programs.

The latter had no new features, but could run multi-tasked side-by-side with other Family API programs if run on OS/2.
On DOS, they still ran as usual, but consumed more memory because of the built-in OS/2 runtime.

What's also worth to think about.. In the mid-80s, before users were accustomed somewhat to the DOS experience as we know it, they realized its shortcomings.
I think this is sort of a paradoxon, maybe. In the days of MS-DOS compatibles (IBM PC incompatibles), it was much more apparent how much the PC platform was behind.
The alternate hardware, also running DOS, was much more capable than what DOS -especially MS-DOS/PC-DOS- could support. Then users forgot, got used to it.

For example, there was multitasking DOS 4, which never made it into wide use: https://en.wikipedia.org/wiki/MS-DOS_4.0_(multitasking)
This was in 1986/1987, before DOS 3.20/3.30 got really popular among the users. MS-DOS 5/6 even use the 3.x kernal structures, not the 4.01 ones.

About the same time, a close relative of mine also used a more sophisticated OS with the ability to multi-task DOS programs (PC-MOS/386).
It also wanted RAM (albeit less than OS/2) - it even supported a special MMU for 286 PCs.
But even without such gadgets, it could still run on both 80286 and 8086 PCs, though.
With a limited feature set, of course. And many limitations of the MS-DOS world.

PS: Last, but not least, here's what Wikipedia says about the 80286:
"Intel did not expect personal computers to use the 286.[15]
The CPU was designed for multi-user systems with multitasking applications,
including communications (such as automated PBXs) and real-time process control [..]"

Another source says:
"The later E-stepping level of the 80286 was a very clean CPU, free of the several significant errata that caused problems for programmers
and operating system writers in the earlier B-step and C-step CPUs (common in the AT and AT clones)
". Source).

That doesn't sound too bad. The 80286 was at least respectable, unlike the 8088.

BitWrangler wrote on 2023-02-17, 06:35:

Strategic thinking at IBM could have still been in "Embrace and Extinguish" mode, they didn't really intend for PC to be a success, it kind of shocked the old guard.

Yes, maybe. But they needed PCs in both their own and their customer's offices. They couldn't just turn back time at this point.
Too many business were dependent on PCs or CP/M era data terminals. By 1985, Lotus 1-2-3 and other spreadsheet programs were indispensable.

Another thing that could be well the case is, that the OS/2 developers at IBM had little to say at the time.
They got more freedom after MS and IBM broke up, maybe. OS/2 v2 had a lot of fresh ideas, and wasn't old-fashioned, at all.
The object-oriented concept was much more advanced than that of Microsoft's NT, for example.

BitWrangler wrote on 2023-02-17, 06:35:
Somehow despite that, and having 3/4 of the range nobbled at release, the PS/2 OS/2 combo hit it's performant stride and fell in […]
Show full quote

Somehow despite that, and having 3/4 of the range nobbled at release, the PS/2 OS/2 combo hit it's performant stride and fell into the ardent tool niche.
Though it's hard to tell whether really machines like the model 25 were just meant to be a boring but competent turbo XT at base with no higher thought of being a well integrated range.
In some respects it looks like "throw it all at the wall and see what sticks" and in others a "make a large enough splash and the suction will drag everyone else down with it",
like the ppl who didn't swim far enough from the Titanic.

I wonder the same.

Some PS/2 models didn't make sense to me, either.
Especiall those 8086 models. I mean, okay - they're full 16-Bit and better than 8088 based PCs.
But did this justify weakening the PS/2 line? Without them, all PS/2 machines could have been classified as better ATs.
This would have had stuck in the user's minds easily - "Ah! A PS/2! Has an 80286, 3.5" HD floppy drive and an internal HDD!"

BitWrangler wrote on 2023-02-17, 06:35:

Though at the hardware planning stage they may have been intending to use Windows, had it been mass deployable at the time,
but that game of pattycake was wholly run MS's way and they got annoyed with them, whereas they had more skin in the game with OS/2.
So they may have ended up all in on OS/2 whether they initially intended to be or not.

Ironically, though, Microsoft was still using OS/2 internally for their software development or so I read online.
The compilers and other tools needed a powerful platform to run on - which was OS/2 until NT was mature enough.

the3dfxdude wrote on 2023-02-17, 14:13:

When MS broke away from the OS/2 project, and created WinNT, did they design and market it for the masses? No... ? And at the time, they kept updating and releasing DOS, which took until 2000 for them to finally decide to kill it.

I think OS/2 initially was not going to replace DOS. They were going to do it later. They were trying to figure out how to position a forward thinking OS because you can't replace an entire market in one shot.

OS/2 was initially for the enterprise customers that demanded that type of computing environment. IBM would have those customers.

Hm. Hard to tell. I'm a bit clueless. 🤷 IBM didn't spend much thoughts on the individual PC users, as it seems. IBM rather had business with other alpha animals in mind, so to say.
Other notable big companies who needed hard-/software solutions or resellers/distributors of their software and hardware.

Microsoft itself was more or less inished with DOS after the release of Windows 95, I assume. The last release was MS-DOS 6.22 in 1994.
But only because of that accident with the Double Space compression. Otherwise, MS-DOS 6.20 in 1993 would have been marked the end for MS-DOS, maybe.

Other companies like Novell continued to try to make a modern DOS, also multitasking capable.
Paragon DOS and PTS DOS also were still around, at the time.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 16 of 151, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++
Jo22 wrote on 2023-02-17, 19:44:

Ironically, though, Microsoft was still using OS/2 internally for their software development or so I read online.
The compilers and other tools needed a powerful platform to run on - which was OS/2 until NT was mature enough.

Yah it's like MS didn't even like Windows, took them a couple of years to bother porting Excel to it after releasing on the Mac, maybe it was really just a proof of concept to sell mice. At this point they had, DOS, Win16/32, Xenix and OS/2 commitments on the go and decided to pivot into NT, a third option to own the GUI desktop. IDK why Windows ever went past 386/2.0 then when they had something better and not enough people on 1.0 to worry about upsetting, and NT for all ended up waiting until XP.

Maybe all IT planning in the 80s was throw it at the wall see what sticks.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 17 of 151, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2023-02-17, 19:44:

To be honest. I never did understand the 8086 models.. They shouldn't belong to the PS/2 line. 😕
Even for simple diskless stations, the 8086 didn't make sense to me.
A slow 80286 or 386SX (if cheaply available to IBM via contract with intel) would have been much better,

Wait, they did. IBM sold 2 MB ISA cards for memory expansion..
https://www.minuszerodegrees.net/5170/cards/5 … rds.htm#2mb_xma
There was even a 12MB monster version.. 😳

It's 1987.
I think the best-selling PCs are still Turbo XTs, so it makes perfect sense for IBM to provide a Turbo XT as well.
286 machines are still much more expensive.
386SX doesn't exist.
2 MB memory expansions cost way too much to be installed by default.

The point is: it doesn't matter what configs are technically possible, it only matters what's actually mass-sold.
End users hardly ever purchase an operating system - they use whatever got preinstalled by the vendor.
So, a system that can't be preinstalled on 95% of *stock* configs has no chances for decent market penetration.

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść no moja górę, lecz i w tym, ze ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 18 of 151, by the3dfxdude

User metadata
Rank Member
Rank
Member

Originally MS had Xenix, yes. The plan in the early IBM PC days of Microsoft was to migrate DOS users over to Xenix, when PCs got better. So DOS was starting to take more of a resemblance to UNIX. Windows was kind of born out of the multi-task switchers that started to pop up to give users some flexibility, but also of one to match the Mac or GEM in having a graphical environment that makes this ability more useful. So it was a shell on top of DOS, I guess, was never meant to be otherwise.

I'm kind of wondering, if IBM, since Microsoft was so heavily dependent on them in those days, approached Microsoft and said, we have people that want true multi-tasking on the 286 (IBM AT), so we need a solution. But also convinced Microsoft to sell off Xenix, so as not to compete with IBM's mainframe business. That's when DOS 4.0 (I guess maybe to also compete with Digital Research again), and OS/2 was born, and Xenix got dumped. Again, since DOS was supposed to be a stop gap, that DOS compatibility to migrate people to OS/2 was needed. And since a graphical environment was desired, that one would be built on OS/2. What was being written for that ended up also being shared with Windows anyway to update its shell for Windows 3.0, which I suppose was sort of an accident on that Windows was such a success. Because of the success, Microsoft decided to switch gears on the OS/2 NT kernel to be a Windows NT kernel for windows applications, and keep DOS/Win3 alive a little longer to give them time to write the needed apps for Win32 to make it a full OS.

Reply 19 of 151, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

Now, let's imagine this alternative history...

1987

Instead of the elephantine 286 OS, a simple 386 OS is released.
Basically, it's like DOS, but 32-bit.
There may be also some "Pro" variant with multitasking, GUI, etc., but it's important that the basic variant is about as simple as DOS, and doesn't use much more resources than DOS - it's perfectly usable with just 1 MB of RAM.
IBM preinstalls it on all their 386 machines, and clone makers quickly follow suit.

around 1990

The 486 is already on the market, so 386 prices are falling, epecially the SX variant is very affordable and selling like hot cakes.
Naturally, nearly all 386/486 machines are sold with that "32-bit DOS", so its market penetration is approaching 50%, and it's the *better* 50%.
During the previous three years, there came plenty of programming tools targetting the "32-bit DOS", and now everybody is using them to release 32-bit versions of their apps.
What happens when all the important software is 32-bit?
- no 386+ user is forced to struggle with EMS
- no 386+ user is forced to struggle with XMS
- no 386+ user is forced to struggle with UMB
- no 386+ user is forced to struggle with DOS extenders
- no 386+ user is forced to struggle with multi-config
- no 386+ user is forced to struggle with the 64 KB limit of a single data structure
- no 386+ user is forced to struggle with the 640 KB total limit

And that exactly was my dream in the 386+ era!

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść no moja górę, lecz i w tym, ze ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.