HP-85: Первый графический

Впервые опубликовано в 2009 году на сайте Железные призраки прошлого.



Эта статья прислана на конкурс.

Arif-RU (автор участвует в конкурсе под псевдонимом)

Компания Hewlett Packard начала производить программируемые калькуляторы в 1968 году. Стоивший как недорогой лимузин (около 30'000$ /все цены даны в пересчёте на современные деньги/) HP-9100 быстро снискал популярность, поэтому вскоре фирма завоевала рынок и начала выпускать собранные на микросхемах модели, программируемые уже не в машинных кодах, а на BASIC-е.

Постепенно их цена уменьшалась, а производительность росла - и в 1980 году появился ставший знаменитым HP-85, первый распространённый калькулятор с графическим дисплеем. Возможно, он был не первым распространённым, а просто первым, но утверждать это я не могу.

Высокий спрос на машину обуславливался небольшими размерами, функциональностью, возможностью подключения множества периферийных устройств, в том числе и сторонних производителей, большим количество программного обеспечения и сравнительно небольшой ценой (меньше 10'000$ за машину со встроенным дисплеем и принтером).

Первая модель, HP-85A, встречается нечасто. Гораздо более обычен HP-85B, представляющий собой HP-85A в который встроены карты расширения, добавляющие оперативную память и несколько пакетов программ для работы с внешними устройствами.
Несмотря на распространённость HP-85B, большая часть стандартного программного обеспечения совместима с базовой моделью.


HP-85B и блок дисководов.



ROM-блоки для управления принтером и расширения функциональных возможностей BASIC-a.
Остальные типы блоков разыскиваются, но пока безуспешно.



И всё же это калькулятор

На самом деле, по вычислительной мощности HP-85 не уступает профессиональным компьютерам своего времени, но он разработан HP на базе калькуляторов 98хх моделей и унаследовал от них многие калькуляторные особенности; впрочем, кое-какие свойственные калькуляторам черты у него появились и свои.

Судите сами:

Во-первых, калькуляторные особенности видны уже на уровне железа: HP-85 работает на процессоре той же линии, что и предшествовавшие 98хх. Как и положено калькуляторному процессору, он работает в двоично-десятичной системе. В результате, кстати, диапазон Integer составляет от -99'999 до 99'999, а диапазон Real - от -9.999'999'99*(10^499) до 9.999'999'99*(10^499).

Во-вторых, HP-85 по умолчанию работает как калькулятор с разбором строки. Например, для того, чтобы посчитать 2 Х ( 2 + 2 ) на отечественном МК-90 (казалось бы, гораздо больше похожем на калькулятор) нужно набрать "Print 2*(2+2)", а на HP-85 достаточно строки "2*(2+2)".

В третьих, типичен для калькулятора математический режим округления: например, выражение "5/3" оказывается равно "2", а не "1", как на IBM PC - совместимых машинах.

И в четвёртых, наконец, графический режим явно приспособлен для черчения графиков: при инициализации графического экрана задаются его логические границы - можно, например, сказать, что левый нижний угол дисплея соответствует точке (-2, -7.5), а правый верхний - (14, 251), и все функции рисования будут работать исходя из этого. Кроме того, из пятнадцати функций для работы с графикой две предназначены специально для черчения осей настраиваемого внешнего вида.


HP-85 и я

Моё заочное знакомство с HP-85 состоялось 14 декабря 2007 года. Из этой темы я узнал, что компьютер существует и даже решил, что он достаточно интересен. Но на него претендовал А.Горский, так что я только внимательно читал переговоры. В тот раз тема заглохла, но примерно через полгода, пролистывая лоты на Молотке, я снова наткнулся на HP-85, судя по всему, тот же.

Тут конкурентов не оказалось и уже вечером я, наконец, стал счастливым обладателем компьютера, выпущенного задолго до моего рождения. Надо признаться честно, выглядел он даже хуже, чем на фотографии - передняя панель выдрана с корнем, внутри виднеются какие-то грязные железки и нитки, пластик покрыт толстым слоем пыли. Естественно, компьютер немедленно был включен, экран загорелся и я набрал на клавиатуре "Print 2*2". Калькулятор дёрнулся и затих. Так я сразу узнал три вещи - компьютер работает в принципе, принтер у него сломан, а BASIC нестандартный.

Исследование принтера и поиск в Google показали, что видневшиеся в глубине компьютера нитки - это остатки пассиков. Также выяснилось, что пассики производятся до сих пор и их легко можно заказать в США всего за полсотни долларов. Но мне такая идея не понравилась, поэтому на следующий день я принёс с помойки какой-то старый принтер и с помощью ножа, клея "Момент-кристалл" и полоски искусственного шёлка (использовалась в качестве шины) сделал из его пассика два новых, подходящих к HP-85. К моему, честно признаюсь, удивлению, принтер заработал уже через полчаса работы, после единственной неудачной попытки.


Так выглядели старые пассики.


А так - новые, самодельные.


Во время поиска информации о принтере я нашёл www.series80.org - замечательный сайт, посвящённый 80 серии Hewlett Packard-ов. В дальнейшем практически всю информацию про HP-85 я брал оттуда. В частности, с этого сайта скачан пакет игр, который будет подробно описан ниже.

Следующей задачей стал поиск кассет для встроенного стримера. Я вспомнил, что когда-то подобрал похожую кассету на помойке, полдня копался в ящиках и в результате нашёл её. Правда, кассета оказалась нерабочей, но, по крайней мере, теперь я точно знал, как она выглядит. Ещё через несколько недель нераспечатанную кассету подарил мне Sillimanit (ещё раз спасибо, кстати). С ней калькулятор тоже заработал не сразу - оказалось, что нужно счистить с перематывающего ролика остатки резины и слегка зачистить его надфилем.
Вообще-то, конечно, правильнее было бы заменить резиновую прокладку новой. Но подобрать что-нибудь адекватное я не смог, а эксперимент показал, что стример работает и так.

Разумеется, корпус я к тому моменту уже давно отмыл, и для полноты картины оставалось только сделать из чего-нибудь переднюю панель. Скопировать полностью я её не смог, но за выходные выгнул из оргстекла и покрасил из баллончика что-то более-менее сносное.


HP-85 на этом этапе: сносный внешний вид, полная работоспособность и единственная кассета вместо винчестера.


Меня огорчало одно: HP-85 - всё-таки во многом компьютер. А компьютер без ПО - вещь практически бесполезная. На www.series80.org выложены сотни разных программ, снабжённых подробной документацией - но, к сожалению, единственное устройство ввода-вывода, присутствующее у этого компьютера в стандартной комплектации - стример, совершенно не совместимый с IBM PC. К тому же к этому стримеру у меня была всего одна не слишком надёжная кассета. Из нескольких статей я знал, что для HP-85 существуют карты расширения с COM интерфейсом и с модемом, а также карты HP-IB, к которым можно подключить крайне редкий дисковод для стандартных 5"25 дискет. И я занялся поисками периферии.

Дальнейшее развитие событий оказалось стремительным и неожиданным.

Сначала, гуляя по факультету, я увидел в одной из открытых дверей знакомый профиль HP-85. По результатам переговоров с владельцем я получил этот, уже второй, калькулятор, в значительно лучшем состоянии, и, что важно, с картой GP-IB интерфейса и контроллером ROM. Ещё через месяц я созвонился с человеком, предлагавшим мне картриджи для встроенного стримера, приехал к нему и получил в подарок дисковод. После этого я вывел на заднюю панель второго HP разъём питания для дисковода, переписал несколько пакетов программ на дискеты и разобрался, как считывать их на калькуляторе. Пассики принтера у него оказались в хорошем состоянии, резинку на валике прокрутки ленты я снял, и на этом работа с железом закончилась.







Игры

Конечно, бОльшая часть программ для HP-85 имела чисто утилитарное назначение. Но в этой статье я ограничусь рассказом об играх, которые компания Hewlett Packard предлагала для этого калькулятора. Общими чертами этих игр является отсутствие псевдографики (результат неподходящей таблицы символов с одной стороны и простых и удобных операторов для рисования - с другой) и открытый исходный код программ, поставляемых в виде интерпретируемого BASIC-ом текста. Игры сделаны аккуратно и продуманы до мелочей - вплоть до звука тасуемой колоды в карточных играх. К кассете с играми прилагается пятидесятистраничная инструкция.




Необычные

Начну рассказ, конечно, с необычных игр - тех, которые не слишком часто встречаются на современных компьютерах.

SKY
Sky - единственная игра, идущая в базовом комплекте поставки калькулятора. Сюжет прост - Вы управляете лыжником, едущим по слаломной трассе, задача - добраться до финиша, проехав между всеми парами флажков и не задев их. Следующих друг за другом уровней нет, Вы просто выбираете номер трассы.
Несмотря на кажущуюся со стороны примитивность, игра увлекательная и не слишком простая. И как-то так сложилось, что самое сложно в игре - точно попасть в флажок и опрокинуть его.


По идее флажки опрокидывать не нужно, но гораздо интереснее стараться в них попасть. Мне вот не удалось в этот раз.


MAZE
А вот такого я раньше не встречал. При запуске программы компьютер запрашивает размеры лабиринта, который Вы желаете пройти, несколько минут думает, и рисует его. Затем Вы нажимаете на кнопку {COPY}, выдёргиваете из принтера распечатку, вооружаетесь ручкой и проходите лабиринт. Идея сначала показалась несколько необычной, но после третьего лабиринта я втянулся и проходил их весь следующий час.


Думает компьютер не очень быстро, но в рамках разумного.
Но вот рисует очень медленно.
На видео показан весь процесс построения лабиринта 10 Х 10 ячеек.



Этот лабиринт 30Х60 ячеек строился 11 минут 25 секунд.


HUNT THE WUMPUS
Я много слышал о пошаговых текcтовых играх, но впервые увидел их только на HP-85.

Идея игры в том, что Вы - охотник на мифического зверя Wumpus, прячущегося в додекаэдрической системе пещер. Вы можете ходить по этим пещерам и стрелять наугад. А Wumpus может спать, ходить и есть Вас, если случайно встретит.

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


Игровой процесс выглядит примерно так.


KING
Ещё одна текстовая игра, на сей раз стратегия.

Вы - премьер-министр маленькой страны, восемь лет подряд решающий разнообразные административные задачи - сколько земли оставить фермерам, а сколько продать заводам, сколько денег потратить на борьбу с загрязнениями, а сколько - на образование, и т.д..

Скажу сразу, к власти в этой стране относятся без уважения - в большинстве случаев по результатам первого же года правления меня казнили, уродовали или доводили до суицида - и всего лишь из-за полутысячи умерших от голода людей. Резюме - игра, кажется, хорошая, но требует долгих и вдумчивых расчётов с бумагой и ручкой. Когда-нибудь, когда будет время, нужно будет попробовать заняться ей как следует...


В этот раз мне повезло - всего лишь выгнали с позором.


Sea skirmish
А вот Sea skirmish, наоборот, обладает отличной графикой - не каждая игра для PC XT нарисована настолько чётко и подробно. У игры есть два режима - в одном самолёт и корабль перестреливаются автоматически, и Вы можете спокойно наблюдать за процессом, в другом Вы управляете самолётом и кораблём одновременно. К сожалению, играть в одиночку совершенно не интересно, но, я думаю, это лучшая аркадная игра для двоих, в которую можно играть на этом компьютере.

Название игры дословно переводится как "морской бой", но к известной всем нам пошаговой перестрелке она никакого отношения не имеет


Race
Единственная истинно псевдографическая игра на кассете. Вы едете на автомобиле (траектория обозначена буквами "X") по дороге из символов "|". Благодаря отсутствию графики эта игра - самая динамичная аркада из тех, что предлагает Hewlett Packard. К интересной особенности Race можно отнести возможность ехать напролом, не думая о дороге. Очки за это снимают, но машина не тормозит - джип, видимо. Да, и не забудьте нажать на F8 в начале игры - иначе так и будете катиться по идеально прямому шоссе. Как я первые минут десять, например. В целом, игра мне очень понравилось, хотя повороты можно было бы сделать покруче.

Участок трассы, повёрнут на девяносто градусов против часовой стрелки.
Числа слева (на картинке - снизу) - скорость машины, миль/час.


Slot Machine
Эмулятор игрового автомата. По-моему, самая бессмысленная игра из всего набора - весь игровой процесс состоит в постоянном нажимании на кнопку пуска. Впрочем, отметим честно, автомат достаточно гуманный - в среднем он возвращает 65% брошенных денег.

Тридцать шесть даймов брошено в прорезь автомата - и вот она, удача - сразу две монетки вернулась ко мне!





Не совсем игры
Программы, не являющиеся настоящими играми, но, тем не менее, созданные скорее для развлечения, чем для работы.

LIFE
Это классическая программа - стандартная "Жизнь", конвеевский клеточный автомат на торроидальном поле.


Работает неспешно, но стабильно: можете посмотреть видео в реальном времени.


Полный цикл осцилляции.



А это одно поколение, но в лучшем качестве.


Birthday Plot
Своеобразная развлекательная программка, рисующая абстрактную картину на основе имени и даты рождения пользователя.
Что имеется в виду - не очень понял, единственная идея - неизбалованные компьютером люди начала восьмидесятых радовались даже такому проявлению искусственного интеллекта...




Снежинка Коха
Программа, рисующая красивый фрактал - снежинку Коха.


COMPZR
Эта программа из стандартного набора позволяет писать музыку и проигрывать её через встроенный в HP динамик. По большому счёту не имеет к играм никакого отношения, но всё же я решил её упомянуть, потому что качество выдаваемого звука вряд ли подразумевает серьёзное отношение к написанию музыки.




Стандартные
Эти игры Вы все видели, поэтому подробно описывать их не вижу смысла.



GoMoku
Обычные крестики-нолики на большом поле, что ещё можно добавить? Только то, что из-за аппаратных ограничений размер поля ограничен 81 клеткой, а вместо крестиков и ноликов используются квадратики и треугольнички. Неспешный HP-85 обдумывает каждый ход примерно по полминуты, но алгоритм использует вполне полноценный: по крайней мере, мне так ни разу и не удалось его обыграть.

Reversi
Тут и рассказывать нечего, Reversi, по-моему, есть в каждом наборе игр. По прорисовке она почти не отличается от GoMoku, по качеству алгоритма - тоже.

Race Track
Пошаговые гонки, типа тех, в которые играют в школе на перемене: Вы управляете точкой-машинкой, каждый шаг можете изменять направление и немного увеличивать или уменьшать скорость. Задача - обогнать остальные машинки, не врезаться в стену и первым придти к финишу. Только здесь управление намного сложнее - каждый ход нужно задавать угол поворота относительно текущего значения, ускорение может быть не только "+1" и "-1", но и любые заданные значения. Одному играть можно, но, конечно, скучно. Зато игра поддерживает до четырёх игроков. Кстати, у Race Track есть ещё одна интересная особенность - она требует 25 килобайт памяти при стандартном для раннего HP-85A объёме в 16 килобайт. Решается проблема просто - игра состоит из двух программ, и первая в нужный момент загружает вторую.

Hangman
Она же "виселица" по-русски. Если кто не знает - смысл в том, что один человек рисует виселицу и загадывает слово, а второй пытается отгадать его по буквам. Если угадывает букву - она открывается, если нет - на виселице рисуется голова, после следующей неотгаданной буквы - рука, потом вторая, потом туловище, потом ноги. Если человечек нарисован полностью, он считается удавившимся и проигравшим, и игра начинается заново. Если слово отгадано раньше, чем нарисован человечек - поздравляю, Вы выиграли. Игра, как обычно, нарисована аскетично, но аккуратно. Слово задаётся одним из трёх способов - из прилагающегося стандартного словаря, из пользовательского словаря или вводится непосредственно с клавиатуры невидимыми буквами (для игры вдвоём - тут компьютер выступает как лист бумаги ценой в восемь тысяч долларов). Правда, остаётся единственный недостаток - русские буквы всё же не поддерживаются.

NIM
Ещё одна классическая игрушка: есть несколько (от 1 до 10) строчек звёздочек, от одной до 25 звёздочек в каждой строчке. За один ход можно взять любое количество звёздочек из одной строки, а выигрывает тот, кто возьмёт последнюю.

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

Wari
Очередная настольная игра, в России больше известна под названием Манкала. Описание можно прочитать, например, здесь. От себя ничего добавить не могу, как играть не разобрался.

Blackjack
Карточная игра, по-русски обычно называемая "21". В карты играть я не умею и не люблю, поэтому от себя ничего не добавлю.

Cribbage
Ещё одна карточная игра, по-русски так и называется - Криббедж. Эта игра интересна тем, что намертво завесила калькулятор - пришлось выключать и включать снова.

Poker Solitaire
Ещё одна карточная игра.




Ссылки:

www.series80.org - самый большой найденный мною сайт, посвящённый HP-85 и родственным моделям. На нём можно найти ПО, отсканированные инструкции и много другой интересной информации. Там же находится программа для записи дискет в формате HP-85 на IBM-совместимом компьютере.

Статья в Википедии.




Примечания

Все картинки распечатаны на встроенный в hp-85 принтер, отсканированы и переведены в двухцветный рисунок на чёрном фоне. В таком виде они напоминают реальные скриншёты, но реальное изображение на экране калькулятора более чёткое.

Видео снято камерой Canon IXUS 500. Извиняюсь за качество, но лучше у меня не получилось.

Обсудить статью в специально созданной ветке форума. Эта статья прислана на конкурс.

© Текст, иллюстрации, видео - Arif-RU (автор участвует в конкурсе под псевдонимом)

© Железные призраки прошлого - 2009 г.

Опубликовано 31.05.2009 г.


Дополнения или поправки на phantom@sannata.ru

 

К остальным статьям.

Мои контакты

Оставить комментарий в гостевой книге.

Главная страница.

Использование информации с сайта приветствуется при сохранении ссылки на первоисточник. :-).

Счётчик посещений:

3

Яндекс.Метрика