Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"My conclusion is that DOS source code was not copied from CP/M source code."

"The commands were not copied; they were simple, descriptive terms that were common to other operating system such as VMS and Apple DOS."

"The DOS system calls were definitely copied from the CP/M system calls. Given the quantity of identical numbers representing identical functions, it is clear that Tim Paterson referenced the CP/M manual when writing DOS."

The last bit is alluded to in page D-7 of the DOS 1.0 user manual[1], which says "There is an additional mechanism for pre-existing programs that were written with different calling conventions. The function number is placed in the CL register...and an intrasegment call is made to location 5 in the current code segment." That's because in CP/M, "...access to the FDOS functions is accomplished by passing a function number and information address through the primary point at location BOOT+0005H" [2].

[1] https://archive.org/details/bitsavers_ibmpcdos61_7006095

[2] http://www.gaby.de/cpm/manuals/archive/cpm22htm/ch5.htm#Sect...

So, yes, the DOS function calls were designed with CP/M backwards compatibility in mind, and it says so right in the manual. Kind of.



Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: