4 ms·
You left out the part about SCP blatantly ripping off the CP/M OS to produce QDOS, which Bill Gates purchased in order to license to IBM. The CP/M source code
by anonymousiam 4y ago
You left out the part about SCP blatantly ripping off the CP/M OS to produce QDOS, which Bill Gates purchased in order to license to IBM. The CP/M source code was widely available, but still copyrighted by DRC. At the time, I recall having a CP/M-based x86 cross-assembler that did a pretty good job. It probably took Tim Paterson a day or two to hack QDOS together given the availability of the CP/M source code and tools. If QDOS was an original work, why use "5" as the system call interrupt? (CP/M used "call 5".) The QDOS system call function list and arguments are identical to CP/M. The FCB-based disk layout was also virtually the same as CP/M.
https://en.wikipedia.org/wiki/Seattle_Computer_Products https://en.wikipedia.org/wiki/Seattle_Computer_Products
https://www.theregister.com/2007/07/30/msdos_paternity_suit_resolved/ https://www.theregister.com/2007/07/30/msdos_paternity_suit_...
- deleted 4y ago[deleted]
- rowanG077 4y agoWhy would you intentially make things different? There is a lot of value on agreeing on low level details.
- WalterBright 4y agoHaven't the courts decided that an interface is not copyrightable? Also, CP/M bore a remarkable resemblance to DEC operating systems, like RT-11.
- spc476 4y agoThe 8086 was not object compatible with the 8080, but one could "assemble" 8080 code (or even Z80 code) into 8086 with an automated process. It might not be optimal code, but it would get a working application up and running rather quick on new hardware.
- EvanAnderson 4y agoThe analysis done by Robert Zeidman in 2014[1] published in the Journal of Software Engineering and Applications comes to the conclusion that no code was copied from CP/M by SCP. Tim Paterson has stated that API and structure compatibility were explicit goals. That can be achieved w/o copying any code. re: "5" as the system call interrupt - I've never seen an SCP machine or QDOS, but on an IBM PC interrupt 5 handled print screen (and on the 80186 and up it was a CPU-generated interrupt for BOUND exceptions). [1] https://www.scirp.org/html/4-9301871_46362.htm https://www.scirp.org/html/4-9301871_46362.htm
- skissane 4y ago> re: "5" as the system call interrupt - I've never seen an SCP machine or QDOS, but on an IBM PC interrupt 5 handled print screen (and on the 80186 and up it was a CPU-generated interrupt for BOUND exceptions). Not an interrupt, a CALL. In 8080/Z80 systems, a system call is just a subroutine call to the OS kernel, there is no memory protection so no need for any special type of instruction. (I suppose on 8086 there is no memory protection either–but software interrupts are beneficial in isolating software from direct knowledge of memory addresses, which simplifies memory management; 8080 systems had far less need for simplified memory management–you can't fit much in so little memory, so there is not much to manage.) So, on CP/M-80 and CP/M-8086, you CALL 5 (call to memory address 5), where there is a jump instruction which redirects your call to the actual entry system call dispatcher entrypoint in the OS kernel (CP/M BDOS). QDOS/PC-DOS 1.0 preserve the same mechanism for source backward compatibility with CP/M, and their system calls are a subset of CP/M's (with equivalent numbers/arguments). Except, of course, in 8086, it is not a CALL to absolute address 5 (0:5), since that would be calling into the IVT, it is a call to CS:5 – DOS puts at offset 5 in the PSP a JMP FAR which eventually lands you in MSDOS.SYS, via some bizarre mechanism involving address wraparound (the infamous "A20 gate" was introduced to keep this mechanism working on 286+). "CALL 5" ends up being essentially equivalent to INT 21, and very little software ever used it – basically only software directly ported from CP/M-80 (such as, possibly, very early versions of WordStar for DOS–surviving copies appear to use INT 21 instead, but the earliest versions are quite possibly lost.)
- 4y ago
- themadturk 4y agoPatterson ripped off CP/M the same way that Columbia and Compaq ripped off IBM...by creating clean-room copies of CP/M and the IBM PC BIOS.