PDA

View Full Version : DOS code in CP/M? Revisited...



EvanK
July 13th, 2016, 06:45 PM
Did MS-DOS use code copied from CP/M? Forensic software engineer Bob Zeidman said "no" in 2012 but now he has new research to disclose at VCF West.

That's all I can say for now. :)

Chuck(G)
July 13th, 2016, 07:16 PM
I'm a bit skeptical. SC-DOS seems to use CP/M 2.2 as its basis (COM programs can issue system calls by doing a far call to CS:0005 and putting the request number in CL; this is very different from CP/M-86's conventions. So you're trying to compare a bunch of 8086 code with 8080 code? That's a pretty far stretch.

Randy McLaughlin
July 13th, 2016, 07:43 PM
Microsoft was sued when they pirated DOS through a third party.

They settled with IBM paying cash settlement on Microsoft's behalf and agreeing to sell CP/M-86 for PC's.

Of course they were selling it for $250.00 a unit ;-)

So no CP/M has no DOS code but DOS started as an illegal translation of CP/M.


Randy

krebizfan
July 13th, 2016, 07:48 PM
Betteridge's law of headlines seems to apply.

Chuck(G)
July 13th, 2016, 08:45 PM
So no CP/M has no DOS code but DOS started as an illegal translation of CP/M.

In 1979, what constituted an "illegal translation"? Really, Gary didn't have a case and he was aware of it. Reverse-engineering wasn't illegal then; there was no DMCA.

By 1979, there were other "work-alikes" of CP/M-80. Nobody got sued for that either.

Randy McLaughlin
July 13th, 2016, 09:31 PM
It went to court, Microsoft was found guilty. There was a fine. There was a settlement.

The scuttlebutt is it wasn't reversed engineered, it was taken from original sources that were covered in a non-disclosure agreement.

IBM had contracted with both DRI and M$, DRI was to provide the DOS and M$ the basic.

As usual in the early computer days DRI was way behind schedule, IBM asked M$ if they could write a DOS. M$ knew 86-DOS was a stolen product but DRI hadn't brought legal action yet. So M$ said they could do it all by buying 86-DOS and selling it as Microsoft DOS.

IBM found themselves in a legal quagmire and paid the fine and agreed to sell CP/M-86.

M$ never ported their Gee-Whiz basic (GWBasic) to CP/M-86 and IBM decided to complete their legal requirements by selling CP/M-86 for four times the cost of DOS and no basic to boot.


Randy

krebizfan
July 13th, 2016, 09:44 PM
What court case? Where? Could you provide a PACER reference?

IBM was a public company; any settlement would have been obvious in the filings. IBM was also still under the consent decree. Playing loose with the law was a good way to prevent the consent decree from being lifted.

Also, if there was a case that MS lost to DRI, that would have been precedent in the various reverse engineering BIOS cases and would have ensured losses for both Compaq and Phoenix Technologies.

That rather goes against all the history that exists. Strong documentation is needed.

Randy McLaughlin
July 13th, 2016, 10:15 PM
The lawsuit was settled in an out of court settlement after Gary was already dead and DRI was bought my Caldera. it had been going back and forth for years. It took that long for courts to catch up with changing technology.

https://en.wikipedia.org/wiki/Digital_Research

Gary was a computer genius but not a great businessman, Bill was a genius businessman but not a computer genius.

That's why all the DRI computer languages had great math packages but M$ couldn't add one plus one and get two (literally). M$ didn't get a working math package until Visual Basic in windows 95.

As for CP/M replacements there basically were none. Several people provided BDOS replacements that required you own CP/M. The only two exceptions I can remember was IMDOS by IMSAI and TP/M by TDL.

After the PC came out some continued to replace "CP/M" but again in pieces you still had to have CP/M to have a complete package. Caldera (DRI) finally release CP/M-86 that had morphed into DRDOS to public domain (freedos).


Back "in the day" hacking a program like CP/M was considered good as long as the original got their money before the hack was put in to make it better. I hacked a program named electric pencil to run under northstar dos. Originally the electric pencil only ran on audio cassette tapes. I would sell my hack for $75 to modify a legal copy of it. Later Michael came out with a disk version and my hack was put away (and finally lost).

There is a big difference between modifying a legal program and taking it over completely.


Randy

Caluser2000
July 13th, 2016, 10:55 PM
After the PC came out some continued to replace "CP/M" but again in pieces you still had to have CP/M to have a complete package. Caldera (DRI) finally release CP/M-86 that had morphed into DRDOS to public domain (freedos).

RandyGot any good references Freedos is based from DRDOS.

I know folk where enhancing DRDOS(OpenDos) well after Caldera but once Freedos had finally became a usable alternative the programmers moved over to the FreeDos project http://www.drdosprojects.de/

Chuck(G)
July 14th, 2016, 06:35 AM
...I thought the subject was "DOS code in CP/M", not "CP/M code in DOS"....

Just saying...

EvanK
July 14th, 2016, 06:55 AM
...I thought the subject was "DOS code in CP/M", not "CP/M code in DOS"....

Just saying...

Yeah I (bleeped) that one. Sorry!! :)

EvanK
July 14th, 2016, 06:57 AM
Court case had nothing to do with whether DOS has any stolen CP/M stuff in it.

geneb
July 14th, 2016, 07:27 AM
FreeDOS has _nothing_ to do with DR-DOS, Novell DOS, or OpenDOS beyond the fact that it's MS-DOS compatible.

g.

MicrocomputerSolutions
July 14th, 2016, 12:21 PM
CPM-80 preceeded DOS by years. So you won't find DOS code in CPM, but you will find the Digital Research CPM-80 Copyright Notice and Code inside DOS 1.0 since whole sections of code were lifted from CPM-80 illegally when Seattle Computer ported CPM-80 without authorization into the 16-bit Operating System that Seattle licensed to Microsoft to sell to IBM for sale with 8088 based PCs. A friend of mine from back when I worked for Radio Shack showed me the Digital Research Copyright Notice inside of DOS 1.0 that he discovered while he was working inside of DOS. I think he was trying to find the location of the DOS serial number at the time.

This was the basis of the lawsuit that Seattle filed against Microsoft. Seattle never licensed Microsoft to sell DOS on any other platform/processor besides the IBM PC with 8088 processor. Seattle had a mysterious fire that put them out of the active retail S-100 computer selling business, but the lawsuit lingered on for years, until Microsoft finally settled with Seattle (paying them off, I think it was a token 1 million or 5 million dollars).

MicrocomputerSolutions
July 14th, 2016, 12:34 PM
It went to court, Microsoft was found guilty. There was a fine. There was a settlement.

The scuttlebutt is it wasn't reversed engineered, it was taken from original sources that were covered in a non-disclosure agreement.

IBM had contracted with both DRI and M$, DRI was to provide the DOS and M$ the basic.

As usual in the early computer days DRI was way behind schedule, IBM asked M$ if they could write a DOS. M$ knew 86-DOS was a stolen product but DRI hadn't brought legal action yet. So M$ said they could do it all by buying 86-DOS and selling it as Microsoft DOS.

IBM found themselves in a legal quagmire and paid the fine and agreed to sell CP/M-86.

M$ never ported their Gee-Whiz basic (GWBasic) to CP/M-86 and IBM decided to complete their legal requirements by selling CP/M-86 for four times the cost of DOS and no basic to boot.


Randy



Microsoft is know for getting access to Code to this day by approaching software companies asking to see the code for software programs and applications, claiming that they are interested in licensing the intellectual property for inclusion in a future Microsoft product or revision. Microsoft signs a non-disclosure agreement in exchange for access for a specific amount of time. When the time period expires, they say "sorry we changed our minds about licensing your product" And go on their merry way. Some time later, when Microsoft unveils a new, the code from the programs or applications that they did not license after being allowed access to the Code shows up in their "new" product. Microsoft has been accused, and convicted of this strategy several times in the past. In many cases causing delay in marketing a product because the product ends up being rewritten, OR some product recalls. This is documented history.

Chuck(G)
July 14th, 2016, 02:02 PM
CPM-80 preceeded DOS by years. So you won't find DOS code in CPM, but you will find the Digital Research CPM-80 Copyright Notice and Code inside DOS 1.0 since whole sections of code were lifted from CPM-80 illegally when Seattle Computer ported CPM-80 without authorization into the 16-bit Operating System that Seattle licensed to Microsoft to sell to IBM for sale with 8088 based PCs. A friend of mine from back when I worked for Radio Shack showed me the Digital Research Copyright Notice inside of DOS 1.0 that he discovered while he was working inside of DOS. I think he was trying to find the location of the DOS serial number at the time.

This was the basis of the lawsuit that Seattle filed against Microsoft. Seattle never licensed Microsoft to sell DOS on any other platform/processor besides the IBM PC with 8088 processor. Seattle had a mysterious fire that put them out of the active retail S-100 computer selling business, but the lawsuit lingered on for years, until Microsoft finally settled with Seattle (paying them off, I think it was a token 1 million or 5 million dollars).

Gotta call "shenanigans" on this one, sorry.

You can find 86-DOS 1.0 here (http://www.86dos.org/) There is no mention of Digital Research in it. I've grepped the binaries for every pattern that might match and can't find a single instance. The same for my copy of PCDOS 1.1 and MS-DOS 1.26.

Further, "reverse engineering" in 1980, as long as it did not plagiarize code directly or rely on trade secrets was completely legitimate in 1980. There was a whole pile of lawsuits during the 1980s as to what constituted software plagiarism, so there's plenty of case law on this. This was all before DMCA.

vwestlife
July 14th, 2016, 02:14 PM
FreeDOS has _nothing_ to do with DR-DOS, Novell DOS, or OpenDOS beyond the fact that it's MS-DOS compatible.

...except for DR-DOS 8.1, which got caught copying some of FreeDOS's utilities without giving it credit as required by the GPL, and was subsequently withdrawn.

http://www.freedos.org/technotes/press/2005-drdos.txt

And DR-DOS has always displayed a copyright dating back to 1976, implying that it contains some CP/M code.

https://upload.wikimedia.org/wikipedia/en/3/39/DR-DOS-8.PNG

Caluser2000
July 14th, 2016, 02:14 PM
There's a whole host of early OSs on this page http://schorn.ch/altair_5.php

Chuck(G)
July 14th, 2016, 02:18 PM
And, as I posted on cctalk, reverse-engineering CP/M 80 is no great feat--I've done it without resorting to disassembly or proprietary documentation. Heck, it's less than 16KB of code all told. Not even as difficult as reverse-engineering a PC BIOS.

MicrocomputerSolutions
July 14th, 2016, 04:01 PM
Gotta call "shenanigans" on this one, sorry.

You can find 86-DOS 1.0 here (http://www.86dos.org/) There is no mention of Digital Research in it. I've grepped the binaries for every pattern that might match and can't find a single instance. The same for my copy of PCDOS 1.1 and MS-DOS 1.26.

Further, "reverse engineering" in 1980, as long as it did not plagiarize code directly or rely on trade secrets was completely legitimate in 1980. There was a whole pile of lawsuits during the 1980s as to what constituted software plagiarism, so there's plenty of case law on this. This was all before DMCA.



It's been over 30 years since I witnessed the display of the Digital Research Copyright Notice inside of DOS 1.0. But it was there. The Demonstration was repeatable at the time, I wrote the steps down and did it myself at home after I was shown how it was done. While I can't demonstrate the Digital Research Copyright Notices in PC DOS 1.0 any longer, I can show a copy of the Digital Research GUI/Windows type OS that was shown to me before Microsoft introduced Windows to the world back in around 1980. Microsoft did not invent GUIs and Windows, despite what they claim. Xerox SPARC created/invented/developed GUIs as used by Microsoft in Windows, and Digital Research had a working GUI in 1980 that they could have marketed (and should have had the right to copyright before Microsoft, if you think Microsoft had the right). It was demonstrated to me on a Compupro running a 68K processor back around 1980. I still have copies on 8" floppy disks.

I've never used the Seattle 16-bit OS, nor seen anyone try to display the Digital Research Copyright Notice/s in a copy of Seattle's 16-bit (like was shown to me in PC DOS 1.0).

I believe that Seattle Computer eventually settled with Digital Research, just as Microsoft eventually settled with Seattle Computer. The litigation went on for years past the demise of Gary, and Seattle Computer.

The code used by Seattle Computer that came from CPM-80 was a direct copy going into Seattle's 16-bit OS. In later years the Principles from Seattle admitted that they simply ported CPM-80 to a 16-bit platform. It was done word for word, and contained mistakes carried from CPM-80.

Have you tried looking in a copy of PC DOS 1.0 (which is where I was shown the Digital Research Copyright Notice). IBM worked rapidly to redo PC DOS after releasing it, and did eventually eliminate the Digital Research Copyright Notice/s from PC DOS. Why do you think you have version 1.1?

SomeGuy
July 14th, 2016, 04:36 PM
It's been over 30 years since I witnessed the display of the Digital Research Copyright Notice inside of DOS 1.0. But it was there. The Demonstration was repeatable at the time, I wrote the steps down and did it myself at home after I was shown how it was done.
Then you are mis-remembering something. Perhaps you were using an OEM DOS that included some tools or apps with DR copyrights. Perhaps your were looking at some unused space after a file. Or you are just trolling.

Anyway, there is a verified good dump of IBM PC-DOS 1.0 here: https://winworldpc.com/product/pc-dos/1x and there is no trace of such visible in the disk image. Not that Tim Patterson, IBM or Microsoft would have been that stupid to put one in. Feel free to try and replicate this.

Chuck(G)
July 14th, 2016, 04:46 PM
Have you tried looking in a copy of PC DOS 1.0 (which is where I was shown the Digital Research Copyright Notice). IBM worked rapidly to redo PC DOS after releasing it, and did eventually eliminate the Digital Research Copyright Notice/s from PC DOS. Why do you think you have version 1.1?

Just checked two copies of PC DOS 1.00 (the ones with "Robert O'Rear" in the boot sector. All copyright notices are IBM. No mention of "Digital", "Research" on the entire disk; "dri" found only as part of the words "drive" or "drives". The images are easy to google-fu on the web.

The big reason for the upgrade to 1.1 was mainly to get rid of an insistent demand to enter the time and date and support for double-sided drives. 1.00 supports only 160KB disk format. 1.10 supports 320KB. I did an OEM adaptation at around the 1.1 timeframe and nobody--not contacts from Bellevue nor other OEMs we consulted with ever mentioned plagarized DRI code. Nor, for that matter, did our contacts down in PG.

With all due respect, I think someone was having you on...

As an aside, with the OEM release of MSDOS 2.00, Microsoft included a README that stated that their eventual goal was to bring Xenix and MSDOS into a single product. Never happened--but now you know the reason for the backstroke default path separator.

per
July 15th, 2016, 05:18 AM
As an aside, with the OEM release of MSDOS 2.00, Microsoft included a README that stated that their eventual goal was to bring Xenix and MSDOS into a single product. Never happened--but now you know the reason for the backstroke default path separator.

Interesting! The source-code of the OEM MS-DOS 2.xx mentions they planned to make an official DOS edition of FGREP as well.

geneb
July 15th, 2016, 05:36 AM
...except for DR-DOS 8.1, which got caught copying some of FreeDOS's utilities without giving it credit as required by the GPL, and was subsequently withdrawn.

http://www.freedos.org/technotes/press/2005-drdos.txt

And DR-DOS has always displayed a copyright dating back to 1976, implying that it contains some CP/M code.

https://upload.wikimedia.org/wikipedia/en/3/39/DR-DOS-8.PNG

Yeah, I'm aware of that. The current owners of DR-DOS have serious issues. They got caught swiping code from this guy: http://www.drdosprojects.de/ as well.

In 1996/97 I worked with Roger Gross from the Novell European Development Center to get DR-DOS released as open source. We got as far as getting the core released (basically the kernel & command.com). Unfortunately some MBA wielding dickbags at Caldera got involved and scuttled the project so we couldn't finish the process, which really sucked.

I've still got the full sources for it all - I can kick off a build that will result in a complete OpenDOS 7 (essentially DR-DOS 7.0) distribution when it's all done. The tool chain is pure nightmare fuel though. A few different assemblers, one of which is so old it doesn't grok FCBs so the build script has to create subst drives so it can work. There's at least 3 different C compilers and a host of other tools.

I contacted the current owners 5 or 6 years ago about getting the rest of it released and they basically lost their shit and threatened me with all kinds of horror for even suggesting it. I should probably add something to my will to make sure the Internet Archive gets the machine when I die. :D

If you're curious, the OpenDOS mailing list archive is still up and you can flip through what went on: http://www.delorie.com/opendos/archives/. I don't know if there's any traffic there regarding Caldera's management killing the project.

The copyright date from 1976 doesn't surprise me at all. That copyright date is in most of the source code files, but I strongly doubt there's any genuine CP/M-80 code in there at all - not just because it's a different CPU, but CP/M-80 was written in a mixture of (I think) PL/I and assembler. There may be some code from CP/M-86, but I haven't dug into it for nearly 20 years, so I don't know for sure.

g.

Trixter
July 15th, 2016, 09:06 AM
Did MS-DOS use code copied from CP/M? Forensic software engineer Bob Zeidman said "no" in 2012 but now he has new research to disclose at VCF West.

I cannot attend VCF West. Will his talk be recorded and made available at a later date?

vwestlife
July 15th, 2016, 10:04 AM
I can show a copy of the Digital Research GUI/Windows type OS that was shown to me before Microsoft introduced Windows to the world back in around 1980. Microsoft did not invent GUIs and Windows, despite what they claim.

Windows was publicly presented in November 1983 and was released in November 1985. Digital Research's GEM was demonstrated in 1984 and released in February 1985. And Microsoft never claimed that they invented GUIs and windows.


Digital Research had a working GUI in 1980 that they could have marketed (and should have had the right to copyright before Microsoft, if you think Microsoft had the right). It was demonstrated to me on a Compupro running a 68K processor back around 1980. I still have copies on 8" floppy disks.

Digital Research's GSX (Graphics System eXtension) for CP/M was released around that time, but did not come with a GUI.

Al Hartman
July 15th, 2016, 12:05 PM
I preferred the earlier pre-lawsuit releases of GEM for the PC (which were just like the Atari-ST GEM) to the crippled later version. I have the disks somewhere, but I think they are out there on the net.

SomeGuy
July 15th, 2016, 02:25 PM
Windows was publicly presented in November 1983 and was released in November 1985. Digital Research's GEM was demonstrated in 1984 and released in February 1985. And Microsoft never claimed that they invented GUIs and windows.
Don't forget VisiCorp Visi On, demonstrated fall 1982 and released December 1983... that imploded along with VisiCorp shortly after...

Of course everyone "knows" Apple invented the GUI :P

Randy McLaughlin
July 15th, 2016, 03:33 PM
There have been plenty of look and feel lawsuits, as far as I know all failed.

As for "first" gui I would say it could be apple if you limit it to commercially available. But of course Apples GUI came from Xerox that was given to Jobs for free.

Xerox a major developer of so much we now accept as standard developed a GUI computer - mouse and all and gave up on it and gave all their development to Jobs.


Randy

yuhong
July 15th, 2016, 03:54 PM
Yeah, I'm aware of that. The current owners of DR-DOS have serious issues. They got caught swiping code from this guy: http://www.drdosprojects.de/ as well.

In 1996/97 I worked with Roger Gross from the Novell European Development Center to get DR-DOS released as open source. We got as far as getting the core released (basically the kernel & command.com). Unfortunately some MBA wielding dickbags at Caldera got involved and scuttled the project so we couldn't finish the process, which really sucked.

I've still got the full sources for it all - I can kick off a build that will result in a complete OpenDOS 7 (essentially DR-DOS 7.0) distribution when it's all done. The tool chain is pure nightmare fuel though. A few different assemblers, one of which is so old it doesn't grok FCBs so the build script has to create subst drives so it can work. There's at least 3 different C compilers and a host of other tools.

I contacted the current owners 5 or 6 years ago about getting the rest of it released and they basically lost their shit and threatened me with all kinds of horror for even suggesting it. I should probably add something to my will to make sure the Internet Archive gets the machine when I die. :D

If you're curious, the OpenDOS mailing list archive is still up and you can flip through what went on: http://www.delorie.com/opendos/archives/. I don't know if there's any traffic there regarding Caldera's management killing the project.

The copyright date from 1976 doesn't surprise me at all. That copyright date is in most of the source code files, but I strongly doubt there's any genuine CP/M-80 code in there at all - not just because it's a different CPU, but CP/M-80 was written in a mixture of (I think) PL/I and assembler. There may be some code from CP/M-86, but I haven't dug into it for nearly 20 years, so I don't know for sure.

g.
I think early versions of DR-DOS was based on a kernel that is more CP/M-86 like but without the INT E0 calls. BDOS 7.0 I think was a rewrite to replace many of the code with more DOS-like code. As a side note, it seems that drdos.com is basically dead now.

Scali
July 16th, 2016, 12:23 PM
And Microsoft never claimed that they invented GUIs and windows.

Pretty sure they claim to have invented Windows, they even trademarked it ;)

Chuck(G)
July 16th, 2016, 02:49 PM
Yup, every time I glance through the glass in my living room walls, I have to pay a royalty to them... :)

DDS
July 17th, 2016, 09:51 AM
They're all WIMPs! ;-)

https://en.wikipedia.org/wiki/WIMP_(computing)

Note the reference to Xerox PARC (Palo Alto Research Center).

https://en.wikipedia.org/wiki/PARC_(company)

To quote the WIKI:

Accomplishments

Xerox PARC has been the inventor and incubator of many elements of modern computing in the contemporary office work place:

Laser printers,
Computer-generated bitmap graphics
The graphical user interface, featuring windows and icons, operated with a mouse
The WYSIWYG text editor
Interpress, a resolution-independent graphical page-description language and the precursor to PostScript
Ethernet as a local-area computer network
Fully formed object-oriented programming in the Smalltalk programming language and integrated development environment.
Model–view–controller software architecture


Not sure exactly the route that the "graphical user interface, featuring windows and icons, operated with a mouse" concept took to get to Redmond, but it pretty much started out in Palo Alto. ;-)

Chuck(G)
July 17th, 2016, 10:13 AM
Heck, Xerox PARC was a very hot topic among the Silicon Valley companies in the 1970s. It was scarcely a well-kept secret. I recall taking a tour there around 1978 and marveling at the evolving concepts.

krebizfan
July 17th, 2016, 11:30 AM
Not sure exactly the route that the "graphical user interface, featuring windows and icons, operated with a mouse" concept took to get to Redmond, but it pretty much started out in Palo Alto. ;-)

Charles Simonyi went from PARC having worked on Bravo to MS where he worked on MS Word.

GUIs were being worked on in a number of places in addition to PARC. Terak had their own proto-GUI which saw use in a number of CAD programs.

jrigou
December 21st, 2016, 02:58 PM
Yup, every time I glance through the glass in my living room walls, I have to pay a royalty to them... :)

Windows is SUCH an original name! When I worked at a company that ported a GUI used on Gespac embedded systems called G-Windows, Microsoft didn't even blink at the naming similarity.
Yeah, MS-DOS, the Windows GUI, the current NT kernel, ALL pretty much derived from other company's work.
That's how Microsoft operates.

I keep an Amiga system around just to remind myself that when it was introduced the Amiga had color graphics (instead of the Mac's black and white), stereo sound (that later cost quite a bit to add to the PC in the form of a Sound Blaster card), and a multi-tasking OS with a built-in GUI (as opposed to the messy MS-DOS/Windows combination).

We ALL got pawned by IBM over this. They choose weak second rate company's as suppliers for the PC so that they didn't feed money to their competitors.
Instead of that crappy 8088, we should have received a Motorola 68000 (at least I wouldn't have had to wait until the i286, well really the i386, until I could port code I could write on a 6809), and WTF was the whole idea of PC-DOS when Microsoft could have provided Xenix?
Then again, IBM shot itself in the foot on the entire project, they helped boost Intel into the position its in, lost their place in the PC market, and a few years later wound up teaming with Motorola to develop the PowerPC.
I have NEVER understood their business management style, and I doubt there is anyone who could provide me with a legitimate explanation of many of their truly bone headed decisions.

bear
December 22nd, 2016, 11:16 AM
Armchair quarterback much?

lyonadmiral
December 22nd, 2016, 12:05 PM
Microsoft is know for getting access to Code to this day by approaching software companies asking to see the code for software programs and applications, claiming that they are interested in licensing the intellectual property for inclusion in a future Microsoft product or revision. Microsoft signs a non-disclosure agreement in exchange for access for a specific amount of time. When the time period expires, they say "sorry we changed our minds about licensing your product" And go on their merry way. Some time later, when Microsoft unveils a new, the code from the programs or applications that they did not license after being allowed access to the Code shows up in their "new" product. Microsoft has been accused, and convicted of this strategy several times in the past. In many cases causing delay in marketing a product because the product ends up being rewritten, OR some product recalls. This is documented history.

I think a good historical fiction movie for this Anti-Trust with Tim Robbins and Ryan Phillippe.

lyonadmiral
December 22nd, 2016, 12:17 PM
I have NEVER understood their business management style, and I doubt there is anyone who could provide me with a legitimate explanation of many of their truly bone headed decisions.

I was pretty sure that the whole process behind the design and launch of the 5150 PC with Don Estridge was that IBM's traditional processes took too long and they wanted to get this think done and out the door much faster.

vwestlife
December 22nd, 2016, 12:20 PM
We ALL got pawned by IBM over this. They choose weak second rate company's as suppliers for the PC so that they didn't feed money to their competitors.
Instead of that crappy 8088, we should have received a Motorola 68000 (at least I wouldn't have had to wait until the i286, well really the i386, until I could port code I could write on a 6809), and WTF was the whole idea of PC-DOS when Microsoft could have provided Xenix?

The IBM 5150 PC was never meant to be a powerful business machine, because IBM didn't want to hurt sales of their mainframes and minicomputers. The PC was meant to be an Apple II competitor -- something simple that you could connect to your TV and cassette recorder and use to program in BASIC, and which could be expanded into a disk system that could do light office work.

And although it didn't realize the full potential of a 16-bit platform, the PC's 8088 was already a significant upgrade from the 8085 used in the machine it shared parts with -- the Datamaster.

krebizfan
December 22nd, 2016, 12:55 PM
IBM could not use a 68000 in a PC in 1981; the 68000 price exceeded IBM's target price for a complete PC.

carangil
December 30th, 2016, 12:41 PM
I'm a little late to this thread. I attended the talk at VCF west. He said be compared the binaries of CP/M 86 to DOS 1.0. The main explanation for the similarity between CP/M and QDOS is that the author probably had the CP/M manual and just copied the syscall numbers.

But... if there was copying, it may not have been from CP/M 86 to QDOS, but from older 8080 CP/M to QDOS. DOS only has the first few syscalls of CP/M, matching an earlier version, not the CPM-86 version. I don't even think CP/M 86 was out yet, since it was DRI vs MS fighting for the OS IBM would bundle with the machine. So, any copying would have been from the 8080 version. So we need a binary comparison from 8080 CP/M to 8086 DOS. Of course, they are different processors. But, I remember reading that Intel released an assembler the takes 8080 assembly code and outputs 8086 machine code. The 8080 and 8086 instructions have different encodings, but quoting wikipedia's 8086 page:


Marketed as source compatible, the 8086 was designed to allow assembly language for the 8008, 8080, or 8085 to be automatically converted into equivalent (suboptimal) 8086 source code, with little or no hand-editing. The programming model and instruction set was (loosely) based on the 8080 in order to make this possible.

DRI has an 8080 to 8086 trans-assembler. XLT86 (I don't know what to call such a program, so I made up the term).
Seatle Computer Products, where QDOS is from, also had their own 8080 to 8086 trans-assembler.

I want to see the CP/M source code ran through the various 8080/8086 translating assemblers and compared to DOS-86 and CPM/86.

tldr; My tinfoil hat theory for why QDOS and CP/M 86 have different binary codes are because they had the same source code but used different trans-assemblers.

I don't think anyone has debunked this particular CP/M-DOS link yet.


EDIT: I do have one 'gap' in the computer history I don't understand:
I could see how DRI was developing CP/M for the upcoming IBM PC. DRI was a big name in computers already because of the 8080 version of CP/M. But the story is always told as Bill Gates went to Seattle Computer Products, bought QDOS, and took it to IBM saying hey look, we have the OS for your new computer. SCP was a small, unknown company. What were they running their QDOS on? The PC wasn't even released yet; how were they writing an OS for a computer no one knew about yet?

Chuck(G)
December 30th, 2016, 12:58 PM
I think the link between CP/M 2.2 and QDOS has been mentioned several times. One need only look as far as all MS-DOS versions to note that loading the API request in register CL and jumping to PSP+5 persists to the last version of MS-DOS. CP/M-86 didn't use that method--IIRC, it used INT 0E0H. MS-DOS doesn't include the CP/M 3-MP/M additional functions.

Intel had an ISIS-hosted translator from 8080-to-8086 code. I can remember spending a very frustrating day at the local Intel sales office with a sample bit of 8080 code--a basic BCD floating-point package for the 8080 and waiting for hours for the translator to finish its work--and going home disappointed. About a week later, I received a call that they'd finally figured out the bugs and I could pick up my translated program. Said program was more than half-again as large as the original in terms of object bytes. I was a bit skeptical of the Intel claim back then that the 8086 code was far more compact than its 8080 counterpart. And the blasted thing didn't work anyway when it was put to the test. Numeric problems are great for testing translation accuracy--you have specific answers that are expected.

There were other 80-to-86 translators for CP/M. I recall that Sorcim had one. AMC had a Z80-to-Z8000 translator as well.

But I don't buy the idea that QDOS is nothing more than automatically translated CP/M source. The binary just doesn't bear that out. Besides, coming up with a work-alike for CP/M 2.2 is child's play, comparatively. Witness TP/M, for example.

SomeGuy
December 30th, 2016, 01:00 PM
I do have one 'gap' in the computer history I don't understand:
I could see how DRI was developing CP/M for the upcoming IBM PC. DRI was a big name in computers already because of the 8080 version of CP/M. But the story is always told as Bill Gates went to Seattle Computer Products, bought QDOS, and took it to IBM saying hey look, we have the OS for your new computer. SCP was a small, unknown company. What were they running their QDOS on? The PC wasn't even released yet; how were they writing an OS for a computer no one knew about yet?
They developed and ran QDOS AKA SCP 86-DOS on SCP's 8086 based S-100 board. That was actually the whole reason 86-DOS was developed, SCP had created this fancy new card and had no OS to run on it yet. It was not IBM PC compatible at all, and even used 8" drives. But like CP/M-80 it was designed to be portable, so all one had to do was add appropriate I/O code in the DOS BIOS file (IO.SYS) and it could be made to run on most any 8086/8088 based hardware platform. So they had to "port" it to the IBM PC.

krebizfan
December 30th, 2016, 01:20 PM
I'm a little late to this thread. I attended the talk at VCF west. He said be compared the binaries of CP/M 86 to DOS 1.0. The main explanation for the similarity between CP/M and QDOS is that the author probably had the CP/M manual and just copied the syscall numbers.

But... if there was copying, it may not have been from CP/M 86 to QDOS, but from older 8080 CP/M to QDOS. DOS only has the first few syscalls of CP/M, matching an earlier version, not the CPM-86 version. I don't even think CP/M 86 was out yet, since it was DRI vs MS fighting for the OS IBM would bundle with the machine. So, any copying would have been from the 8080 version. So we need a binary comparison from 8080 CP/M to 8086 DOS. Of course, they are different processors. But, I remember reading that Intel released an assembler the takes 8080 assembly code and outputs 8086 machine code. The 8080 and 8086 instructions have different encodings, but quoting wikipedia's 8086 page:



DRI has an 8080 to 8086 trans-assembler. XLT86 (I don't know what to call such a program, so I made up the term).
Seatle Computer Products, where QDOS is from, also had their own 8080 to 8086 trans-assembler.

I want to see the CP/M source code ran through the various 8080/8086 translating assemblers and compared to DOS-86 and CPM/86.

tldr; My tinfoil hat theory for why QDOS and CP/M 86 have different binary codes are because they had the same source code but used different trans-assemblers.

I don't think anyone has debunked this particular CP/M-DOS link yet.




EDIT: I do have one 'gap' in the computer history I don't understand:
I could see how DRI was developing CP/M for the upcoming IBM PC. DRI was a big name in computers already because of the 8080 version of CP/M. But the story is always told as Bill Gates went to Seattle Computer Products, bought QDOS, and took it to IBM saying hey look, we have the OS for your new computer. SCP was a small, unknown company. What were they running their QDOS on? The PC wasn't even released yet; how were they writing an OS for a computer no one knew about yet?

Seattle Computer Products had an S100 8086 card. That was the system that was used to create the initial versions of 86DOS. http://www.s100computers.com/Hardware%20Folder/Seattle%20Computer%20Products/8086%20CPU%20Board/8086%20Board.htm has pictures of the card and some other details about it. History is http://www.s100computers.com/Hardware%20Folder/Seattle%20Computer%20Products/History/History.htm Note that the SCP 8086 was available for 2 years before the IBM PC arrived.

Several people have run CP/M 2.2 through various Z80 to 808x converters. None has managed to get code that matches the various SCP and MS releases. I think it might take longer to fix up converted code after removing all the functions that DOS never used that were part of CP/M than to write a partial CP/M clone from scratch.

Trixter
December 30th, 2016, 11:12 PM
waiting for hours for the translator to finish its work

That's insane. There's, what, at least 50% opcode overlap between the two? What on earth was the translator doing, trying to optimize for size?

Because computing in general was so difficult 30+ years ago, I have this romantic idea in my head that everyone who wrote code, or compilers, or designed hardware, etc. were all flawless engineer geniuses. It is always jarring to learn that there was a percentage of outright morons back then (assemblers that don't produce the correct binary opcode for the mnemonic is a particular head-scratcher).


There were other 80-to-86 translators for CP/M. I recall that Sorcim had one. AMC had a Z80-to-Z8000 translator as well.

Sorcim makes sense, since they had a lot of software to port to the PC. Using SuperWriter or SuperCalc for a minute or two gives the strong impression that they were translated from an 8080 running CPM.


But I don't buy the idea that QDOS is nothing more than automatically translated CP/M source.

I also don't buy the notion that there is a hidden DRI message in DOS, or that there ever was. I believe Jerry Pournelle was the source of that rumor, and he is a sci-fi writer I remember liberally embellishing his technical articles in Byte, so several grains of salt must be taken. Furthermore, since DRI is long gone, and any statute of limitations is also long past, if a hidden message ever did exist it surely would have been leaked by now.

Chuck(G)
December 31st, 2016, 08:15 AM
The translator had several levels of translation, IIRC, there was the "literal", preserving detailed operation--I seem to recall a bunch of fiddling with getting the condition codes exactly right. And it was ISIS-II, running on an MDS-800, at, what, 2 MHz with 8" floppies. The code (I still have it) was about 3000 lines of assembly.

You should have seen what it took to build Supercalc for the PC. There was a bunch of automatically translated 8080 code, there was native 8086 code, there were graphics routines in Pascal and various other bits. Of course, the assembler and translator were Sorcim's own, as well as the Pascal. I recall having to take my Intel-standard 8086 assembly and tweak it to get Sorcim's assembler to accept it.

The whole process involved a VAX 11/730, a Compupro system with an 85-88 card and finally, an IBM PC. Marty Herbach, I think, was hired by CA when they took over the product simply because he knew how to build the thing.

I got the same feeling for Wordstar for the PC--that much of it was simply automatically translated code. This was reinforced by Micropro offering WS 4 for both 8-bit CP/M and MS-DOS at the same time (I have both).

Interesting times.

vwestlife
January 1st, 2017, 12:58 PM
I got the same feeling for Wordstar for the PC--that much of it was simply automatically translated code. This was reinforced by Micropro offering WS 4 for both 8-bit CP/M and MS-DOS at the same time (I have both).

Weren't early versions of WordStar for the IBM PC limited to using 64K of RAM, or something stupid like that? And they couldn't get the old translated CP/M code to recognize DOS 2.x's subdirectories, so they had to dump it and start over from scratch. There is a looong history of that, too long to go into here...

Chuck(G)
January 1st, 2017, 01:20 PM
There was a version of WS 3.3 initially for the PC, so yup, I think the limitation of 64K probably applied. I seem to recall that WS is mentioned in the original IBM 5150 list of PC-ready applications. I may even have a copy of 3.3 for the PC. If you were coming from the 8-bit CP/M world, it wasn't bad at all, thanks to the memory-mapped video.