Как стать автором
Обновить

Комментарии 36

Ну почему "никому не известная компания Microsoft из Рэдмонда "?
Те кому нужно знали. Мама через работу в благотворительном фонде познакомилась с Джоном Опелем - председателем правления IBM. Попросила за сыночка.

А ещё и мс-дос и этот вот 86-dos были цельнотянутыми с CP/M-86 от Digital Research -- при помощи хитрых комбинаций с якобы несостоявшимися переговорами ibm c Килдоллом (главой Digital Research) и якобы разработанной в 'чистой комнате' (см. https://en.wikipedia.org/wiki/Clean_room_design) 86-dos. Истинная причина видимо была другая -- ibm не хотела платить лицензионные отчисления Digital Research (которая тогда имела компетенции в операционках для 8-битных недокомпьютеров без защиты памяти, а microsoft не имела -- та только бейсики для 8биток умела клепать!), а для microsoft'а это оказалось путёвкой в мир. Так сказать, 'win-win'.

Ещё из интересного, несколькими годами позже Килдолл захотел написать книгу с воспоминаниями о том времени, и очень удачно и конечно же *случайно* -- в баре упал, ударился и умер.

Я осознанно не стал приводить всю историю. В общих чертах её все знают.
Но, пожалуй, одну свою идею выскажу. В сети я её не встречал.

На первый взгляд совершенно непонятно, как IBM отпустила на оутсорс сверхприбыльное и быстро растущее направление. Что за слепота обуяла их бизнес-аналитиков?
А потом я подумал. К моменту сабжа IBM была крупной компанией и имела не только портфельных, но и мелких инвесторов. Не были ли эти события классическим примером перевода прибыли в "дочку", когда крупные игроки создают предприятие для себя и переводят туда выгодные контракты. А обслуживание малоприбыльной инфраструктуры остается на головной фирме.

Интересный вариант. Но вообще, мне казалось, чт в конце 70-х - начале 80-х рынок "настольных" ПК все еще выглядел маргинальным: там (довольно успешно) работали молодые и небольшие компании, а вот крупные "монстры" считали, что этот уровень дохода слишком мал по сравнению с затратами на производство и его администрирование.

Возможно, именно поэтому при создании 5150 IBM целиком и полностью опералась на чужие аппаратные компоненты - из "своего" там были только мозги и идеи Эстриджа.

Но закон Мура был уже к тому времени давно уже подтвержден практикой. Поэтому факт, что персоналки станут дешевле и доступнее IBM не могли не понимать. А значит рынок софта для персоналок будет расти как на дрожжах.
Просто если отдел разработки создали в IBM, то не получилось бы старта с низкого базиса. И процентный рост акций выглядел бы не так эпично как для MS.

Сейчас подумал, что история с OS/2 тоже в эту же строку ложится.

Из пасхалок IBM PC, надо добавить что первоначально в качестве процессора туда планировался мотороловский МС68000. Но i8088 оказался дешевле в обвязке и выиграл судьбоносный раунд для Intel.

Спасибо за добавление. Кстати, пытаясь сравнить процессоры, наткнулся на советскую "Бесту-88" о которой не знал. Было интересно почитать историю того, что потеряли.

А что Беста? Вот Википедия подсказывает: "Всего мини-завод при ЗИЛе выпустил несколько тысяч (по другим данным, порядка полутора тысяч) рабочих станций."

У нас как-то любят забывать, наивесомейший вклад в успех любого товара вносит такой забавнейший (и мерзопакостнейший) этап, как "развёртывание массового производства".

Вот IBM не верил особо в персоналки, но когда они внезапвно "пошли" взял и выпустил 130 000 штук...

Я уже в конце 1980 годов интересовался ИТ... В те годы в СССР, увы, токмо решения очередного пленума ЦК КПСС были в наличии - что мол в следующей пятилетки надо углУбить и выпустить 100 000 штук компутеров... Пришлось самому себе ZX Spectrum паять :)))

решения очередного пленума ЦК КПСС были в наличии — что мол в следующей пятилетки надо углУбить и выпустить 100 000 штук компутеров.


Вы интересовались, а нам надо было выполнять :)

И если у меня (относительно молодого специалиста) эта задача вызвала интерес, то наше руководство сочло это все лишним гембелем и отбивалось руками и ногами.

Забавно, что оно, в конечном итоге, оказалось правым — как раз к тому времени, когда были бы разработаны проекты по модернизации участков и их воплотили бы в «железе» — в страну хлынул поток импортных компьютеров и все затраты на организацию производства надо было бы списать как убытки.

В общем, я так и написал в статье: " При этом сама MS-DOS 1.0 представляла собой по большому счету переименованную 86-DOS, которую Билл Гейтс купил за 75 000 долларов у разработчика Тима Патерсона из Seattle Computer Products. А та, в свою очередь, являлась портированной для процессоров Intel усовершенствованной версией CP/M от Digital Research. "

Просто описывать всю этузамысловатую историю полностью - это еще одна отдельная статья. Да и писали уже об этом неоднократно :)

Тут imho не очень хорошо подобраны слова. Изначально cp/m как бы и была сделана для 'процессора intel', а именно для i8080. Конечно потом уже повестку 8-битных cp/m машин перехватил Z80 (оставшись более-менее бинарно совместимым с 8080). Правильнее было бы написать что 'портированной для 8086'.

Ну и ещё, всё-таки CP/M-86 от DR не упомянута была (которая впоследствие стала DR-DOS).

Ну и ещё, всё-таки CP/M-86 от DR не упомянута была (которая впоследствие стала DR-DOS).

Общего между ними только компания-разработчик: ни преемственности, ни совместимости не было.

MS-DOS 1.0 это QDOS. Авторы которой использовали номера вызовов системных функций и раскладку аргументов по регистрам те же что и в CP/M для упрощения переноса программ. Реализация там была своей на ассемблере, а не на PL/M. Исходники доступны. Собственно CP/M-86, на момент написания QDOS, была доступна только в виде маркетинговых материалов DRI. Тянуть было реально не с чего. Потом ситуация повторилась, но в обратную сторону. Работу с файлами через handlers, а не через FCB, DRI копировала у MS.

Ну и насчет смерит Кайдала - несколькими годами позже это через 15 лет.

А ничего, что с Microsoft компания IBM и так работала? Кто, по вашему ей (да и туевой хуче других компаний) делал встроенный BASIC. Microsoft к тому времени уже не нужно было "знакомить" - у неё был достаточный опыт построения всяких трансляторов.

Ну, а почему выбрали DOS от Гейтса, а не CP/M от Килдалла - ответ скорее всего прозаичный. У DR просто не было ещё операционки для x86. Её обещали поставить аж в 1979 году, но к моменту разработки IBM PC её так и не было. Как пишут, она появилась-то через полгода после выхода IBM PC.
А когда спросили у Гейтса (который как я уже сказал - пилил им Бейсик), то тот вспомнил, что у знакомой ему Seattle Computer Products (этой компании Гейтс тоже делал Бейсик) как раз есть что-то подобное и подсуетился.

 первая массовая персоналка от IBM

Ударение на «от IBM» не будет лишним, потому как Apple II представили ещё в 1977 и учитывая продажи (4,8 миллионов единиц) его сложно не считать «массовым».

Именно это и имелось в виду. Я даже специально отметил, что " Фактически, из главных конкурентов IBM PC 5150 среди несовместимых платформ на рынке 80-х осталась только линейка Apple Macintosh. "

Вы в курсе про отличие Apple II от Macintosh?

Вы не поверите, но у меня есть этот компьютер:
image
IBM Personal Computer 5150 (1981г. ) с монитором HX-12E Princeton Graphic Systems (Taiwan, 1987 г.
Приобрёли мы этот компьютер 35 лет назад, в далёком 1987 году. До сих пор работает.

:Жалею, что продал такой корпус... Партия такого железа попала в Москву в разборе в 1992 году, видимо ввезли как "лом вычислительной техники". Их продавали на Тушинском рынке зимой 1992-1993 за какие-то смешные копейки, долларов за 150 можно было собрать целую машину (притом что я незадолго до этого купил брендовую AT 8МГц примерно за 500). К сожалению, от всего этого у меня остался только родной флоп на 360k.


Таки ДА!

Позвольте поинтересоваться, а в прошлом году 12 августа не было уникальной датой?)

На задней стенке компьютера присутствовал дополнительный разъем для подключения «кассетного регистратора данных» (стримера),
Я конечнострашно извиняюсь, но когда обычный «кассетник» стал стриммером?
но такие устройства для IBM PC не прижились,
Как не прижились? Прижились, но только в оригинальных IBM.
поскольку дисководы обладали значительно большей скоростью чтения-записи, да и вообще были удобнее в использовании.
Да только дисководы и стоили не так дешево, а кассетник в хозяйстве уже был.
Поэтому на более поздних моделях ПК этот разъем исчез.
Как цена на флоппи дисководы упала, так и потребность в данном интерфейсе пропала.
В качестве операционной системы персоналка использовала PC DOS 1.0 и CP/M-86.
Не только, там еще была UCSD p-System тоже достаточно уникальная система.
При этом сама MS-DOS 1.0 представляла собой по большому счету переименованную 86-DOS, которую Билл Гейтс купил за 75 000 долларов у разработчика Тима Патерсона из Seattle Computer Products. А та, в свою очередь, являлась портированной для процессоров Intel усовершенствованной версией CP/M от Digital Research.
86-DOS не была портом CP/M, она писалась по её мотивам, если точнее по API, поскольку Digital Research очень сильно задерживали выпуск CP/M86. При это возникла патовая ситуация, был процессор 8086, была плата на его основе, а вот из ПО на неё был только Microsoft Basic. Вот Тим и не стал ждать милостей от природы Digital Research, и написал свою QDOS (Quick&Dirty OS). Которая потом превратилась в 86-DOS, которую потом и лицензировал Билл Гейтс заодно и наняв её разработчика Тима Патерсена.

86-DOS не была портом CP/M, она писалась по её мотивам, если точнее по API

мотивы API были такие, что внутри компилятора Килдэлла PL/I-86 (январь 1984 год) был переключатель CP/M<=>MS DOS. "Внутри" - т.е. нельзя было переключить из командной строки. Переключатель состоял в том, что вместо INT 21 подставлялся другой номер, не вспомню какой, а номер API писался не в AH а в регистр CL. И все. Так, что строгая копия. Кстати, этот PL/I-86 до сих пор доступен в сети, можно проверить.

История с Г. Килдэлом запутана в СМИ и не красит IBM. Поскольку сам Килдэлл погиб в 1994 году (не "упал", а ударили бутылкой по голове), то IBM и MS могут писать что угодно и выставлять себя в самом выгодном свете.

внутри компилятора Килдэлла PL/I-86 (январь 1984 год) был переключатель CP/M<=>MS DOS.

Вот только QDOS это 1979-1980 годы, когда никакого PL/I-86 и в помине не было.
мотивы API были такие, что внутри компилятора Килдэлла PL/I-86 (январь 1984 год) был переключатель CP/M<=>MS DOS.
Сырок или ссылку на онный сможете привести? Это не считая того что к 1984 году уже появилась MSDOS2 API которого очень сильно расширился.
«Внутри» — т.е. нельзя было переключить из командной строки. Переключатель состоял в том, что вместо INT 21 подставлялся другой номер, не вспомню какой, а номер API писался не в AH а в регистр CL. И все.

«Entry to the BOOS is accomplished through the 8086 software interrupt #224,
which is reserved by Intel Corporation for use by CP/M-86. The function code is
passed in register CL, with byte parameters in DL and word parameters in DX.»

И что это доказывает?
Так, что строгая копия. Кстати, этот PL/I-86 до сих пор доступен в сети, можно проверить.
Сырок или ссылку на онный сможете привести? На каноничном http://www.cpm.z80.de/source.html лежат сырки только под СР/М-80
История с Г. Килдэлом запутана в СМИ и не красит IBM. Поскольку сам Килдэлл погиб в 1994 году (не «упал», а ударили бутылкой по голове), то IBM и MS могут писать что угодно и выставлять себя в самом выгодном свете.
Киддал грозился доказать что DOS1 это копия СР/М введя в командную строку определенный набор символов и получить определенную реакцию системы. Но этого так и не было продемонстрировано. Ни в суде, ни на публике.
Да и приплетать смерть человека в 1994 году, когда уже вышла OS/2(v2)/Windows NT/Windows95, к событиям 14-летней давности как минимум странно. Учитывая еще то что СР/М-86 вообще то официально продавалась с IBM PC, и как бы не IBM выставляла на неё цену, а Digital Research которая сама упустила шанс на победу в ценовой войне с MS. Ждали в Digital Research своего «золотого покупателя», а обычный покупатель выбирал «если нет ни какой разницы, то зачем платить больше?»

http://old-dos.ru/index.php?do=show&id=2148&mode=files&page=files

первая же ссылка в Яндексе по запросу PL/I-86

CP/M-86 издевательски "продавалась" за тысячу долларов, т.е. у МС сообщалось, что можете вместо работающей MS DOS купить другую ОС, чего подавляющее большинство, разумеется, никогда не делало.

Кстати, некий Тим Патерсен обучался на курсе по ОС для микрокомпьютеров у некоего Гарри Килдэлла.

old-dos.ru/index.php?do=show&id=2148&mode=files&page=files
первая же ссылка в Яндексе по запросу PL/I-86
И где сырок (source code) компилятора PL/I-86 по приведенной вами ссылке? И btw компилятор PL/I-86, на который вы ссылаетесь, датирован 1983 годом (вышли ХТ и DOS2)
CP/M-86 издевательски «продавалась» за тысячу долларов
Не за тысячу, а за четыреста. Причем это была цена имено DRI. За тысячу девятьсот ЕМНИП продавалась UCSD p-System.
Но весь цимес ситуации был в том что СР/М-86 на момент выхода IBM PC не существовало. Её пилили еще полгода, до весны 1982 года. Не удивительно что пользователи брали и использовали то что РЕАЛЬНО существует, а не ждали «пока ишак заговорит».
т.е. у МС сообщалось, что можете вместо работающей MS DOS купить другую ОС
Не Микрософт сообщал, а IBM. Ведь IBM PC был их продуктом.
чего подавляющее большинство, разумеется, никогда не делало.
А те которые таки решались обратится к DRI за СР/М-86 получали отлуп — «данная ОС на IBM PC пока не продается, ждите — мы вам сообщим как она будет доступна».
Кстати, некий Тим Патерсен обучался на курсе по ОС для микрокомпьютеров у некоего Гарри Килдэлла.
И что из этого? Некий Линус Торвальдс после прочтения книги Эндрю Таненбаума, посвящённой операционной системе Minix, взял и написал LINUX. Так что Линус «портировал» MINIX под именем LINUX?
И да, а сколько студентов было на курсе по ОС у некоего Гарри Килдэлла?

Сравнение Патерсена с Торвальдсом хорошее. В самом деле, ведь после написания LINUX Торвальдс никогда больше ОС не занимался, в обсуждениях не участвовал, версий не выпускал. А вот Патерсен продолжил в MS совершенствование свой QDOS. Или я все перепутал? И это Патерсен после исторической сделки уже нигде не отсвечивал? И его имя упоминается обычно в исторических очерках, где объясняется, что MS DOS – оригинальна, это никакая ни CP/M. А Килдэл сам дурак, упустил счастье, отказался от предложений IBM. Вариант: в этот день хотел полетать на самолете. Вариант: не подписал условия конфиденциальности, потому, что болел паранойей и т.д. и т.п.

И где сырок (source code) компилятора PL/I-86 по приведенной вами ссылке? И btw компилятор PL/I-86, на который вы ссылаетесь, датирован 1983 годом (вышли ХТ и DOS2)

Извините, слаб в жаргоне, не понял. Исходных текстов компилятора в открытом доступе никогда не было. Все, расходимся? Давайте чуть-чуть все же глянем код. Это быстро. По приведенной ссылке я скачал версию для DOS. Это файл PLI.EXE (загрузчик) и файлы PLI0.OVR, PLI1.OVR, PLI2.OVR – три прохода-оверлея транслятора. В DOSBox запускаем PLI.EXE под DEBUG.EXE и набираем заклинание «G 102» и «P» для отработки стандартного загрузчика. Получаем творение Килдэла, развернутое в памяти.
Конечно, можете мне на слово не верить, но по адресу 004D подпрограмма обращения к ОС CP/M-86, внутри которой эмуляция CP/M на MS DOS

1E9A:004D 55            PUSH	BP                                 
1E9A:004E 8B2E0001      MOV	BP,[0100]                          
1E9A:0052 817E00AA00    CMP	WORD PTR [BP+00],00AA              
1E9A:0057 7558          JNZ	00B1                               
1E9A:0059 8BEC          MOV	BP,SP                              
1E9A:005B 8B5604        MOV	DX,[BP+04]                         
1E9A:005E 8B4E06        MOV	CX,[BP+06]                         
1E9A:0061 8BC1          MOV	AX,CX                              
1E9A:0063 2AE4          SUB	AH,AH                              
1E9A:0065 03C0          ADD	AX,AX                              
1E9A:0067 8BF0          MOV	SI,AX                              
1E9A:0069 8AE0          MOV	AH,AL                              
1E9A:006B FF940601      CALL	[SI+0106]                          
1E9A:006F 5D            POP	BP                                 
1E9A:0070 C20400        RET	0004                    

Сначала проверяется, что дно стека не затерто, затем параметры переписываются в CX и DX (для CP/M-80 в CL и DL), затем из CL делается индекс и вызываются программы эмуляции функций CP/M-86
Вот таблица рассылки:

2C9A:0100                    EB 00-F5 00 F9 00 FD 00 01 01  
2C9A:0110  05 01 09 01 E4 00 E4 00-3C 01 40 01 44 01 50 01  
2C9A:0120  56 01 5A 01 62 01 67 01-6C 01 71 01 76 01 7B 01  
2C9A:0130  87 01 8C 01 91 01 E4 00-96 01 9B 01 B3 01 E4 00  
2C9A:0140  E4 00 E4 00 E4 00 E4 00-B8 01 C4 01 C9 01 CE 01  
2C9A:0150  D3 01 E4 00 D8 01 E9 01-E4 00 E4 00 E4 00 E4 00  
2C9A:0160  E4 00 E4 00 E4 00 E4 00-E4 00 E4 00 EE 01 06 02  
2C9A:0170  E4 00 E4 00 E4 00 E4 00-E4 00 E4 00 E4 00

Таким образом, вызов функций CP/M 00, 01, 02, 03…. приведет в вызову подпрограмм по адресам 00EB, 00F5, 00F9, 00FD и т.д. Некоторых функций нет, тогда вызывается заглушка по адресу 00E4:

1E9A:00E1 CD21          INT	21
1E9A:00E3 C3            RET

1E9A:00E4 B409          MOV	AH,9
1E9A:00E6 BA7F00        MOV	DX,007F ;Undefined Function!
1E9A:00E9 EBF6          JMP	00E1

Раз потребовалась таблица трансляции, значит, действительно, между CP/M-86 и MS DOS нет ничего общего.
Но давайте все же взглянем, какими именно функциями MS DOS эмулируется CP/M-86. Для наглядности я их разбил пустыми строками:

1E9A:00EB C7063E000000  MOV	WORD PTR [003E],0000               
1E9A:00F1 FF2E3E00      JMP	FAR [003E]                         

1E9A:00F5 B401          MOV	AH,01                              
1E9A:00F7 EBE8          JMP	00E1                               

1E9A:00F9 B402          MOV	AH,02                              
1E9A:00FB EBE4          JMP	00E1                               

1E9A:00FD B403          MOV	AH,03                              
1E9A:00FF EBE0          JMP	00E1                               

1E9A:0101 B404          MOV	AH,04                              
1E9A:0103 EBDC          JMP	00E1                               

1E9A:0105 B405          MOV	AH,05                              
1E9A:0107 EBD8          JMP	00E1                               

1E9A:0109 B406          MOV	AH,06                              
1E9A:010B 80FAFE        CMP	DL,FE                              
1E9A:010E 7510          JNZ	0120                               
1E9A:0110 FEC2          INC	DL                                 
1E9A:0112 E8CCFF        CALL	00E1                               
1E9A:0115 7406          JZ	011D                               
1E9A:0117 A27E01        MOV	[017E],AL                          
1E9A:011A B0FF          MOV	AL,FF                              
1E9A:011C C3            RET	                                   
1E9A:011D 32C0          XOR	AL,AL                              
1E9A:011F C3            RET	                                   
1E9A:0120 80FAFF        CMP	DL,FF                              
1E9A:0123 7513          JNZ	0138                               
1E9A:0125 A07E01        MOV	AL,[017E]                          
1E9A:0128 0AC0          OR	AL,AL                              
1E9A:012A 7406          JZ	0132                               
1E9A:012C C6067E0100    MOV	BYTE PTR [017E],00                 
1E9A:0131 C3            RET	                                   
1E9A:0132 E8ACFF        CALL	00E1                               
1E9A:0135 74FB          JZ	0132                               
1E9A:0137 C3            RET	                                   
1E9A:0138 E8A6FF        CALL	00E1                               
1E9A:013B C3            RET	                                   

1E9A:013C B409          MOV	AH,09                              
1E9A:013E EBA1          JMP	00E1                               

1E9A:0140 B40A          MOV	AH,0A                              
1E9A:0142 EB9D          JMP	00E1                               

1E9A:0144 B40B          MOV	AH,0B                              
1E9A:0146 E898FF        CALL	00E1                               
1E9A:0149 3C00          CMP	AL,00                              
1E9A:014B 7402          JZ	014F                               
1E9A:014D B001          MOV	AL,01                              
1E9A:014F C3            RET	                                   

1E9A:0150 BB2200        MOV	BX,0022                            
1E9A:0153 8BC3          MOV	AX,BX                              
1E9A:0155 C3            RET	                                   

1E9A:0156 B40D          MOV	AH,0D                              
1E9A:0158 EB87          JMP	00E1                               

1E9A:015A 50            PUSH	AX                                 
1E9A:015B B40E          MOV	AH,0E                              
1E9A:015D E881FF        CALL	00E1                               
1E9A:0160 58            POP	AX                                 
1E9A:0161 C3            RET	                                   

1E9A:0162 B40F          MOV	AH,0F                              
1E9A:0164 E97AFF        JMP	00E1                               

1E9A:0167 B410          MOV	AH,10                              
1E9A:0169 E975FF        JMP	00E1                               

1E9A:016C B411          MOV	AH,11                              
1E9A:016E E970FF        JMP	00E1                               

1E9A:0171 B412          MOV	AH,12                              
1E9A:0173 E96BFF        JMP	00E1                               

1E9A:0176 B413          MOV	AH,13                              
1E9A:0178 E966FF        JMP	00E1                               

1E9A:017B B414          MOV	AH,14                              
1E9A:017D E861FF        CALL	00E1                               
1E9A:0180 3C03          CMP	AL,03                              
1E9A:0182 7502          JNZ	0186                               
1E9A:0184 2AC0          SUB	AL,AL                              
1E9A:0186 C3            RET	                                   

1E9A:0187 B415          MOV	AH,15                              
1E9A:0189 E955FF        JMP	00E1                               

1E9A:018C B416          MOV	AH,16                              
1E9A:018E E950FF        JMP	00E1                               

1E9A:0191 B417          MOV	AH,17                              
1E9A:0193 E94BFF        JMP	00E1                               

1E9A:0196 B419          MOV	AH,19                              
1E9A:0198 E946FF        JMP	00E1                               

1E9A:019B 1E            PUSH	DS                                 
1E9A:019C 89169701      MOV	[0197],DX                          
1E9A:01A0 813E9901FF00  CMP	WORD PTR [0199],00FF               
1E9A:01A6 7504          JNZ	01AC                               
1E9A:01A8 8E1E9501      MOV	DS,[0195]                          
1E9A:01AC B41A          MOV	AH,1A                              
1E9A:01AE E830FF        CALL	00E1                               
1E9A:01B1 1F            POP	DS                                 
1E9A:01B2 C3            RET	                                   

1E9A:01B3 B41B          MOV	AH,1B                              
1E9A:01B5 E929FF        JMP	00E1                               

1E9A:01B8 B421          MOV	AH,21                              
1E9A:01BA E824FF        CALL	00E1                               
1E9A:01BD 3C03          CMP	AL,03                              
1E9A:01BF 7502          JNZ	01C3                               
1E9A:01C1 2AC0          SUB	AL,AL                              
1E9A:01C3 C3            RET	                                   

1E9A:01C4 B422          MOV	AH,22                              
1E9A:01C6 E918FF        JMP	00E1                               

1E9A:01C9 B423          MOV	AH,23                              
1E9A:01CB E913FF        JMP	00E1                               

1E9A:01CE B424          MOV	AH,24                              
1E9A:01D0 E90EFF        JMP	00E1                               

1E9A:01D3 B425          MOV	AH,25                              
1E9A:01D5 E909FF        JMP	00E1                               

1E9A:01D8 B427          MOV	AH,27                              
1E9A:01DA E804FF        CALL	00E1                               
1E9A:01DD 83F900        CMP	CX,+00                             
1E9A:01E0 7406          JZ	01E8                               
1E9A:01E2 3C03          CMP	AL,03                              
1E9A:01E4 7502          JNZ	01E8                               
1E9A:01E6 2AC0          SUB	AL,AL                              
1E9A:01E8 C3            RET	                                   

1E9A:01E9 B428          MOV	AH,28                              
1E9A:01EB E9F3FE        JMP	00E1                               

Итак, функция №1 в CP/M равна функции №1 в MS DOS, функция №2 в CP/M равна функции №2 в MS DOS и так совпадает до №28.
Разумеется, можно сказать, что это Килдэл подстроил CP/M-86 так, чтобы номера функций совпадали с номерами MS DOS. К тому же реально MS DOS развивается и уже имеет много функций, которых не было и не могло быть в CP/M-80.
Но для меня это прямое доказательство, что основой MS DOS является именно CP/M (кстати, промышленный стандарт с 1978 года) и ее через подставного разработчика отделили от автора.

ее через подставного разработчика отделили от автора

Настолько отделили, что формат дискет был полностью несовместимым.
Но вообще, жлобская компания получила по заслугам. Turbo Pascal — $50, MS Pascal — $250, паскаль от Килдэла — $449. И с прочим софтом вероятно так же, люди считать всё же умеют.

Забыли написать про иск IBM к Compaq

Кстати, давно хотел спросить — использовался ли до выхода 5150 термин «Персональный компьютер» в его нынешнем значении?
12 августа – уникальная дата в мире IT: 41 год назад появилась первая массовая персоналка от IBM


Глянул в старые записи: 12 августа 1981 года я получил из студии звукозаписи катушку с записью альбома The Alan Parsons Project «Tales of Mystery and Imagination» (1976)

О чем тогда мечтала советская молодежь? О крутых катушечных магнитофонах и проигрывателях, о хороших усилках и АС.

Расскажи тогда кто-то нам (студентам старших курсов технического ВУЗа) о IBM PC — мы бы точно оказались в ситуации старого лунного айтишника из фильма «Железное небо» (2012):
«Это не компьютер! Вот это — компьютер!» (с)

(Последней технической новинкой был «Юпитер-203», в кино тогда шли фильмы «Через тернии — к звездам» и (ограниченный фестивальный показ) «Укол зонтика». А про радио крутили хит №1 — «Последнюю поэму» в исполнении Ирины Отиевой :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий