четверг, 9 июля 2015 г.

Разбирая старые диски


Некоторое время назад начал разбирать старые диски от ZX Spectrum и от первых IBM PC. Удивительно, что гибкие диски, котором по 20-30 лет все еще хранят информацию в целости и ее можно прочитать. Диски от Спектрума и сегодня можно прочитать на PC и запустить в эмуляторе. О том как это происходило и что интересного там оказалось будет отдельный рассказ, если тема покажется интересной читателям. Забегая вперед скажу, что для этого нужен дисковод 5.25 дюймов (его видно на фотке) и он есть у меня на стареньком 286-м компе.

В старых архивах нашел несколько школьных проектов из середины 90-х, которые написаны на Turbo Pascal 7 фирмы Borland. Один из них — редактор матричных шрифтов, которые использовались в операционной системе MS-DOS.


Графических фреймворков тогда было не очень много. Это было время MS-DOS и текстовых программ. Windows 95 тогда еще только-только вышла и достать ее было сложно при том, что интернет был по модему и торрентов тогда еще не было. Гораздо позже я столкнулся с фреймворком Zinc, который повторял интерфейс Windows 3.11 (сейчас он существует как проект OpenZinc), и удивительно, но Zinc развивается до сих пор и существует его современная коммерческая версия. Но в середине 90-х мне был доступен только 286-й комп с одним мегабайтом памяти и без жесткого диска. Сначала надо было запустить операционную систему MS-DOS, а уже потом вставить другую дискету с Turbo Pascal и запустить среду разработки, конечно в текстовом режиме. В таких условиях и был разработан проект Font Editor, исходные коды которого теперь можно посмотреть.

Для того, чтобы программа работала со сносной скоростью на процессорах 80286, некоторые операции приходилось писать вставками на ассемблере. Это сейчас легко найти в интернете документацию по набору команд для любого процессора, а тогда основным источником для меня была книга Питера Абеля по ассемблеру для IBM PC.


Исходные коды имеют комментарии в кодировке CP866. Все это удалось скомпилировать и запустить в виртуалке с DOS в VirtualBox. Ну и, конечно, это собралось на компе с 286-м процессором и работает неплохо, без неприятных задержек.

Позже попробую выложить еще один редактор шрифтов, который был написан мной еще раньше и полностью на ассемблере процессора Z80 для компьютера ZX Spectrum 48K отечественной сборки (их собирали в Павловском Посаде). Вся программа умещалась в несколько килобайт.

Комментировать в ВКонтакте