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
Своеобразная развлекательная программка, рисующая абстрактную картину на основе имени и даты рождения пользователя.
Что имеется в виду - не очень понял, единственная идея -
неизбалованные компьютером люди начала восьмидесятых радовались даже
такому проявлению искусственного интеллекта...
Эта программа из стандартного набора позволяет писать музыку и
проигрывать её через встроенный в 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. Извиняюсь за качество, но лучше у меня не получилось.
Обсудить статью в специально созданной ветке форума. Эта статья прислана на конкурс.