vak: (Default)
[personal profile] vak
Чувак проделал гигантскую работу и научился компилировать MS-DOS из официальных исходных текстов. Вот статья с множеством подробностей: "DOS 2.11 From Scratch".

В начале 80-х MS-DOS версии 2.0 был большим шагом вперёд.
Comparing the DOS 1.1 source with DOS 2.11 it is obvious that DOS 2.0 was a very major update and almost the entire core of the operating system was either heavily modified or written from scratch.

The list of user-visible changes was accordingly quite significant. Hierarchical directory structure, support for hard disks, handle-based file I/O modeled on UNIX, environment variables, I/O redirection, loadable device drivers, system configuration via CONFIG.SYS—those were all big changes, largely designed to take DOS further away from CP/M and much closer to UNIX.
Несколько лет назад Калифорнийский компьютерный музей выложил в открытый доступ официальные бинарники и исходники MS-DOS 2.0. Увы, тексты оказались неполными, и попытка их скомпилировать превратилась в запутанное детективное расследование. Вот что пришлось изменить:
  • Organized source files into a directory structure that matches DOS 3.21/3.3 and later
  • Added John Elliott’s reconstructed IO.ASM/IO2.ASM (via pcjs.org), merged into a single and slightly reduced IO.ASM
  • Duplicated source for Microsoft style DOS into parallel directories (MSDOS vs. DOS, CMDMS vs. CMD)
  • Replaced far too broken MASM 1.10 with MASM 1.25
  • Added EXEFIX.EXE from DOS 3.3 OAK (used for SORT.EXE)
  • Kept LINK.EXE and EXE2BIN.EXE provided by the CHM
  • Added batch files to build source files, in either IBM (MK.BAT) or Microsoft style (MKMS.BAT)
  • Reconstructed OEM portion of IBMBIO.COM and FORMAT.COM to match PC DOS 2.1
  • Made a handful of trivial changes to the CHM-provided source code, as detailed above
Результат можно скачать здесь: dos211src.zip