"Ради удовольствия." - читать интересную книгу автора (Торвальдс Л., Даймонд Д.)

продавать их намного дешевле особого смысла не имело. Люди всегда были
готовы заплатить лишние двести долларов за улучшенную модель.
За последнюю пару лет компьютерное производство намного подешевело. И
даже машины начального уровня стали крутыми. Желающих заплатить лишние
двести долларов за немного улучшенную версию теперь гораздо меньше. А не
имея возможности привлекать покупателей дополнительными возможностями,
компании вынуждены снижать цены.
Скажу честно: в 1987 году QL привлек меня, в частности, тем, что очень
круто выглядел.
Угловатый, матово-черный, с черной клавиатурой. Не закругленная
хорошенькая машинка, а что-то суперэкстремальное. Клавиатура была толщиной
примерно в два с половиной сантиметра, потому что составляла единое целое с
компьютером. Это была стандартная для домашних компьютеров конструкция. В
правой части клавиатуры, где обычно бывает цифровая панель, размещались два
разъема для революционной новинки -- микропривода Sinclair. Это устройство
-- больше нигде не применявшееся -- использовало замкнутую петлю из пленки.
По организации и функциям оно было подобно дисководу. Поскольку там была
одна длинная петля, ее можно было крутить до тех пор, пока не найдешь то,
что нужно. Однако устройство себя не оправдало, потому что сильно уступало
флоппи-дисководам в надежности.
Итак, я потратил на Sinclair QL почти две тысячи долларов. И писал для
него одну программу за другой. Я все время искал всякие интересные задачи. У
меня был компилятор и интерпретатор языка Форт, с которыми я и возился. Форт
-- это очень странный язык; сейчас им уже никто не пользуется. Эта игрушка,
рассчитанная на определенную рыночную нишу, в 80-е годы довольно широко
использовалась для разных целей, но по-настоящему популярной так и не стала,
потому что оказалась слишком сложной для непрофессионалов. Особой пользы от
Форта не было.
Программный инструментарий я писал себе сам. Одной из моих первых
покупок для Sinclair был модуль расширения с картой EEPROM (электрически
стираемым программируемым постоянным запоминающим устройством). Туда можно
было записывать информацию самостоятельно, пользуясь специальными модулями,
и эта информация сохранялась при выключенном питании. Так я мог держать свои
инструменты всегда под рукой, не тратя на их хранение драгоценное ОЗУ
(оперативное запоминающее устройство), а ОЗУ целиком использовать под
программы.
Операционками я заинтересовался так: купил флоппи-контроллер, чтобы не
пользоваться микроприводами, но к нему прилагался такой поганый драйвер, что
пришлось написать новый. Пока писал -- обнаружил проколы в самой
операционной системе или по крайней мере несоответствие между тем, что
обещала документация, и тем, что реально происходило. Я с этим столкнулся,
когда моя программа отказалась работать.
Поскольку мои-то программы -- ясное дело -- всегда идеальны, я понял,
что тут дело в другом. Пришлось пойти дальше и дизассемблировать
операционную систему.
Можно накупить книг с частичными листингами операционной системы.
Большое подспорье. Еще нужен дизассемблер -- программа перевода машинного
кода на язык ассемблера. Это важно, потому что по машинному коду очень
трудно отслеживать работу алгоритма. Вдруг натыкаешься на переход к
числовому адресу -- читать невозможно. Хороший дизассемблер заменяет номера