30-Year-Old Operating System 'PC-MOS/386' Finally Open Sourced (github.com)
PC-MOS/386 "was a multi-user, computer multitasking operating system...announced at COMDEX in November 1986," remembers Wikipedia, saying it runs many MS-DOS titles (though it's optimized for the Intel 80386 processor).
Today Slashdot user Roeland Jansen writes: After some tracking, racing and other stuff...PC-MOS/386 v5.01 is open source under GPLv3. Back in May he'd posted to a virtualization site that "I still have the source tapes. I want(ed) to make it GPL and while I got an OK on it, I haven't had time nor managed to get it legalized. E.g. lift the NDA and be able to publish."
1987 magazine ads described it as "the gateway to the latest technology...and your networking future," and 30 years later its release on GitHub includes sources and executables. "In concert with Gary Robertson and Rod Roark it has been decided to place all under GPL v3."
Today Slashdot user Roeland Jansen writes: After some tracking, racing and other stuff...PC-MOS/386 v5.01 is open source under GPLv3. Back in May he'd posted to a virtualization site that "I still have the source tapes. I want(ed) to make it GPL and while I got an OK on it, I haven't had time nor managed to get it legalized. E.g. lift the NDA and be able to publish."
1987 magazine ads described it as "the gateway to the latest technology...and your networking future," and 30 years later its release on GitHub includes sources and executables. "In concert with Gary Robertson and Rod Roark it has been decided to place all under GPL v3."
I actually tried to make that POS work (to run a multiuser dial in host) back in the late 80s.
Run away, stunk to heaven. IIRC only worked with _one_ rs232 UART (which had to do all the buffering in hardware). Didn't work well with that one. Just no. Waste of effort and money.
I should not remember those details...my brain's garbage collection is very lazy.
I'll download a copy, but only to burn it onto CDs to shoot at. Shades of '30-06 retiring' netmare 2.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
So, there is now a GPL operating system that will run DOS applications. That's pretty interesting.
If there were still sufficient "must have" DOS applications that could benefit from a little source code tweaking ("because I can!")
"She's furniture with a pulse"
I vaguely remember a similar operating system, written by brothers Wendes. As I recall, Microsoft quickly bought them out and employed them.
If you post it, they will read.
I loved PC-MOS/386 "back in the day" -- way back in the day. Even visited their headquarters at one point and attempted to get a dev job at one point.
My employer who sold software for trucking companies used it as the cheapest alternative for small office settings where several dispatchers shared one beefy (for the time) computer with cheap terminals attached.
It really was remarkable for the time how they made DOS multi-user.
Many years ago Apple sold a device with a custom OS called the Newton. Apple sold Newtons for about 5 years (1993-1998) but never released the OS under a free software license. Today some users still own, repair, and use Newtons but they do so with no respect for their software freedom. Whatever problems Apple built into the Newton's software (whether on-purpose or accidentally) cannot be fixed by its users no matter how technically skilled or willing those users are.
PC-MOS/386 currently requires a nonfree compiler (the Borland compiler) but now that PC-MOS/386 is free software it can be ported to systems so it will compile with free software compilers, thus avoiding the problem of free software with nonfree dependencies (what was originally known as "The Java Trap" named after free Java programs that depended on Sun's formerly nonfree Java software). We went from having no software freedom with PC-MOS/386 to being free to port and improve PC-MOS/386 as we wish! So PC-MOS/386 now that it has been released as free software treats you better than Apple treats Newton users. Thanks PC-MOS/386 developers for respecting our software freedom!
Digital Citizen
Sounds like a great candidate for a talk at FOSDEM 2018 Retrocomputing DevRoom. Call for Participation here:
https://lists.fosdem.org/piper...
"One does not simply reboot" - Boromir
Sometimes I actually miss the complexity of assembler. Or maybe I just hate the 12 layers of abstraction that encompasses so many things these days. In a way it's not complexity of assembler I miss: it's the simplicity of knowing exactly what the computer is going to do.
Whatever problems Apple built into the Newton's software (whether on-purpose or accidentally) cannot be fixed by its users no matter how technically skilled or willing those users are.
You say that, but I don't know that it's true. It's not like they did anything to prevent you from replacing components, like signing code. Long before there was a source code leak, people were replacing portions of the AmigaOS with workalikes. Major portions of the OS, too, like the graphics library. There were also patches to system libraries to change their function. So no, I think if those users were more technically skilled, they could fix the problems with the Newton OS.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
What you described doesn't grant them complete source code access to the code they already have, nor does it grant them license to share, inspect, or modify said source code. So it's not the same as having software freedom which is what we see with PC-MOS/386. What you're describing is reverse engineering and replacing software components at best, a violation of the proprietary license at worst, and not respecting the user's software freedom either way.
Digital Citizen
Most likely because many DOS programs back then were designed and written to run on even earlier CPU's like 8086 or 80286'es.. It will run those, but runs 80386 optimized programs best.
To Terminate, or not to Terminate, that's the question - SCSIROB
The recipe for 'Cicero Rye' died with the baker about 25 years ago.
It was _great_ bread, there are websites dedicated to recreating/finding the recipe. The widow was offered five figures, but didn't know it.
But PC-MOS is more like a recipe for wonder bread. (Astroglide is the secret ingredient, same as for McNuggets.)
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
DOS is not done, till Lotus won't run, right?
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
I got to the point where I had wasted a month to learn I needed a special (expensive) four port serial card that they sold. I returned the whole mess instead.
IIRC there was a 286 version of the software, but they dropped it pretty fast. I also recall 486 ISA cards, but they never made sense.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Didn't Windows386 run on top of this?
For those unaware before NT hit Microsoft experimented with a non neutered version of Windows that didn't run on top of DOS. WIndows386 could run some legacy DOS apps and Win16 apps but required an expensive 386 with up to 2 whole megs of pricey ram.
The idea and even some of the code made it to WindowsNT 3.1 and probably OS/2 as well.
http://saveie6.com/
As long as we are indulging in retro-praise...
I was really impressed with an OS named Pick. It was essentially a database, but a plain 286 with 2 megs of RAM could run 10 terminals and four printers while doing a tape backup with no lag. Mind you, all it did was ascii; no graphics or sound. But the concept was impressive: Since nobody could make a CPU as complex as they needed, under the OS was less than 100k that emulated a more complex CPU, and the OS itself was written in assembler for that virtual CPU. Pick was actually the first OS to run on the original RISC processor from IBM because that virtual CPU was so close to the real hardware 20 years later. When IBM wanted an OS for the first PC they tried to get Pick before DOS. The owner was hanging upside down in gravity boots when he laughed at them because he said it was too complex to run on their weak hardware. What can you expect from a guy named Dick Pick? True story, but I loved that stupid OS.
On the one hand you take life too seriously, and on the other, you do not take playful existence seriously enough. Seth
The first few x86 processor models came as follows: 8086: 16-bit registers, 16-bit data bus, 20-bit address bus 8088: cost-reduced version of the 8086 with 8-bit data bus 80186: new architecture, aimed at embedded applications, contains a lot of glue logic that required separate hardware on 8086 systems, same register/data/address sizes 80188: same as above but with 8-bit data bus 80286: new architecture, 24-bit address bus, protected mode
In Soviet Russia, Jesus asks: "What Would You Do?"
Besides learning about DOS stuff, many of these games use many tricks to optimize the games which not necessarily the code but the thinking processes could be useful even in modern languages.
The other thing is legally, now it's open, if you happen to have used code that looks similar to the original, or some idiot actually plagiarized it, which wouldn't be necessarily unusual, there is no current or future rights holder (another SCO) that can claim ownership to the code.
Custom electronics and digital signage for your business: www.evcircuits.com
Mod me funny?
Learn and cry. Silicon oil (astroglide) IS the secret ingredient in almost all prepared frozen foods. Keeps them moist.
I bet it's too expensive to put in wonder bread though.
The correct moderation for this and parent post is 'offtopic'. Mods, please fix.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
It was decent.
What you're describing is reverse engineering and replacing software components at best, a violation of the proprietary license at worst,
Reverse engineering, at least in the USA, is explicitly protected when carried out for the purpose of interoperability.
and not respecting the user's software freedom either way.
Users that care about software freedom don't give money to Apple in the first place.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
PC-MOS/386 currently requires a nonfree compiler (the Borland compiler) but now that PC-MOS/386 is free software it can be ported to systems so it will compile with free software compilers [...]
Good luck with that. I tried working my way through an older how to write a compiler book that was written in Borland C. Transliterating Borland C into ANSI C to compile with gcc was a bit hairy.
Really? What problems did you run into that weren't assembly related? I recently compiled some 16bit OS code (I originally wrote it for Watcom C/C++ Compiler, with wasm assembler - I still have the CD) on gcc and the only major problems I had was getting a linker to produce flat binaries. Sure, there were other problems but they were small and easily worked-around/fixed.
If you're producing a compiler (which is just another program) there really isn't any code that compiles on Borland turbo C that would present much of a problem to gcc, unless you're attempting to produce 16-bit binaries, which you wouldn't be doing when writing a compiler anyway.
The reason I had problems was because of the need of a flat 16bit linker. What problems did you have?
I'm a minority race. Save your vitriol for white people.
The x86 task shared, the Amiga Multitask'd.
OnTopic.
Not sure how much astroglide in PC-MOS, more than zero. Could have used more. It WAS painful.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
wrong again, the 186 was released in 82 based primarily for use in embedded systems as a micro-controller as most of its support hardware was on chip, similar to the 8085
The 80186 integrated some extra functionality, added some instructions and optimized timings compared to the 8086. It didn't change the basic ISA keeping the real mode unprotected segmentation with 1MiB address space and 16 bit registers.
The 80286 was the one that changed anything significant by adding (in a very clumsy way) a protected mode with 16 bit segmentation and an expanded addressable space. This also indirectly meant that 80286+ systems suddenly could access 1MiB+64KiB-16B, the upper near-64KiB part was commonly called high memory.
Timeline: 8086, 8088 (8 bit bus for cheaper systems), 80186.
Whew, just in time....a useless 30-year old OS that likely won't run on anything.
Now what?
Just cruising through this digital world at 33 1/3 rpm...
Lillyayayko55@yahoo.jp
103.208.220.144
Lilly, please stop posting these comments. The Slashdot community is monitoring you now.
Can someone track OS/2's source code? It seems that IBM misplaced it ;)
Maybe b'cos DOS was a 16-bit OS optimized for the 80286, which is why it had that 640k memory barrier in the first place. If PC-MOS/386 was optimized for a 386, chances are that it was a 32-bit OS, not 16.
> How is the copyright of those? I'm talking about things which were cool back in the 1980s -- not only games, but serious applications, too.
Unfortunately the bills to address this in US law haven't passed. It doesn't seem like there is a ton of opposition, there just isn't enough interest to push a bill all the way through both houses of Congress. (Bills have passed one house or the other at different times.)
Some of them are open source or public domain. If you to to distribute any proprietary ones, try to contact the author before SELLING them. If it was made by a company that has since gone out of business, you're probably safe giving copies away. It's technically not legal to give them away, but a law suit from an author who appears wouldn't be able to claim much in the way of damages.
Copyright infringement and fair use gets a little complicated, but it's all centered around the idea that you can't sell someone else's work IN COMPETITION with their own authorized sales. If you're a) not selling and b) not giving copies to people who might have otherwise bought a copy from the author, you probably won't get in much trouble zero even though it's not actually legal.
Mission accomplished. Good work, team.
There is no XUL, only WebExtensions...
80186 was definitely well into microcontroller territory; haven't seen too many, but I do have an old security system control card, and previously had a hard drive duplicator/diagnostic station that ran on one. I *think* a storage oscilloscope I picked up ages ago might have had one as well, but I can't quite remember.
There is no XUL, only WebExtensions...
It was used in the Compis computer that were common in Scandinavian schools throughout the 80s and early 90s. I learned touch typing on one of those.
My other account has a 3-digit UID.
https://developer.apple.com/op...
If you gave me a choice between a printer and a giraffe with explosive diarrhoea, i'll get my ladder and my raincoat
Here we are talking about how you can't get OS source code, and you post a link which still doesn't contain the OS source code. It's almost like you aren't actually reading what's being written, but your knee jerked when you heard something bad about Apple and you just had to shit out a meaningless pro-Apple comment.
Sure, Apple has opened some stuff. Stuff that they didn't have the skills to maintain on their own, like llvm. Get back to me when they release complete OS sources. Until then, they're no different from Microsoft.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
There's a link to the source code provided in the summary. In my very brief look at the code, what I saw was commented.
They still release a hell of a lot more code than Microsoft does. The whole kernel is open source, unlike Microsoft. In fact, that page from Apple is much more descriptive than the same one from M$... https://open.microsoft.com/
If you gave me a choice between a printer and a giraffe with explosive diarrhoea, i'll get my ladder and my raincoat
PC-MOS used 32bit Enhanced Mode of the 386 to make a multiuser/multitasking DOS. Making sure you've correctly defined the unused address space between 640K and 1024K was absolutely required and was a bit of black magic.
PC-MOS was good at a few apps, terrible on others. If it worked, it worked well. Most of the time it didn't work. :(
(Trained and certified on PC-MOS back in the day.)
Oh my gosh... I had lived most of my life without any regrets whatsoever. Now that I know about the tragedy of Apple Newton not having free software, it will haunt me to my dying day, being the biggest regret I will lament upon my death bed.
The old Borland compilers may not be libre, but they were made freely available over a decade ago.
http://edn.embarcadero.com/art...
~REZ~ #43301. Who'd fake being me anyway?
It wasn't even good at emulating hardware used by games and creativity programs (music players, graphics stuff etc.)
Depends on the hardware.
If it's some rare custom ISA card hardware : yes it's going to be problematic. (e.g.: some custom ISA controller used by the photo scanner of some graphics creativity program, or a custom ISA multi-channel DAC used by scientific equipment).
If it talks to the computer using a standard way (e.g.: talks over a standard COM port, a MIDI port or - rarely back then - talks over the network using some packet driver) or if the ISA card is a common one (nearly any sound card, including Garvis Ultrasound) : it works pretty well.
That even include emulating some quirks and hacks (TweakMode/ModeX type of graphical modes, abusing the NTSC composite color clash to generate more than the 4 CGA colors, etc.) or even emulating devices connected to the virtual PC (there are software to emulate a full blown MT32 synth connected to the dosbox' MIDI bus).
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
If you're producing a compiler (which is just another program) there really isn't any code that compiles on Borland turbo C that would present much of a problem to gcc, unless you're attempting to produce 16-bit binaries, which you wouldn't be doing when writing a compiler anyway.
The book I was working from had pre-ANSI C code. Gcc wouldn't compile the source files without major changes. Some of the references to header files were obsolete, updating the header files meant that corresponding code had to change, and I rewrote entire blocks of code that I couldn't get to work otherwise.
Are you perhaps referring to the conio.h and dos.h headers? When writing a compiler you can simply rip them out and replace or wrap the functions they prototype very easily with standard library functions.
Post the code snippet that fails on gcc into a pastebin; I'm now very curious to see why it doesn't compile.
I'm a minority race. Save your vitriol for white people.