# Downgrade #19

uav1606

Журнал "Downgrade" #19

### От редактора.

Здравствуйте, уважаемые читатели.

Пользуясь случаем, поздравляю с наступающим Новым годом!

Тема этого номера – не совместимые с IBM PC компьютеры. Статей прислали достаточно много, хоть номер и вышел с опозданием.

Если Вам эта тематика по какой-то причине не сильно интересна – есть статьи и на другие темы, например, замечательный обзор стримеров от Антиквара.

В этом номере у нас целых два новых автора – DmitriyKo и Мамонт.

Так держать, даёшь больше статей! :-)

Также очень рад снова видеть на страницах журнала статью от Kakos_Nonos. С возвращением!

Жаль, на этот раз с интервью не вышло – был один кандидат, но куда-то пропал после отправки ему списка вопросов. Надеюсь, что ещё ответит.

Следующий номер – 20-й – будет в каком-то смысле юбилейным, так что хотелось бы побольше статей. Возможно, будет конкурс или ещё какие-нибудь "мероприятия" – следите за сообщениями на форуме журнала.

Жду ваши статьи, предложения, пожелания и замечания на мой e-mail: uav16060 [gav-gav] mail.ru


uav1606


### Новости, события, комментарии


Вышло обновление для ОС Apple II

Программист Джон Брукс впервые за последние 23 года выпустил неофициальное обновление для операционной системы ProDOS – версию 2.4. Эта ОС использовалась в компьютерах Apple II и выпускалась с 1983 по 1993 год.

Выпуск версии 2.4 был приурочен к 30-летию Apple IIGS, но обновление подходит и для других компьютеров линейки, например для оригинального Apple ][.

Скачать обновлённую операционную систему (образ дискеты 5.25" 140 КБ) можно здесь:

http://www.callapple.org/wp-content/uploads/2016/09/ProDOS_2_4.dsk_.zip

А попробовать её в эмуляторе – тут:

https://archive.org/details/ProDOS_2_4

Новая версия включает в себя множество утилит, облегчающих работу с компьютером – загрузчик Bitsy Boot, лаунчер Bitsy Bye, MiniBas от Usotsuki, утилиты для переноса файлов на современные компьютеры, программу для работы с архивами Shrinkit и многое другое.

Подробнее здесь:

http://www.callapple.org/uncategorized/announcing-prodos-2-4-for-all-apple-ii-computers/


Ноябрьский ASWDF-2016

19 ноября в Москве любители ретрокомпьютеров собрались на очередной Abandoned SoftWare & Downgrade Fest. Мероприятие было посвящено старым играм, поэтому свободных мест в зале к середине мероприятия почти не было. Выступающие рассказывали о Netwars (osewick), Strife (Flipper), эволюции замков в «Героях Меча и Магии» (Татьяна), русском переводе DOOM (Юлиан). Помимо этого, функционировала передвижная выставка старых ЭВМ, а техническое обеспечение докладов легло на 486-е ноутбуки.

Небольшой фотоотчёт и почти полное видео доступно на форуме организаторов:

http://downgrade-a.ru/viewtopic.php?id=174


Марио и загробный мир

Создатели YouTube-канала Nukazooka сняли короткометражный фильм Super Mario: Underworld. Ролик расскажет нам о загробном мире, куда попадает Марио после смерти в мире игровом.

Там он встретит множество опасных существ, а также своего одичавшего брата – Луиджи.

Мрачновато, но забавно, посмотреть можно здесь:

https://youtube.com/watch?&v=MvJwqr4aiuQ


20 лет KDE

14 октября 1996 года Маттиас Эттрих (на тот момент – студент Тюбингенского университета) объявил о создании нового десктоп-окружения, включающего собственно рабочий стол и набор вспомогательных приложений. Новая среда получила название KDE (K Desktop Environment), это своего рода игра слов по отношению к другой подобной (но коммерческой) среде – CDE (Common Desktop Environment). Буква K изначально означала Kool, но позже эту расшифровку перестали употреблять.

Оригинальный анонс можно прочитать здесь:

https://groups.google.com/forum/#!msg/comp.os.linux.misc/SDbiV3Iat_s/zv_D_2ctS8sJ

В честь юбилея энтузиасты из KDE Restoration Project портировали KDE 1.1.2 для работы на современных дистрибутивах Linux:

http://www.heliocastro.info/?p=291

Страница, посвящённая двадцатилетию KDE:

https://community.kde.org/20th_birthday


Super Mario для мобильных устройств

Компания Nintendo выпустила версию своей культовой игры, адаптированную для мобильных устройств. Ремейк получил название Super Mario Run.

В бесплатном варианте доступно 3 уровня, а чтобы получить доступ к остальным, нужно заплатить 10 долларов.

Пока есть версия только для устройств от Apple (iOS), поддержка Android планируется в 2017 году.

Официальная страница игры:

http://www.nintendo.com/games/detail/super-mario-run-ios


Вышла FreeDOS 1.2

Из новшеств можно отметить новый инсталлятор от Jerome Shidel, веб-браузер, игры, плееры и многое другое.

Пресс-кит о FreeDOS 1.2:

http://www.freedos.org/press-kit.zip

Скачать новую версию можно здесь:

http://www.freedos.org/download/


«Танчики» в Steam?

Группа белорусских энтузиастов хочет создать ремейк классической Dendy-игры Battle City на движке Unreal Engine 4. Проект получил название Battle Tanks.

Как сообщает Андрей Кушнир (основатель проекта), он просто хотел добавить в любимую игру детства всё то, чего ей не хватало: новой трёхмерной графики, игры по сети, четырёх игроков, больше карт, удобного редактора и так далее.

На данный момент игра находится в стадии разработки. Если игру выпустят из Steam Greenlight, то разработчики планируют продавать её по цене в 2-3 доллара.

Официальный сайт игры:

http://battletanks.tk/

Группа ВКонтакте:

https://vk.com/battle_tanks_game


Конкурс статей на «Полигоне Призраков»

20 декабря на сайте «Железные Призраки Прошлого» стартовал очередной конкурс статей. Тема конкурса свободная, желающие поучаствовать и выиграть ценные призы могут ознакомиться с правилами здесь:

http://www.phantom.sannata.ru/forum/index.php?t=23671


Реинкарнация Dendy

10 ноября в Японии и Австралии стартовали продажи игровой консоли NES Classic Edition – ремейка классической NES.

Приставка, также известная под названием Nintendo Classic Mini, содержит 30 встроенных игр, подключается к телевизору по HDMI, в комплект входит геймпад. К сожалению, сменные картриджи не поддерживаются.

Консоль содержит четырёхъядерный процессор Allwinner R16, 256 МБ RAM и 512 МБ флеш-памяти.

Цена устройства составляет приблизительно 60 долларов.

Официальный сайт:

https://www.nintendo.com/nes-classic


Автомастерская на Commodore 64

Как сообщает интернет-ресурс Gizmodo, в одной из автомастерских в польском Гданьске обнаружили вполне себе рабочий и активно использующийся Commodore 64. Этот домашний компьютер начал выпускаться более 30 лет назад, имел 64 КБ ОЗУ и процессор с частотой 1 МГц. В мастерской он используется для балансировки карданных валов уже на протяжении 25 лет.

Оригинал новости здесь:

https://www.facebook.com/RetrokompLoaderror/photos/a.680487201977883.1073741830.675193919173878/1260559587303972/?type=3


Doom запустили на тачбаре нового MacBook Pro

Программист Адам Белл в качестве эксперимента использовал новую сенсорную полоску MacBook Pro для игры в первый Doom. Правда, с учётом того, что разрешение этого «экрана» составляет 2170x60, играть на нём, мягко говоря, не очень удобно. Более практично выглядит другая идея Белла – выводить на тачбар нижнюю информационную полоску с показателями здоровья, патронов и т.п.

Оригинал новости:

https://twitter.com/b3ll/status/800453225832849408


Обзор подготовили:

Вячеслав Рытиков (eu6pc)

truedowngrade (Сергей Александрович)

uav1606


### Выбор за Вами: новая жизнь или аквариум


Downgrade для каждого свой. Для кого-то это компьютер с процессором Athlon 2000+, для кого-то — Celeron 633. Для меня downgrade созвучен с понятием retro, со старыми компьютерами и устройствами, которые могут вызвать удивление и уважение.

Я являюсь обладателем следующих раритетов: «Спектрум 128» (процессор Zilog), «Апогей БК-01Ц» (клон процессора Intel i8080A), а также Toshiba Satellite 2135CS с 486 процессором и 8 МБ оперативной памяти.


Я не использую эту технику в повседневной жизни, для меня она — телепорт в прошлое. Когда деревья были большими, трава зеленее, а впереди — бурное развитие компьютерной отрасли и множество ежегодных революционных открытий. Старые технологии, уступая место новым, продолжали жить по инерции ещё долгое время. Однако рано или поздно наступает момент, когда полноценное использование ретрокомпьютера становится невозможным. На данный момент на ретрокомпьютере практически нереально пользоваться интернет-ресурсами. Даже с почтовыми клиентами большая проблема, не говоря о веб-браузерах. Сейчас везде используется шифрование и многое другое, не предусмотренное в программах года этак 95. Получается, что ретрокомпьютер — это только старые игры и печатная машинка?

С вопросом «Как использовать старый компьютер?» я обратился к поисковику. Результаты меня очень озадачили. Предлагается заняться тренировкой сборки-разборки, апгрейдить или даже сделать аквариум! Мне показалось, что не хватает только пункта «выбросить и купить новый». Признаюсь, я был неприятно удивлён отсутствием какого-либо «живого» применения старого железа. Ведь самое простое — это использовать его в образовательных целях.

И я решил провести эксперимент. В присутствии школьников младших классов я загрузил программу на «Спектрум» со смартфона через обычное гнездо для наушников. Реакцию сложно передать словами. Дело в том, что такой метод «ввода информации» меняет привычное представление об этом процессе. Ребёнок имеет возможность «услышать» программный код. При этом после завершения загрузки школьник однозначно осознаёт, что именно эти магические звуки являются игрой, картинками и прочим кодом. При этом «Спектрум» можно легко открыть и показать содержимое. Плата достаточно простая и понятная. Хорошо видны дорожки, легко объяснить какой элемент за что отвечает. Современная микроэлектроника лишена наглядности, она слишком сложна, чтобы понять, как устроен компьютер. Разумеется, я не предлагаю вводить предмет «Занимательный ассемблер для учеников 2-го класса», я предлагаю сделать то, что в последнее время удаётся всё труднее, а именно – УДИВИТЬ.

В поисках ответов на свои вопросы я наткнулся на статью «Tech Know: BBC Micro используется в классе ретропрограммирования». Материал на английском.

http://www.bbc.com/news/technology-10951040


(Фото из http://www.newryspud.com/2016/05/20/newry-schools-get-state-of-the-art-computers/ )


Для меня оказалась слишком сложной задача сделать литературный перевод этой статьи. Но если вкратце, то начинающие программисты изучают принцип работы ретро-компьютера BBC Micro и выполняют различные задания. Одно из них – написать 8-битную игру. При этом им приходится относиться к написанию кода с большим вниманием и ответственностью, ведь проверки синтаксиса, копирования и вставки попросту нет.

Статья содержит видео с процессом обучения, а также фрагмент передачи от 17 октября 1986 года про BBC Micro, Spectrum, Olivetti, Apple 2.

Этот прекрасный пример показывает, что можно не только вдохнуть вторую жизнь в ретрокомпьютеры, но и использовать их сильные стороны в образовательном процессе.

Уверен, что существует множество задач, при решении которых можно применить условный Spectrum, нужно просто хорошенько подумать и задаться целью не бросать старых друзей.


С уважением, DmitriyKo


### Связь со «Старшим братом» (книжная полка)


На дворе конец восьмидесятых, IBM PC – не область научной фантастики, а рассказ о том, что есть человек, имеющий доступ к такому компьютеру, может быть и байкой, но уже вполне себе правдоподобной. Тем более что отечественная промышленность уже рапортует об освоении выпуска советских компьютеров, способных работать с MS-DOS. Вот и нашлись люди, перед которыми встала задача перенести данные, подготовленные на старом бытовом компьютере, на более современную машину, а, возможно, что и не один раз.

Такая задача является достаточно нетривиальной до сих пор – даже имея звуковую карту и мощный компьютер, способный «на слух» декодировать сигналы с кассет, не всегда можно получить ожидаемый результат. А уж что говорить про времена, когда звуковая карта, в отличие от самого персонального компьютера, ещё была вершиной прогресса, и об оцифровке звука речь практически не шла? Вот и приходилось «левшам» создавать собственные программные и аппаратные средства для соединения двух, можно сказать, миров – бытовых компьютеров и профессиональных ЭВМ, управляемых MS-DOS. Решению этой задачи А. Долгий посвятил целый цикл статей, вышедших в журнале «Радио» в 1990-м году:

• Преобразователь интерфейса (№6'1990).

• Обработка файлов «Радио-86РК» на компьютерах других типов (№7'1990).

• «РК+РС=...» – ч.1 (№10'1990) и ч.2 (№11'1990).

Первая статья посвящена как раз аппаратному вопросу организации передачи данных. Предполагается, что мы имеем «сырой» компьютер, не оснащённый дисководом (статьи по контроллеру дисковода для РК86 появились только в 1993-м году) без реализованного программно или аппаратно последовательного порта. В качестве канала связи предполагается использовать со стороны бытового компьютера интерфейс магнитофона, а со стороны IBM-PC-совместимой машины – последовательный порт, то бишь RS-232.

Вглядитесь в схему устройства – полностью аппаратный преобразователь, выполненный на микросхемах средней степени интеграции – без процессоров, микроконтроллеров осуществляется синхронизация и декодирование потока данных с РКшки, а после с помощью регистров сдвига формируется кадр стандарта RS-232. Согласование с уровнями RS-232 также происходит без использования специализированных микросхем, таких как MAX232 (хотя преобразователи такого плана были и использовались в последовательных интерфейсах принтеров СМ6337) – используется достаточно стандартный операционный усилитель. Шедевр – ничего не скажешь.

Кроме всего прочего, в устройстве присутствует переключатель скорости обмена по RS-232, а также средства калибровки и подстройки под скорость записи бытового компьютера – с помощью стрелочного индикатора. В статье описывается и процедура настройки на скорость по движениям стрелки.

Интересно, что о программной составляющей IBM PC-совместимого компьютера, принимающей байты по RS-232, не сказано ничего – ни в статье, посвящённой преобразователю, ни в следующей. В следующей статье цикла автор пишет, что файлы должны каким-то образом быть приняты и записаны в двоичный файл без типа. Я так понял, что это какой-то файл, который при этом не должен иметь расширения (вспоминается «Тень» Шварца и Андерсена – файл без расширения – это не менее неприлично, чем человек без тени :-). На этот файл будет натравливаться программа-конвертор, разработанная автором.

Кстати, программа написана на Паскале, так что теоретически есть шанс любому неравнодушному поковыряться без особых проблем в исходнике. Данная программа по заголовку или каким-то другим признакам попытается определить, что же это за файл. Файл может быть следующего типа:

• Текстовый файл.

• Файл программы, написанной на Бейсике.

• Файл, созданный Монитором компьютера.

• Файл Паскаля РК86 – ЛС-Паскаль.

Каждый из файлов программа проверяет на корректность, а также на «совместимость» со средствами IBM PC-совместимого компьютера – например, файлы Бейсика также будут тестироваться на совместимость с Microsoft Basic. Что ещё нужно, казалось бы? Да, ещё кодировочка. Вечно у нас с кириллическими буквами проблема – в разных кодировках они стоят на разных местах, а разные кодировки... да, используются разными компьютерами и операционными системами. Но и тут автор не сплоховал – разработанная им программа готова перелопатить все кириллические символы в кодировку CP-866, чтобы облегчить работу с файлами уже на PC-совместимом компьютере.

Казалось бы, всё, данные получены, преобразованы в более-менее соответствующий реалиям MS-DOS формат. Можно вздохнуть с облегчением и приступить к работе на персональном компьютере. Но не так прост автор цикла. Он не намерен полностью отказываться от проверенного в боях бытового компьютера. Тем более что, вполне возможно, ЕС-1840, на которой проводились эксперименты, а уж тем более «Нейрон», были не его компьютерами.

Тогда встаёт вопрос не только о том, чтобы скинуть наработки на IBM PC-совместимую машину, но и набранный текст в удобном «Лексиконе» или ещё каком редакторе, отлаженную в Microsoft Basic'е или Turbo  Pascal’е программу передать обратно на «Радио-86РК». Как раз этому посвящена статья «РК+РС». В первой части приводится описание двух программ, формирующих сигналы, совместимые с сигналами интерфейса магнитофона «Радио-86РК», а также достаточно простые схемы согласования интерфейсов.

В качестве средств формирования сигналов предлагается «ногодрыгание» пином параллельного порта либо отправка данных средствами порта последовательного. Правда, сразу нужно сделать оговорку – предполагается, что последовательный порт реализован на микросхеме 8251 либо КР580ВВ51. В советских PC-совместимых компьютерах так оно обычно и было – особенно в ранних, однако в зарубежных использовалась другая микросхема – 8250, а после и 16550. Едва ли у этих микросхем есть синхронный режим работы, какой присутствовал у 8251 и её советского аналога. При «ногодрыгании» порой происходят искажения сигнала в связи с обработкой прерывания от различных периферийных устройств, так что автор предлагает попробовать отключать прерывания на время исполнения функции передачи данных на бытовой компьютер, хоть и сам тут же пишет, что такое «шаманство» чревато определёнными проблемами.

Во второй части даётся описание основной части программы – конвертора файлов формата MS-DOS в формат программ «Радио-86РК». Да, описанные примеры кода из первой части являются только процедурами одной большой программы. Данная программа, фактически, выполняет функцию обратную программе, описанной в статье «Обработка файлов "Радио-86РК" на компьютерах других типов». Обработка сводится к следующим функциям:

• выявление символов, отсутствующих в знакогенераторе РК86, и их преобразование либо исключение (из документа);

• преобразование символов кодовой таблицы в формат, допустимый для вывода на экран РК86, например, данный компьютер не может показывать сразу заглавные и строчные буквы;

• преобразование файла в формат текстового редактора пакета «Микрон» (пакет прикладных программ, популярный среди пользователей РК86) – 62 символа в строке;

• преобразование HEX-файла в формат РК86.

После конвертации данные будут переданы в бытовой компьютер выбранным методом – либо через параллельный, либо через последовательный интерфейс.

Конечно, в наше время встаёт вопрос, насколько полезен современному даунгрейдеру будет данный цикл статей. Думаю, что не очень – имея в наличии компьютер со звуковой картой и уже разработанный программистами софт, способный синтезировать средствами звуковой карты необходимые сигналы для магнитофонного порта бытового компьютера, едва ли возникнет необходимость перегонять код посредством перенастроенного последовательного порта или путём дергания пином LPT. Но порой интересно оглянуться и оценить труд, проделанный предыдущими поколениями для решения достаточно нетривиальной задачи.


Андрей Шаронов (Andrei88)


### Что такое Макинтош?


В девяностые годы все знали, что есть ПК, есть всякие UNIX/Linux, есть VMS, есть OS/2 и есть «Макинтош». Все считали,  что «Макинтош» – это классно, куда сильнее, чем ПК. Однако взглянем на это дело непредвзято.

Каждый, кто работал с Windows 3.1, знает, как там устроено окно. Сверху строка заголовка, в левой части кнопка с минусом, открывающая меню окна, в правой части две кнопки, которые разворачивают окно и сворачивают. Если окно сворачивается, оно превращается в значок на рабочем столе, обычно по нижнему краю, но можно размещать значки иначе.

Меню окна открывается щелчком на значке «минус» или комбинацией клавиш, и позволяет сворачивать, разворачивать, восстанавливать, перемещать и закрывать – даже без мыши.


В Windows 95 справа появилась также и кнопка закрытия окна – и Панель задач внизу экрана, где есть значок для каждого открытого окна. Щелчок правой кнопкой на значке окна открывает меню окна, щелчок на Панели задач позволяет расположить окна, как надо – справа налево, сверху вниз или каскадом, размеры Панели задач можно менять, можно сделать так, чтобы она автоматически, когда не нужна,  исчезала с экрана.

В Windows 98 вообще на Панели задач можно размещать разные дополнительные панели, начиная с Панели быстрого запуска, а также есть возможность сделать панель из папки и разместить по краю экрана. А теперь беглый взгляд на операционную систему «Макинтоша».

Первое, у всех настоящих «Макинтошей» на мыши только одна кнопка. Контекстное меню открывается щелчком мыши при нажатой клавише Control.


Второе, «Макинтош» имеет одну панель меню для всех открытых окон вверху экрана, эта панель в размере не меняется, на автомате не исчезает, а выпадающий список в правой части играет роль панели задач.

Каждое окно имеет строку заголовка, слева квадратик, справа кнопка, в версии  9.2 – две. Версия 9.2 – последняя версия своей операционной системы от «Эппл», «Икс» – бесплатная операционная система с открытым исходным кодом, на ней сдёрнутое у другой системы оформление, всё это сделано коммерческим, с закрытым исходным кодом, и продаётся за деньги. Щелчок на квадратике закрывает окно – без всяких меню. Щелчок на единственной кнопке оставляет от окна только строку заголовка с квадратиком и кнопками, повторный щелчок разворачивает окно. Свернутое окно может заслоняться другими окнами. Есть отдельная программа, добавляющая панель задач с главным меню, как в Windows, но это уже не «Макинтош».


На своей панели вверху экрана у «Макинтоша» есть нечто типа Главного меню, это кнопка в виде яблока-логотипа с левого края. Это, так сказать, главное меню мало отличается от Главного меню Windows, разве что выглядит несколько иначе да возможностей меньше.

В Windows 95 из Главного меню можно открыть Панель управления. У «Макинтоша» это Полоска управления (Control strip), которая располагается по нижнему краю экрана, её можно свернуть до значка в левом нижнем углу экрана, и все её элементы доступны как прямо на ней, в виде иконок, так и из подменю в Главном меню. Вещь эта скорее неудобная, занимает место на экране.


Даже в Windows 3.1 в комплект поставки входили какие-то программы и игры, например, Media Player и «Сапёр».


В «Макинтоше» таких бесплатных вещей минимум, в чистой системе почти ничего нет. В Windows есть большие  возможности оформления, начиная с Windows 98 – красивые темы.


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

Все знают, что на корпусе ПК есть, по крайне мере, кнопка включения и кнопка «Ресет» (Reset).  У «Макинтоша» «Ресета» нет, поэтому, если он зависнет, перезагрузить следует, вынув и воткнув опять кабель питания. Если нажимать на кнопку включения/выключения, толку часто нет.

На клавиатуре «Макинтоша» есть дополнительная кнопка включения/выключения, однако специальные клавиатуры для Windows имею три специальных кнопки – включения, засыпания и пробуждения, и на системах с расширенным интерфейсом управления питанием (ACPI) можно задать в настройках BIOS загрузку от нажатия любой клавиши на клавиатуре. На корпусе ПК есть разъёмы: большой круглый DIN для клавиатуры и последовательный порт для мыши – в старых моделях, в более новых – два маленьких круглых PS/2 вдобавок к последовательному и параллельному, клавиатура и мышь подключаются каждый к своему разъёму. У «Макинтоша» на корпусе два маленьких круглых разъёма Настольной Шины Эппл (ADB, Apple Desktop Bus). В один из них подключается клавиатура, а уже к ней подключается мышь.


На клавиатуре два разъёма, и без разницы, с какой стороны что подключать – кабель к системному корпусу и мышь. Сам кабель между клавиатурой и системным блоком примерно такой же, как у IBM ПК, с той разницей, что у «Макинтоша» его можно отключить от клавиатуры, а у IBM ПК – нет.

Если разбирать «Макинтош», оказывается, что своя у него лишь материнская плата. Жёсткие диски, планки памяти, дисководы оптических дисков – те же, что и у всех. Да, ещё есть звуковая карта, которая при запуске сообщает, что всё нормально, дисковод гибких дисков и блок питания. Дискетник в системе от «Самсунга», и в отличие от ПК,  «Макинтош» сразу определяет, что там есть дискета, и показывает значок на Рабочем столе. Это ещё одно отличие – у «Макинтоша» нет окна Мой компьютер, все доступные диски показываются значками на Рабочем столе.


В целом, если сравнивать две системы, окажется, что ПК и Windows куда сильнее. Если есть возможность выбрать только один «ящик», следует выбирать их.

Windows куда мощнее, щедрее, предоставляет несравнимо больше возможностей настройки системы, приложений и оформления, является, в некоторой мере, стандартом, несёт в себе больше бесплатных вещей, с ней работает больше программ, она дешевле и требует меньше.


Мамонт (Mamont@Mitino.ru)

Специально для журнала Downgrade


### Оставайтесь с нами


Старые программы и ПК часто качественнее современных. В чём причина?

Отчасти в телевизоре. А если станем разбираться до конца – отчасти во времени.

Раньше по телеку были передачи «В мире животных», «Очевидное – невероятное», вообще познавательные, фильмы были отечественные и нормальные. А с началом демократии стало иначе – на телеканалах стала появляться иностранная фигня, и не важно, что фигня, главное, что иностранная; сами телеканалы стали исключительно средством зарабатывать бабки. Если человек просмотрел с начала до конца «Санта-Барбару», «Богатые тоже плачут», «Просто Марию» и «Дикую Розу», может ли он написать нормальные программы? Вряд ли.

Раньше другим было и время. В 80-х годах ещё многое было новым, создавалось с нуля, часто в государственных учреждениях – как в СССР, так и на Западе, – а в состоянии (так или иначе) войны государства предъявляли особые требования к качеству. Также нельзя упускать из вида, что при всех делах – холодная война, железный занавес – существовал обмен информацией. Часть вещей из СССР просто украли – точнее, купили у правильных начальников; классический пример – истребитель «Стелс».  Часть по факту отправляли  дорабатывать – аппаратное и программное обеспечение для разных платформ, от IBM ПК до VAX/VMS. Ещё один неплохой пример – сделанный на базе «Эльбруса» Пентиум.

Раньше другими были люди, в голове у них были капитан Немо, «Адмирал Бенбоу» и мечта о далеких звездах. С началом демократии им стала приходить хана.

Как в фильме «Брат»: кого купили, кого убили.

А какие граждане разрабатывают программы сейчас? Это граждане, с СССР никак не связанные. С молоком матери и спермой гастарбайтеров они всосали Гарри Поттера и телепузиков, гигиенические прокладки и тампоны «Тампакс», «Красную Плесень» и «Король и шут». Человек, создавая что-то, вкладывает в это часть себя, а этим гражданам, кроме той гадости, которая у них внутри, вложить нечего.

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

Результат: если зайти в магазин, там предлагают самые последние версии программного обеспечения, а если смотреть объявления о приёме на работу для админов, там требуется знание виртуальных машин. На самое последнее аппаратное обеспечение ставится виртуальная машина, а там – старые программы. Вот так.


Мамонт (Mamont@Mitino.ru)

Специально для журнала Downgrade


### Братья Марио? Супер! (downgrade-видео)


Название: Супер братья Марио / Super Mario Bros.

Год выпуска: 1993

Жанр: фэнтези, приключения, семейный

Перевод: профессиональный (многоголосый, закадровый) / авторский (одноголосый, закадровый)

Длительность: 1 ч. 45 мин.

Ссылка: https://youtube.com/watch?v=IZS_hsMKLNM


Давненько на страницах нашего журнала не поднималась тема бравых итальянских водопроводчиков. Соскучились? :) Откиньтесь на спинку кресла, сегодня в рубрике «Downgrade-видео» ностальгический киносеанс по бесценно прожитым годам нашего детства. Нет, ну действительно! Сколько джойстиков мы сломали, сколько времени убили, спасая эту принцессу? Теперь самое время запастись попкорном и взглянуть на игровой процесс через призму кинематографа. К тому же посмотреть, действительно, есть на что.


Действия фильма разворачиваются в американском городе Бруклин. Главные герои (как вы уже, наверное, догадались – братья Марио и Луиджи) случайно знакомятся с девушкой. По стечению обстоятельств они втроем оказываются в подземной шахте (а где вы думали водопроводчики проводят время на первом свидании? :-), в которой обнаруживается портал в другое измерение.


Девушку, которая позже окажется той самой принцессой, похищают злодеи, и исчезают в вышеупомянутом портале. Братьям ничего не остаётся, как последовать вслед за ней. По прибытию им предстоит произвести разведку боем: сориентироваться на местности, начистить физиономию главному злодею, ну и, само собой, спасти принцессу и весь параллельный мир. Всё в лучших традициях жанра, как говорится. Ни больше ни меньше.


Следует признать, что сюжетная линия весьма необычна, и временами лишь отдалённо напоминает оригинальную игру. Однако, согласитесь, написать полностью «адекватный» сценарий в этом случае – занятие непростое, если вообще возможное. Тем не менее, все необходимые атрибуты игры соблюдены: тут тебе и Марио с Луиджи, и трубы с грибами, принцесса, нереально высокие прыжки – всё присутствует. А ещё из сюжета можно узнать некоторые ранее неприметные игровому глазу подробности – например, что сам Марио не так уж и молод, как казался 8 бит тому назад (хотя ещё волне бодрячком), и что на принцессу, в общем-то, претендует вовсе не он, а его младший братец.


В фильме отсутствует вычурная компьютерная графика, а немногочисленные «ламповые» спецэффекты добавляют свою изюминку.


Любители авторских переводов не должны остаться равнодушными: до наших дней сохранились несколько одноголосых вариантов на выбор – Пронина, Михалева и Горчакова. Таким образом, если вы уже имели удовольствие видеть эту картину ранее – приготовьтесь пустить ностальгическую слезу умиления.  Новичкам же хочется сказать лишь одно – добро пожаловать в киномир братьев Марио!


Вячеслав Рытиков (eu6pc)


### Обзор ленточных накопителей


Накопители информации на магнитных лентах (НМЛ) – ровесники первых ЭВМ, дожившие до наших дней. Несмотря на серьёзный недостаток – необходимость длительной перемотки ленты для доступа к выбранным данным – они завоевали право на жизнь благодаря относительно большой своей ёмкости (по сравнению с современными им НЖМД – накопителями на жёстких магнитных дисках) и низкой стоимости съёмного ленточного носителя (по сравнению с несъёмным дисковым носителем, установленным в НЖМД).

Когда-то НМЛ применялись только на «больших» компьютерах, но когда появились 8-битные домашние «персоналки», их пользователи стали использовать бытовые аудиомагнитофоны в качестве примитивных накопителей для цифровой информации. Время шло, ПК становились всё «круче», ёмкость их жёстких дисков намного превысила ёмкость магнитофонной компакт-кассеты, и НМЛ сдали свои позиции. Тем не менее, их продолжили использовать профессионалы – системные администраторы, вынужденные, в отличие от пользователей ПК, хранить большие объёмы данных. Но к серверам, естественно, магнитофоны уже не подключали: НМЛ стали особыми устройствами (стримерами), рассчитанными на специальные кассеты – хотя и похожие на аудио, но отличающиеся от них многими параметрами, в том числе магнитными и механическими характеристиками ленты. Рассмотрим же наиболее распространённые типы стримеров, существовавшие 20-30 лет назад.

Надо отметить, что наш обзор стримеров носит практический характер. Мы не просто смотрим фотографии, запечатлевшие «дела давно минувших дней». Мы работаем с живым, вполне работоспособным оборудованием, которому довелось устареть морально, но не разрушиться физически. Это говорит о высокой надёжности и стабильности параметров старых стримеров и магнитных лент, что, впрочем, естественно: резервные копии данных должны долго и надёжно храниться, ведь в какой-то момент они могут стать жизненно необходимыми.

В качестве «испытательного стенда» был выбран мой старый «домашний сервер». Следует рассказать о нём более подробно. Это крупный и добротный системный блок GEG Prestige форм-фактора AT, привинченный к стене на уровне головы стоящего человека. Почему привинченный? Во-первых, так он не занимает места на столе, во-вторых, так в нём удобно «копаться», а в-третьих, этот системник мне изначально отдали без правой крышки, к стене же он как раз плотно прилегает правым боком, и правая крышка не нужна. :-)


Несколько лет назад эта машина работала в роли «TCP/IP-BBS», то есть сервера удалённого доступа, подключенного к телефонной линии, подобно «классической» BBS. Только вместо терминальной программы пользователь использовал PPP-подключение, так же как и при выходе в Интернет через диал-ап провайдера. Но вместо Интернета дозвонившийся пользователь попадал в мою домашнюю TCP/IP-сеть, и мог обмениваться файлами по протоколу FTP, заходить на локальную копию сайта «Ностальгия» по HTTP, общаться со мной через E-mail, чат, сетевые игры... Время неумолимо шло, пользователи с телефонами и модемами остались в прошлом, а быстрый Интернет по выделенным линиям сделал бессмысленным бесплатное скачивание файлов с домашнего сервера. Поэтому «TCP/IP-BBS» осталась не у дел, и использовалась периодически, лишь в качестве испытательного стенда для тестирования разных «железок», а потом и это прошло. И вот недавно я снова «оживил» ящик, пару лет провисевший на стене без дела. Полезно всё-таки иногда писать статьи, чтобы не облениться и не деградировать окончательно! :-)


Конфигурация «настенного сервера» такова: Pentium-166, объём ОЗУ – по ситуации, но 6 слотов для памяти SIMM EDO легко позволяют поставить хоть 96 МБ, что более чем достаточно для «первопня». Жёсткий диск – 72 ГБ SCSI (хост-адаптер Diamond FirePort). В качестве операционной системы использовалась знаменитая Windows NT 4.0 Workstation RUS. Отдельного монитора у сервера нет, я обычно управлял им с основного своего компьютера по сети через «удалённый рабочий стол», для чего поставил специальную программу NetOP. Модем – внешний USR Courier.


Для того чтобы машина работала в качестве «испытательного стенда», вместо SCSI-диска к ней подключался твердотельный IDE-накопитель Transcend ёмкостью 32 МБ (на фото – аналогичный накопитель, только большей ёмкости). Такой «диск», в отличие от механического жёсткого диска, не боится ударов, частых включений-выключений, беззвучен и имеет высокое быстродействие. На нём установлена DOS, записаны разные драйверы и тесты для жёстких дисков, видеокарт, звука, сетевых адаптеров...

Как показала практика, первый «Пентиум» является оптимальной машиной для большинства довнгрейдерских экспериментов: на нём хорошо работают DOS, Windows 3.1, 95, 98, NT4, большинство старых игр и других программ, у него есть слоты ISA и PCI, к которым можно подключить почти любое «железо», выпускавшееся в 80-90 годах; он «видит» жёсткие диски IDE от 40 МБ до 40 ГБ, к нему можно подключать устройства USB, SCSI... Из недостатков – отсутствие слотов AGP и DIMM не позволяет испытывать соответствующие видеоадаптеры и модули памяти.


От описания «испытательного стенда» перейдём, наконец, к стримерам, которые работали и работают в составе этого стенда. На фото показаны различные типы кассет, применявшихся для хранения данных пару десятилетий назад (спичечный коробок – для оценки габаритов). В том числе – аудио и видеокассеты. Аудиокассеты применялись в качестве накопителей для 8-битных «домашних» компьютеров, например «Спектрумов». На таких кассетах помещалось (в зависимости от длительности звучания и способов кодирования данных) от 600 КБ до 2 МБ. На видеокассеты в своё время также писали цифровую информацию. Для этого видеомагнитофон подключался к компьютеру через плату «Арвид», мелкосерийное производство которой было налажено в 90-е годы и насчитывало несколько модификаций. На одну кассету помещалось около 2 ГБ. Для своего времени – неплохая система, учитывая низкую цену видеокассет по сравнению со стримерными лентами. По «Арвидам» можно было бы написать отдельную статью, располагай я хотя бы одной из этих плат.

Итак, в «пирамиде» на фото, если двигаться сверху вниз, присутствуют:

- кассета DDS-2 (4...8 ГБ);

- кассета QIC-40 / QIC-80 (60...120 / 120...250 МБ);

- аудио компакт-кассета 90 минут;

- кассета QIC-525 (525 МБ);

- видеокассета 240 минут.

Диапазон ёмкостей указан в формате «без аппаратного сжатия ... со сжатием». На другом фото справа налево показаны те же кассеты, но без коробок.


Начнём с одного из самых старых стандартов – QIC-40 (QIC-80). Размер привода 3.5" полной высоты, он устанавливается в 5-дюймовый отсек при помощи «салазок». Аббревиатура QIC означает «четвертьдюймовый картридж», то есть кассета с лентой шириной 1/4 дюйма (6.25 мм). «Четвертьдюймовый» стандарт ленты возник не на пустом месте, лента такой ширины использовалась ещё в катушечных магнитофонах. Относительно компактные кассеты QIC нашли применение в персональных компьютерах. Отметим, что в катушечных накопителях «больших» ЭВМ (мейнфреймов) использовали «полудюймовую» ленту с 9-дорожечной записью. На ленте QIC помещается от 20 до 36 дорожек. Переход между дорожками осуществляется смещением магнитной головки по вертикали. У стримера не простая магнитная головка, а блок из трёх головок: записи/стирания; чтения/контроля; записи/стирания (запись и чтение могут производиться при движении ленты в разных направлениях).


Устройство картриджа QIC показано на рисунке. В отличие от аудиокассеты, картридж QIC не имеет окошек, в которые вставляются шпиндели магнитофона, вращающие звёздочки катушек с лентой. Вместо этого в картридже QIC есть колёсико 3, которое прижимается к обрезиненному приводному ролику стримера. Колёсико двигает внутри картриджа закольцованную приводную ленту 4, которая прижимается к катушкам 2 с основной лентой 1, и вращает катушки как в одну, так и в другую сторону. Поворачивающаяся заслонка 5 открывает доступ к участку ленты 1, к которой прижимается блок магнитных головок стримера. Следующие три фото иллюстрируют механическое устройство стримера Colorado Jumbo 120, работающего с кассетами QIC. На первый взгляд, механика проста, но она должна быть высокоточной и износостойкой.


Вертикальное смещение блока магнитных головок, подвижно посаженного на шпенёк, нужно для перехода между дорожками ленты. Блок головок приводится в действие шарнирным рычагом, другой конец которого связан с гайкой, надетой на микрометрический винт, посаженный на вал шагового двигателя смещения блока головок. Второй шаговый двигатель – привода ленты – непосредственно связан с обрезиненным приводным роликом.


Следующее фото показывает кассету, вставленную в стример. Видно, как приводной ролик прижимается к приводному колёсику кассеты. Магнитную ленту он не зажимает – лента проходит под колёсиком. Также видно, что защитная поворотная крышка автоматически открывается, давая доступ к ленте блоку магнитных головок.


Следующие две иллюстрации дают представление о плате с электроникой стримера (в основе платы специализированная микросхема Colorado Memory Systems 1988 года изготовления) и о шаговых двигателях, установленных на нижней стороне привода.


В обозначении кассет число 40 или 80 обозначает первоначальную ёмкость кассеты в мегабайтах, хотя на самом деле на кассету QIC-40 с лентой длиной 93.7 м помещается 60 МБ без сжатия или около 120 МБ с аппаратным сжатием данных (на QIC-80 – вдвое больше). Ленты QIC-40 применялись во второй половине 80-х годов, в эпоху 286 и 386 машин, когда ёмкость типичного жёсткого диска составляла 40-120 МБ. Поэтому для своего времени этот ленточный стандарт был достаточно ёмким – на одну кассету помещался целый «винчестер».

Рассматриваемый нами QIC-накопитель Colorado Jumbo 120 подключается к компьютеру через обычный интерфейс флоппи-дисковода. Это просто и дёшево; недостатки такого интерфейса – низкая скорость передачи данных и невозможность подключить второй дисковод вместе со стримером. Что касается скорости: испытания показали, что бэкап IDE-накопителя Transcend 32 MB (занято 28 МБ) занимает 12 минут, то есть за секунду передаётся около 40 килобайт, это соизмеримо со скоростью дисковода. Легко подсчитать, что для записи полной кассеты понадобится около 50 минут. Что ещё обратило на себя внимание при опытах с этим стримером? Перед использованием кассету, если она новая или использовалась в другой системе (Unix?), нужно форматировать. У меня это заняло 58 минут. Форматирование, чтение, запись осуществляются так: стример устанавливает головку на дорожку, перематывает ленту, пока не дойдёт до конца блока, затем передвигает головку на следующую дорожку, и мотает ленту в обратную сторону до начала блока... Перебрав все дорожки, стример передвигает ленту к следующему блоку, и так далее. В процессе работы Jumbo довольно громко шумит, а кассета (алюминиевая пластина в её основании) ощутимо нагревается. По-видимому, эта пластина нужна не только для прочности, но и для охлаждения ленты.

Программное обеспечение для Jumbo 120 работает в DOS и называется Colorado Backup. Порадовало то, что кассета, записанная на одном стримере, успешно читается на другом стримере (у меня два стримера, причём разных модификаций). На следующих четырёх фотографиях показаны скриншоты Colorado Backup.


Теперь вкратце рассмотрим другой, более «продвинутый» вид QIC-стримеров. DEC (Digital) TZK10-AA (сделан в Норвегии). Устройство полностью занимает 5-дюймовый отсек, имеет интерфейс SCSI. Кассета для него намного крупнее QIC-40, но и ёмкость существенно выше: 525 МБ. Стример достался мне вместе с 486-м сервером Everex Systems. На сервере был установлен жесткий диск SCSI ёмкостью 1 ГБ.


Спереди сделана откидная крышка. Открыв её, вставляют в стример кассету и закрывают крышку. При этом так же, как и у Jumbo, у кассеты открывается заслонка, к ленте подходит блок магнитных головок, а приводное колёсико прижимается к резиновому приводному ролику. Этот процесс иллюстрируется следующими четырьмя фотографиями.


DOS-овского софта для DEC TZK10-AA мне найти не удалось. Очевидно, что с приводом следует использовать штатный софт для архивирования данных Windows NT и UNIX-систем. К сожалению, эксперименты с Windows NT провести не удалось: после пары лет простоя сервера попытка загрузить Windows приводит к появлению «синего экрана смерти». «Починить систему» пока не удалось.

По этой же причине не удалось сейчас поработать и со стримерами DDS. Впрочем, раньше я пользовался ими довольно много. Причём с разными поколениями: DDS-1, DDS-2, DDS-3.


Формат накопителей DDS-1 (Digital Data Storage – цифровое хранилище данных), базирующийся на стандарте DAT (цифровые аудиокассеты) с шириной ленты 4 мм, появился в начале 90-х годов, году в 93-м его начал заменять DDS-2, ещё через три года – DDS-3. Ëмкость этих кассет без аппаратного сжатия – 2, 4 и 12 ГБ соответственно; со сжатием раза в 2 больше. Такая относительно высокая ёмкость столь миниатюрных (меньше QIC-40) кассет объясняется технологией винтового сканирования ленты. Нечто подобное применяется в видеомагнитофонах: круглый блок магнитных головок вращается быстрее, чем движется лента. Ось блока не перпендикулярна ленте, а наклонена к ней под тупым углом. Поэтому магнитные головки как бы прочерчивают на поверхности ленты параллельные наклонные линии. При этом общая длина дорожек получается больше, чем при линейной записи. Но за это приходится расплачиваться более сложной механикой и электроникой. Стример DDS, по сути, является миниатюрной копией всем известного видеомагнитофона. И если у QIC-стримеров кассету вставляют/извлекают вручную, то кассета DDS загружается в привод и выгружается из него сервоприводами, так же как и видеокассета. Механику стримера DDS можно видеть на двух следующих фото:


Стримеры DDS я устанавливал во внешний корпус для SCSI-устройств (изначально он предназначался для пишущего CD-привода Yamaha).

Внешний корпус содержит отсек для 5-дюймового устройства, вентилятор, блок питания с напряжениями +5 и +12 В, а также внешние и внутренние SCSI-разъёмы с коротким бело-зелёным шлейфом. Поскольку этот SCSI-шлейф не доставал до разъёма стримера (стример короче CD-привода), пришлось сделать удлинитель (на фото серый шлейф). На конце шлейфа установлен терминатор, потому что в стримере нет встроенного терминатора (у CD-привода был).


Для стримеров DDS можно использовать как штатный софт Windows NT или UNIX, так и DOS-овскую утилиту Colorado Backup. Форматы записи у разных утилит для архивирования между собой несовместимы. При работе со стримерами DDS рекомендуется регулярно пользоваться специальной чистящей кассетой с короткой абразивной лентой. DDS намного быстрее QIC. По примерным оценкам, DDS-1 и DDS-2 читают/пишут со скоростью примерно 0.5...1 МБ/сек, DDS-3 заметно быстрее – до 3 МБ/сек, что соизмеримо со скоростью копирования данных на файловый сервер через сеть. Разные поколения DDS частично совместимы между собой: кассеты, записанные на DDS-1, можно читать на DDS-2, DDS-3, но не наоборот.

На этом автор завершает обзор ленточных накопителей, с которыми ему довелось иметь дело. В заключение он хотел бы выразить благодарность двум Егорам: Калиновскому – за подаренный им десяток кассет QIC-40 – и Шелеву – за два стримера Colorado Jumbo, которые он нашёл и заказал в Интернете для автора этой статьи.


Михаил Бабичев (Антиквар)


### Малыш Baby Blue


На заре популярности IBM PC многие потенциальные пользователи, готовые отказаться от имеющихся ЭВМ, сталкивались с проблемой: большинство бытовых компьютеров того времени работали под управлением ОС CP/M, которая изначально разрабатывалась для 8-битных процессоров 8080 и Z80. Именно поэтому основная часть ПО оказалась неработоспособной на 16-битном PC. Практически это означало невозможность запуска нужного софта, который успешно работал на уже имеющейся платформе, от которой пришлось бы отказаться. Налицо проблема совместимости, оригинальный выход из которой предложила компания Xedex Corporation. Она разработала необычный девайс под названием Baby Blue CPU, который представляет собой аппаратный эмулятор, способный запускать ПО, написанное под ОС CP/M-80, на платформе PC. Необычное название происходит от Big Blue («голубой гигант») – традиционного прозвища фирмы IBM.


Каким образом это работает? Как оказалось – очень даже просто. Комплект поставки Baby Blue CPU состоит из платы расширения, дискеты с программным обеспечением и руководства пользователя. Аппаратная часть вставляется в любой свободный слот IBM PC и не требует от пользователя никаких дополнительных действий, за исключением установки перемычек для задания параметров оперативной памяти. На борту эта плата содержит процессор Z80B вкупе с 64 КБ оперативной памяти, и способна работать в двух режимах. В «обычном» режиме PC воспринимает устройство как плату расширения памяти, добавляя вышеупомянутые 64 КБ к своей собственной. В режиме CP/M Baby Blue превращается в «песочницу» для запуска соответствующих программ, при этом собственная память используется для нужд эмуляции, а основной процессор PC выполняет функции ввода-вывода и прочее периферийное обслуживание Baby Blue.


Программное обеспечение расширяет функционал PC следующим образом:

– позволяет читать дискеты различных версий формата CP/M, записанные на компьютерах разных моделей, например NEC PC-8000, DEC VT-180, Heath H89 и некоторых других. В руководстве пользователя упоминается, что изначально список поддерживаемых форматов должен был быть шире, однако из-за некоторых аппаратных ограничений (на стороне PC) его пришлось сократить. Если перенести информацию с помощью дискет не представляется возможным, то это можно сделать другим способом: практически любой компьютер на базе ОС CP/M можно соединить с PC через последовательный порт, используя нуль-модемный кабель или модем;

– добавляет возможность запуска 8-битных программ. Для этого к каждому исполняемому файлу CP/M добавляется специальный заголовок размером 4 КБ, который указывает PC на то, что программа должна запускаться с помощью Baby Blue. Данная операция проделывается один раз и «прозрачна» для пользователя. В дальнейшем такой файл, а также файлы с данными, можно сохранить на «родном» диске PC и работать с ними как с обычными файлами, доступ к которым смогут получить и другие программы.

Baby Blue успешно справляется с запуском огромного количества всевозможного ПО для CP/M.  Исключением из этого списка могут быть следующие программы:

– несовместимые с CP/M-80 v2.2. Фактически, эта версия ОС является обновлением с некоторыми расширенными возможностями. Основная масса программ, написанных для более ранних версий CP/M, вероятнее всего, будет с ней совместима;

– использующие в своей работе низкоуровневые операции, например чтение определённого сектора диска;

– написанные для работы со специализированным железом – платами расширения или нестандартными дисплеями;

– несовместимые с терминалом модели Televideo 950. (В ранние годы для работы с большинством компьютеров под управлением CP/M требовалось наличие видеотерминала – специального устройства, которое подключалось к компьютеру через последовательный порт и объединяло в себе функции дисплея и клавиатуры. Для ввода и вывода информации на такие устройства программному обеспечению было необходимо «знать» и использовать управляющие коды конкретной модели (производителя) терминала. Поэтому немало программ имели установочный модуль, который позволял выбрать используемый терминал из списка доступных.)  Baby Blue эмулирует работу Televideo 950, поскольку этот терминал имеет максимальную совместимость с программным обеспечением и другими моделями.

Гарантия на «синего малыша» составляла 90 дней, но в то же время производитель не гарантировал 100% работоспособности любой CP/M программы. Отдельного упоминания заслуживает замечательное руководство пользователя объёмом 40 страниц (голубого цвета, между прочим :) с картинками, схемой установки перемычек и очень подробным описанием, вплоть до схемы распределения памяти и описания кодов терминала.


Цена на это устройство в середине 1982 года составляла 600 долларов. Имела ли Baby Blue CPU шанс на успех при такой стоимости? Вполне, поскольку на то время она стоила всего лишь на 40 долларов дороже обычных плат расширения памяти. Но, помимо увеличения объёма ОЗУ, Baby Blue превращала обычный IBM PC в «двухпроцессорный», с функционалом эмуляции ОС CP/M. Пользователи получали возможность запуска своих программ без необходимости их повторного приобретения или доработки под новую платформу, программисты могли с успехом использовать Baby Blue для написания и тестирования ПО для CP/M, т.к. все средства разработки того времени успешно запускались в режиме эмуляции. К слову, руководство Xedex Corporation в будущем планировало приспособить процессор Z80 для выполнения обыденных задач: к примеру, он мог бы выводить текст на печать, в то время как основной процессор PC занимается обработкой документа. Однако осуществилась ли эта задумка – история умалчивает...


Прим. ред.: скачать ПО для Baby Blue  можно здесь: http://dgmag.in/N19/BabyBlue/BBSoft.zip.

Фотографии взяты с сайта eBay.com.


Вячеслав Рытиков (eu6pc)


### Эмуляция "Электроники МС 0511"


УКНЦ... как много в этих буквах для сердца даунгрейдера слилось! Как много в нём отозвалось! Наверняка, многие помнят или наслышаны о чуде советской инженерной мысли «Электронике МС 0511», которой с 1988 года комплектовались учебные классы для навязывания неискушённым школьникам и студентам азов информатики. Основой такого класса являлась центральная ЭВМ – рабочее место преподавателя – «Электроника МС 0202» с набором необходимого аппаратного и программного обеспечения, такого как: дисковод, принтер, операционная система, обучающие программы, языки программирования, прикладной софт, игры и многое другое. По локальной сети нужное ПО загружалось на МС 0511, которые выступали своего рода терминалами, и дети пытались постичь неведомый мир вычислительных систем. Но не учёбой единой вспоминается УКНЦ. На его основе формировались системы связи, бухучёта, управления технологическими процессами и прочие системы, требующие автоматизированных вычислений.

К сожалению, в связи с известными событиями начала девяностых, развитие отечественной электроники, рассчитанной на массового потребителя, зачахло, и освободившуюся нишу стали быстро заполнять западные образцы IBM-совместимых технологий. Однако, вплоть до начала 21-го века, «Электроника МС 0511» исправно служила в школах и кружках информатики. В наше время немало рабочих экземпляров УКНЦ можно отыскать в музеях и частных коллекциях и даже на интернет-барахолках за вполне разумные деньги.

Найти сколько-нибудь значимое применение машине сегодня не представляю возможным. Причина банальна – совместимость, а точнее несовместимость с современными компьютерами и периферией. Но если даже простейший калькулятор может ускорить труд во многих областях науки и техники, то что уж говорить о полноценной ЭВМ.

Как говорил главный герой легендарного фильма: «Арфы нет – возьмите бубен». Бубном в моём случае будет эмулятор УКНЦ. В Сети нашлось всего два эмулятора: EmuStudio, написанный автором «для себя, поиграть», и более продвинутый UKNC Back to Life!, сокращённо – UKNCBTL.


EmuStudio


EmuStudio


Последняя версия EmuStudio 0.12f вышла в 2006 году. Скачать её можно здесь, а тут описание эмулятора.

При старте приложения сразу открывается BIOS, где можно выбрать необходимое действие: загрузка с носителя или тестирование и отладка системы. Предварительное монтирование дискеты не требуется; загрузочная дискета уже «вставлена». Выбрав пункт «Диск», сразу загружается операционная система RT‑11, и выводится список исполнительных файлов .SAV, находящихся на загрузочной дискете, в том числе и игры.

Эмулятор отображает экран чересстрочно, видимо, для «ламповости» и увеличения размера окна. По этой причине скриншоты при масштабировании приобретают кучу артефактов. Немного спасают ситуацию различные графические режимы работы, которые используются для разных игр.

Все клавиши оригинальной клавиатуры продублированы своими современными собратьями. Их можно найти на странице описания эмулятора.

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


Lode Runner


Прекрасно запускаются Lode Runner и несколько его аналогов, клон Space Invaders, местный Digger – «Землегрыз», различные вариации тетриса и прочие аркады. Правда, некоторые игры вылетают в отладку или подвешивают эмулятор.


Last Hero


Методом drag'n'drop можно монтировать дискеты. Простым перетаскиванием монтируется диск A, с зажатой клавишей Ctrl – диск B. Переключение между дисками осуществляется командой ASS MZ0 DK (диск B – ASS MZ1 DK). Найдя в Сети несколько образов, я попробовал их запустить в EmuStudio. Например, программа Paint работает стабильно. А вот текстовый редактор оказался растянутым, и часть интерфейса не вошла в экран.


Paint. И да, управляется курсор стрелками клавиатуры


Интересной особенностью эмулятора является моргание индикатора Num на клавиатуре в такт чтения с дискеты. Так сказать, для полного погружения в атмосферу. Скорость работы эмулятора регулируется клавишами PageUp и PageDown. К сожалению, многие функции не реализованы, в том числе звук и запись на диск. Далеко не весь софт запускается, или запускается с ошибками.


UKNC Back to Life!


Разработка UKNCBTL стартовала в середине «нулевых» и продолжается по сей день. Уже давно готова версия 1.0, и продолжают вноситься исправления и улучшения. Скачать здесь: https://github.com/nzeemin/ukncbtl/releases , подробное руководство – https://github.com/nzeemin/ukncbtl-doc/wiki/Users-Manual-ru .

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


UKNC Back to Life!


Для начала эмуляции нужно нажать кнопку Run. Однако в UKNCBTL для загрузки операционной системы сначала необходимо смонтировать диск с ОС. Я скачал его с сайта "УКНЦ & PDP-11" ( http://uknc.narod.ru/ ), как и множество другого софта. В меню Configuration выбираем Floppy MZ0:, либо нажимаем пустой значок дискеты на панели инструментов и монтируем диск. Далее – по старой схеме.

Все игры работают на ура. И в этот раз текстовый редактор полностью помещается на экране.


Текстовый редактор в UKNCBTL


Для ускоренной загрузки можно включить режим удвоенной скорости в меню Emulator. Особенно порадовал Бейсик. Тот самый Бейсик с номерами строк и ныне нелюбимым всеми оператором GOTO.


Листинг и результат выполнения программы


В общем, UKNC Back to Life! – это полноценный эмулятор «Электроники МС 0511». Всем ностальгирующим пользоваться обязательно в неограниченных количествах.


P. S. За давностью лет память может меня подводить. Заранее прошу прощения за возможные неточности в статье.


Дмитрий Колмагоров (Temga)


### Краткий обзор DItek Photo Works for Windows 95


Некоторое время назад я уже писал небольшую статью для журнала про графический редактор PhotoFinish. В обсуждении этого материала в Internet один из читателей рассказал мне о ещё одной похожей программе и даже скинул архив с ней (за что огромное спасибо!). Это оказался DItek Photo Works for Windows 95. Учитывая, что операционные системы серии 9х самые распространённые на моих домашних компьютерах, я немедленно установил эту софтину, и был приятно удивлён.

Несмотря на свой солидный возраст, Photo Works способен не то что Paint заменить, он может даже посоревноваться со стандартными программами для работы с графикой нашей эпохи.


Начнём с инструментов по созданию собственных изображений – тут пользователю предлагается широкий выбор, какими параметрами будет обладать новый файл: размеры варьируются от 320х200 до 1024х768 (для моего железа), а количество цветов – от двух до 16 миллионов.


Линии, ластик, спрей, различные фигуры, клонирование фона – большинство этих функций многим очень знакомы. :-) Также из программы можно сделать скриншоты (либо активного окна, либо рабочего стола, либо его части).

Что же касается работы с графическими файлами, то Photo Works способен «понимать» форматы bmp, targa, gif, pcx, tiff, jpeg, photo CD(!). Собственно, на рисунке ниже я работаю с вполне таким новогодним файлом с расширением jpg.


Программа обладает стандартным набором действий – отразить\повернуть, обрезать, а вот остальные эффекты прячутся в меню Effects – Special effects. Если же вы хотите преобразовать цвета, скажем, до 256-ти, то и эта функция предусмотрена, загляните в меню Image.

Немного времени – и вот вам довнгрейдерская открытка!


А подарок – саму программу – можете получить от меня, просто напишите по нетмылу 2:5020/723 или на почту truedowngrade@gmail.com.

Системные требования DItek Photo Works for Windows 95: 486 процессор, 2 мегабайта на жёстком диске, 16 мегабайт памяти (можно 8).


truedowngrade (Сергей Александрович)


### Эмуляторы бытовых компьютеров для Windows 3.x


Бытовые компьютеры стали целой эпохой, как в СССР и странах СЭВ, так и на Западе. Компьютер-клавиатура, использующий в качестве монитора телевизор, а магнитофон – в качестве накопителя, куда можно сохранить программы, документы, а также запускать с купленных или переписанных кассет игры и программы, стал замечательным другом детям и взрослым. Кто-то вошёл в мир программирования, набивая в Бейсике, а часто с использованием ассемблерных вставок, кто-то просто с теплотой вспоминает проведённые перед телевизором ночи. Но что делать тому, кого такое счастье минуло? Вместо компьютера появилась «Денди», а, может быть, просто захотелось увидеть компьютеры, отличные от своего первого? Вполне законное желание. Покупать машину и затевать эпопею с подключением к телевизору и магнитофону не всегда хочется – по крайней мере, сразу. Благо, на помощь приходят эмуляторы, способные запускать программы и игры (второе, обычно, важнее :-) бытовых компьютеров на IBM PC-совместимом компьютере или «Маке».

Большое количество эмуляторов различных бытовых компьютеров работают под управлением DOS, Linux, Windows 9x.

Windows 3.11 повезло меньше – любительского софта для этой оболочки гораздо меньше, чем для DOS и Windows 95/98, в том числе и эмуляторов. Однако всё равно эти эмуляторы есть, и паре таких программ посвящена настоящая статья.


WinZ80 – пионер эмуляторства


С чего начать поиски? Наверное, с самого распространённого бытового компьютера – ZX Spectrum. Самый популярный, самый эмулируемый, а, значит, и больше вероятность найти подходящий эмулятор. Как видите, найти удалось – WinZ80 – если верить статьям в интернете, один из первых эмуляторов (кроме того, есть DOS-версия – Z80). Четвёртую версию можно скачать по ссылке http://mdfs.net/Apps/Emulators/Spectrum/Z80-400.zip.

В качестве полигона для экспериментов с эмуляторами использовался компьютер с конфигурацией UMC U5S 33 МГц, RAM 32 МБ, видеокарта Realtek RTG3105i 512 КБ под управлением русской версии Windows 3.11. До этого описанный эмулятор был проверен на современном компьютере под Windows XP. В интернете нашёлся небольшой обзор данного эмулятора: http://zx48.8bitchip.info/et/WZ80.php, где утверждалось, что программа написана оптимально и неплохо работает под Windows 98 на Pentium 200 МГц. В принципе, на новом компьютере автора программа тоже работала достаточно резво. Однако на 486-м компьютере начала работать весьма вальяжно, кроме того, возникли проблемы с изменением размеров окна программы – размеры изменялись, скажем так, рывками – можно было увеличить или уменьшить окно минимум в полтора раза. Но всё же вернёмся к возможностям программы.

Программа может эмулировать как классический ZX Spectrum 48k, так и ZX Spectrum 128k. Внешний вид главного окна показан на рис. 1.


Рис. 1. Главное окно эмулятора WinZ80


В меню программы достаточно много различных настроек – в первую очередь, модель выбирается в меню, вызываемом командой Settings->Hardware. В диалоговом окне (см. рис. 2) можно выбрать необходимую модель, а также настроить другие опции, например, включить синтезатор звука или интерфейс диска. Также присутствует опция Reset upon change – сбросить компьютер после изменения настроек (вот и открылась «загадка», почему после смены модели с 48k на 128k виртуальный компьютер перезагружался).


Рис. 2. Настройки эмулируемого компьютера


При нажатии пункта меню Control появится своеобразная панель управления (см. рис. 3), позволяющая осуществлять управление компьютером: сброс, выполнять загрузку и сохранение (уж не знаю, видимо, операции с лентой...), вызывать немаскируемое прерывание, а также остановку выполнения программы. Наиболее полезной автору показалась кнопка сброса. :-)


Рис. 3. Панель управления эмулируемым компьютером


Теперь встаёт вопрос, а в каком формате воспринимает эмулятор игры и софт? Эмулятор требует файлы формата TAP и TZX. В таком формате содержатся образы оцифрованных кассет. Загрузить файл можно командой File->Play tape file. Появится диалоговое окно (см. рис. 4).


Рис. 4. Диалоговое окно «плеера» TAP и TZX-файлов


Изначально необходимо открыть файл – это возможно сделать с помощью кнопки Open – откроется стандартное диалоговое окно, в котором необходимо выбрать файл-образ, после чего диалоговое окно изменится в зависимости от формата файла TAP или TZX – см. рис. 5 и рис. 6.


Рис. 5. В «плеере» открыт TAP-файл


Рис. 6. В «плеере» открыт TZX-файл


В плеере можно задать скорость воспроизведения образа, например, автор, чтобы не дожидаться загрузки игры, выставил опцию максимально возможной скорости. (На 486-м компьютере опция оказалась ещё более полезной – даже с включенной максимальной скоростью загрузки пришлось достаточно долго ждать, когда запустится игра, а до этого ещё и словить Tape load error. Байка «Запустил загрузку игры и иди пить чай» подтвердилась.) После этого сценарий несколько разнится. Для TAP-файла достаточно будет после открытия переключиться в основное окно эмулятора и набрать команду LOAD "" (большое спасибо uav1606, который в своей статье, посвящённой эмуляторам «Спектрума», указал эту команду – лично я бы сам не догадался до этого). Так как в «Спектрумах» команды Бейсика присваивались определённым клавишам на клавиатуре, а не набирались, то для ввода команды LOAD достаточно нажать клавишу J на клавиатуре. Кстати, в эмуляторе присутствует справка по командам в виде изображения клавиатуры ZX Spectrum (см. рис. 7). Такую подсказку можно вызвать командой File->Show keyboard layout.


Рис. 7. Справка по клавишам ZX Spectrum – всегда можно посмотреть, какой клавише на клавиатуре соответствует та или иная команда


В случае открытия TZX-файла появится кнопка Play (в случае TAP-файла такая кнопка может как появиться, так и не появиться). Нажатие этой кнопки запустит считывание образа кассеты. Только после того, как «указатель» считываемого раздела образа ленты дойдёт до конца, есть смысл ввода команды запуска игры или программы.

Именно такой (или примерно такой) будет последовательность действий при запуске игр и программ в режиме ZX Spectrum 48k. В случае ZX Spectrum 128k лучше воспользоваться пунктом меню Tape Loader (рис. 8). И только после запускать диалоговое окно открытия файла-образа кассеты. В случае открытия TZX-файла и нажатия на кнопку Play загрузка программы или игры начнётся сразу.


Рис. 8 Для открытия TAP и TZX-файлов в режиме ZX Spectrum 128k лучше воспользоваться пунктом меню Tape Loader


Для теста были выбраны приключения Dizzy – некая Dizzy 1:  http://zx-spectrum.narod.ru/games14/Dizzy.zip, думал, что это первая часть игры, но после запуска закрались определенные сомнения, а после – «Dizzy 2 – остров сокровищ»:

http://zx-games.ru/zxexes/dizzy-2-treasure-island-dizzy/dizzy_2_treasure_.tzx.zip

Первая игра запустилась в режиме ZX Spectrum 48k, вторая же – только в режиме 128k, хотя, в структуре образа был намёк, как я понял, на 48-килобайтную версию компьютера.

Как было написано выше, игра грузилась достаточно долго, а заодно разок выдала Tape load error.


Рис. 9. Dizzy 2 –  treasure island


Увы, описания назначения кнопок не нашёл, но методом тыка удалось походить взад-вперед, попрыгать – в высоту, в длину, а вот как использовать предметы, не нашёл, хотя, честно признаться – не очень старался. При наличии живого спека эмулятор не так вдохновляет, хотя имеющийся спек пока что подключен только к телевизору, но есть стимул к продолжению – поиграть в игру на реальном железе. На 486-м компьютере анимация в игре была достаточно медленной, но при этом нажатия клавиш обрабатывались нормально – без запаздываний.


Рис. 10. Lines – «порт» игры с IBM PC


Самое интересное, что нашлась перенесенная на ZX Spectrum игра Lines:

http://zx-games.ru/zxexes/lines/ColorLines.tap.zip

В эмулятор она загрузилась быстро, да и играть можно было вполне нормально, правда, весьма заковыристая раскладка, но в опциях игры можно было переназначить клавиши.


PC64 – ваш персональный Commodore


Ещё один эмулятор бытового компьютера – на этот раз Commodore C64. Если поддержка прошлым эмулятором Windows 3.x можно было объяснить позицией создателя – четвертая версия, которая поддерживает «тройку», выпущена в 1999-м году, то эмулятор PC64Win поддерживал третью версию Windows в силу своего достаточно почтенного возраста. Версии эмулятора 2.00-2.14 выпускались примерно в 1996-1997-м году, когда поддержка Windows 3.11 хотя бы через Win32s была скорее нормой, чем исключением, даже если создатели программ клялись и божились, что их детище рассчитано специально на Windows 95. Так и данный эмулятор для запуска под Windows 3.x требует наличия Win32s, а также библиотек WinG – как пишут умные люди, предтечи DirectX. Хотя игры, которые просят WinG, оставляют достаточно спорное впечатление – касательно трёхмерности.

Для скачки на ftp-серверах и сайтах доступны различные версии программы:

Версия 2.14:

http://www.zimmers.net/anonftp/pub/cbm/crossplatform/emulators/msdos/pc64/pc64w214.exe

Версия 2.01:

ftp://8bitfiles.net/mirrors/ftp.elysium.pl/tools/pc/emulators/PC64/pc64w201.exe

Версия 2.00:

ftp://8bitfiles.net/mirrors/ftp.elysium.pl/tools/pc/emulators/PC64/pc64w200.zip

В среднем программы требуют минимум процессора 486DX4, а версия 2.14 – Pentium 100 МГц. Кроме того, везде указывается в качестве желаемого PCI-видеокарта. Для экспериментов была выбрана версия 2.01.

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


Рис. 11. Запущенный без игры эмулятор


Единственное, что увидит перед запуском образа пользователь – небольшое меню (см. рис. 12).


Рис. 12. Меню загрузки образа в эмулятор


Достаточно нажать кнопку Load & Run – и начнётся загрузка. В отличие от предыдущего эмулятора, в работе эмулятора Commodore ощущаются рывки и запаздывания в обработке нажатий клавиш, хотя если учесть, что процессор помедленней будет (даже если учесть оптимизации, проведённые инженерами UMC), то вполне понятно.

А вот тут начинаются основные «прелести» эмулятора. Авторы честно предупреждают, что эмулятор может запустить 58% игр, а более старые версии – вообще 20.

Для опытов были скачаны тетрис (http://www.myabandonware.com/game/tetris-5eb) и арканоид (http://www.oldgames.sk/download.php?filedownload=5977) – увы, обе игры не пошли дальше заставки.


Возможно, что «соревнование» было неравным – Dizzy игра культовая – и у нас, и у них – если бы эмулятор не мог её запустить, автор был бы и осмеян, и удручён сам. А вот какой аналогичный хит был для Commodore C64, автору неизвестно. Экран загрузки и заставку тетриса можно увидеть на рис. 13 и рис. 14 соответственно.


Рис. 13. Загрузка – те же цветные полосы по краям, что и в ZX Spectrum, разве что цветов больше, чем два за раз, да и синий фон экрана


Рис. 14. Заставка тетриса – увы, дальше дело не пошло


Кстати, что понравилось в данном эмуляторе, так то, что соответствие всех клавиш перечислено в файле keys.ini – на справку, конечно же, не тянет, но подглядеть, что надо нажать, когда игра просит Press Run or Stop, можно.


А что остальные?


Казалось бы, тематика эмуляторов PC-несовместимых платформ – благодатное поле для творчества. Хорошо, в России и на постсоветском пространстве Windows 3.x приживалась с трудом, да и популярность её пришлась на годы, когда на домашних компьютерах главенствовал DOS, а ставить «ненужную и требовательную к ресурсам оболочку» имело не очень много смысла.

Когда же домашние компьютеры «подросли», вовсю уже правили бал Windows 95 и Windows 98, для которых было создано множество эмуляторов. Но Запад? Увы, как видим, и там не ахти как – попытки найти эмулятор Dendy мало к чему привели – нашлась NESA, но она распространялась только в виде исходников, не лучше ситуация с Atari. Зато попалась интересная страница http://emulators.com/benchmrk.htm, где показана производительность эмуляции Atari ST (насколько понял) различными конфигурациями PC-совместимых компьютеров. Удивило сочетание Windows 3.1+Win32s и Pentium Pro 200 МГц – что только не придумают.

Вообще же тема эмуляторов на Windows 3.1 действительно несколько искусственная – в конце концов, большинство желающих вспомнить восьми- и шестнадцатиразрядные компьютеры запустят эмулятор на современном компьютере, и им гораздо интересней, пойдёт ли их любимая игра или нет. А зачем автор взялся за неё? Да просто ради интереса, как и добрая половина экспериментов любого даунгрейдера – just for fun. :-)


Андрей Шаронов (Andrei88)


### Эмуляция Apple на 286-м


Существует очень много эмуляторов различных компьютеров Apple. В том числе есть они и для первых моделей – Apple I и II.

Обзор всех (или хотя бы части) таких эмуляторов мог бы стать темой отдельной большой статьи.

Но в данный момент меня заинтересовал очень старый эмулятор, предназначенный для DOS, а запустить его можно даже на 286-м процессоре.

Это сейчас виртуальными машинами никого не удивишь, а в 80-х далеко не каждый знал об их существовании, да и 286-е компьютеры и Apple II некоторое время сосуществовали – тем более интересно оценить скорость и качество эмуляции.

Речь пойдёт о APL2EM от Randy Spurlock, в документации он называется просто Apple Emulator. Скачать его можно здесь:

http://old-dos.ru/dl.php?id=9752

Вообще, документация, прилагающаяся к эмулятору, очень скудная – два файла примерно по паре страничек каждый. Даже номер версии и год выпуска не указан. Зато есть исходники на ассемблере (кстати, это ещё одна причина, почему меня заинтересовал APL2EM).

Всё, что известно – эмулируется Apple ][, но даже точная модификация неизвестна. Поддерживается контроллер дисковода, Serial Card и Language Card, эмуляция джойстика (на клавишах NumPad'а – переключение с помощью NumLock), процессор 65C02. Примерный год выпуска эмулятора – 1988-й.

Горячих клавиш немного, самые полезные следующие: F11 – выход из эмулятора, F9 – отладчик, NumLock, как уже было сказано, включает/выключает эмуляцию джойстика на NumPad'е. Также написано, что «+» и «-» на NumPad'е настраивают скорость эмуляции, но я  от них особого эффекта не заметил.

Описание других клавиш смотрите в APPLE.DOC. Кроме того, дополнительные клавиши для управления джойстиком описаны в JOYSTICK.DOC.

С эмулятором идёт образ SYSTEM.DSK, что очень удобно – можно сразу пользоваться, не нужно ничего качать дополнительно.

Для начала я решил испробовать APL2EM под DOSBox – как говорится, эмулятор на эмуляторе и эмулятором погоняет. :-)

Со стандартным образом никаких проблем, всё работает. Попробуем что-нибудь ещё...

Тут нужно заметить, что в линейке компьютеров Apple II использовались две основные ОС – сначала Apple DOS (где-то с 1978 по 1983), а затем ProDOS (с 1983 по 1993).

Но начнём мы всё-таки с Apple DOS.

Скачать её (а также кучу другого софта и игр для Apple II) можно на замечательном сайте http://www.apple2online.com/

Операционные системы лежат здесь:

http://apple2online.com/index.php?p=1_64_Apple-Operating-Systems

Итак, качаем версию Apple DOS 3.3, в архиве файл Apple DOS 3.3 January 1983.dsk, кидаем его в папку с APL2EM, укорачиваем имя (ведь мы в чистом DOS – никаких LFN). Пусть будет AppleDOS.DSK. (Кстати, на будущее, если будете качать образы, проверяйте, чтобы они имели размер 143360 байт, другие эмулятором не поддерживаются.) Прописываем образ в APPLE.INI – строчка A = AppleDOS.DSK (было A = SYSTEM.DSK). Собственно, всё, можно запускать. Всё работает – на скриншотах Apple DOS сразу после загрузки и результат работы команды CATALOG – аналог MS-DOS'овской DIR.


А вот с ProDOS так просто не получилось, образы на упомянутом выше сайте были в формате .SHK, который наш эмулятор не понимает. Такие файлы можно распаковать с помощью CiderPress, но у меня всё равно ничего не вышло – похоже, там не полные образы, а только какой-то огрызок. Гугление привело к другому сайту, где есть обычные DSK:

http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/masters/prodos/

Повторяем все нужные действия – опять всё работает:


Что ж, теперь попробуем игры – их на apple2online.com тоже хватает.

Многие не запустились, к сожалению – наверное, требуют каких-то старших моделей.

Но вот несколько рабочих примеров:


Flipout

http://apple2online.com/web_documents/Flipout%20A2OL.zip


Честно говоря, не совсем понял суть игры, но что-то логическое. :-)


Horizon V

http://apple2online.com/web_documents/horizon_v.zip


Что-то вроде стрелялки-леталки, есть даже какое-то подобие 3D. :-)


Tharolian Tunnels

http://apple2online.com/web_documents/tunnels.zip


Клон Space Invaders.


На скриншотах видно, что графика в играх выглядит несколько странно. Отчасти это связано с особенностями графического режима Apple II (цветные «тени»), отчасти – с работой самого эмулятора (скан-линии).


Теперь перейдём, как говорится, к полевым испытаниям.

Записываю на дискету MS-DOS 6.22 (только системные файлы), Volkov Commander (мне нужно будет редактировать APPLE.INI, а в VC это удобно делать по F4), ну и сам эмулятор с DSK-образами дискет. Всё прекрасно влезло (только исходники на дискету не кидайте!).

Минимальный набор файлов для запуска эмулятора:


APPLE.EXE

APPLE.INI

APPLE.ROM

DISK.ROM

FLOPPY.ROM

SERIAL.ROM


Всего 70 КБ!


Дальше «расчехляю» свой 286-й – материнка TD60C, около 5 МБ RAM, процессор – Harris 25 MHz (работает на 20-ти):


Грузимся с дискеты (этот компьютер у меня временно без жёсткого диска), запускаем эмулятор – всё отлично работает, т.е. все перечисленные выше ОС и игры нормально запустились. Графика в играх, правда, особо лучше не стала. :-)

Скорость приемлемая, но, скажем так, не слишком высокая – играть вполне можно, но ждать загрузки игры приходится довольно долго, как и прорисовки заставок. Может, это связано с работой с дискеты, а с винчестера было бы быстрее...

К сожалению, с реальным Apple II не работал, не могу сравнить.

Как бы то ни было, а это интересный эмулятор с очень низкими системными требованиями. Если не знаете, чем занять Ваш 286-й – попробуйте APL2EM. Буквально за несколько часов можно составить общее впечатление от работы с Apple II и софтом для него.


uav1606


### Кросс-компиляторы для Intel 8080


Несколько лет назад меня заинтересовала тема программирования для компьютера «Апогей БК-01ц», и я стал искать средства кросс-компиляции. Кросс-ассемблер нашёлся достаточно быстро, однако с компиляторами высокоуровневых языков программирования были проблемы. В отличие от Z80, для которого есть масса средств, для I8080 не было ничего пригодного для полноценной работы. Я бросил поиски и стал писать на ассемблере. Однако недавно я снова взялся за это дело. Дело в том, что я вспомнил про существование CP/M – операционной системы того времени для компьютеров на Intel 8080, и для неё было написано много хороших компиляторов. Надо было найти эмулятор этой системы и как-то организовать «переброс» информации, то есть чтоб листинг программы из файлов ПК переносился в файлы эмулируемой CP/M, там производилась компиляция, и потом уже откомпилированный бинарник отправлялся в файлы ПК, где мы делали с ним нужные нам действия, например, запускали в эмуляторе. Я начал искать эмуляторы CP/M и обнаружил отличный эмулятор – 22nice, который работает очень необычным образом.

Большинство эмуляторов работают следующим образом – берётся образ диска с нужными программами и передаётся эмулятору. Создаётся некая песочница – файлы ПК отдельно, а файлы эмулируемой машины отдельно, и из эмулируемой нами машины нет никакой возможности изменить файлы вне образа, и наоборот, у стандартных средств Windows нет возможности посмотреть, что находится внутри образа. Образно говоря, файловые системы хост- и эмулируемой машины сильно разделены, и обмен файлами затруднён. Однако 22nice работает по-другому. Он не берёт образ с CP/M системой, он берёт отдельные исполняемые файлы CP/M и генерирует для них исполняемые «оболочки», с которыми можно работать как с обычными MS-DOS-приложениями, получаются как бы порты CP/M-софта под MS-DOS. Например, у нас есть CP/M программа do.com, которая берёт файл a.txt, что-то с ним делает и сохраняет как b.txt, и мы хотим запустить её при помощи 22nice. Для этого при помощи специальной утилиты генерируется файл, который мы называем do.com, а оригинальный do.com переименовываем в do.cpm и кладём в эту же директорию. Также сюда помещаем файл эмулятора 22nice. Всё, теперь можно работать с do.com так, как будто он был написан для ДОС. Как же это работает? А вот так – при запуске do.com ищется файл do.cpm, он находится и передаётся эмулятору 22nice, который уже исполняет находящийся там код. И если в программе есть обращения к диску, то они превращаются в обращения к диску ДОС, и файлы читаются оттуда. То есть наша программа будет читать файл a.txt из текущего каталога, а когда что-то с ним сделает, то сохранит b.txt также в текущем каталоге. Короче говоря, действия будут абсолютно аналогичны, как если б её запускали где-нибудь с 8-дюймовой дискеты на «Альтаир 8800».  :-)

Такая система нам очень подходит, так как запустить компиляторы в i8080 не составит труда, а для CP/M их было написано множество для разных языков. Я остановился на следующих:


MICROSOFT FORTRAN-80


Фортран – очень старый язык, имеющий свои особенности. У него непривычный современному программисту синтаксис, однако он является самым быстрым, если нужны программы для наукоёмких вычислений (например, расчёт ядерного реактора), то у Фортрана до сих пор нет конкурентов.  Однако эта версия скоростью не блещет. Она показала средние результаты, местами быстрее, а местами даже медленнее нижеописанных компиляторов. И вообще, скорости исполнения программ практически одинаковы для всего набора, так что я не буду далее заострять на этом внимание.

Что ещё меня расстроило, так это устройство компилятора – он компилирует программу в объектный код, а потом соединяет его с рантайм-библиотекой, размер которой – 6,4 КБ! Да, сейчас это кажется немного, но если  объём всей памяти – 60 КБ, то это уже существенный размер. Даже если вы написали  Hello World, размер программы будет также 6,4 КБ. Вот пример программы для поиска простых чисел на этом Фортране:


INTEGER A,B,C,D

5 DO 20 A=2,2000

D=A

B=1

C=1

15 IF (C.EQ.0) GOTO 20

IF (D.LT.B) GOTO 19

B=B+1

D=A/B

C=A-(D*B)

GOTO 15

19 IF (C.NE.1) WRITE(1,100) A

20 CONTINUE

100 FORMAT(5I5)

END


Также одной из негативных сторон данного компилятора был жёсткий синтаксис. То есть если сделать лишний пробел между командами, то будет ошибка. Сделать пустую строку – ошибка. Пробелы вместо табуляции – также ошибка. В общем – не пойдёт. :-)


PL/1-80


Данный язык печально известен своей громоздкостью. Он появился так: в 60-х годах было два основных языка – КОБОЛ, на котором писали финансовые программы и ФОРТРАН, на котором писали научные. Было решено сделать новый язык, который объединял бы возможности этих двух языков, в итоге получился монстровский язык, стандарт которого был очень длинный и запутанный, так что ни один компилятор не поддерживает все его возможности. А их у него много – поддержка рекурсии, структурного, модульного программирования, длинной арифметики, многозадачности, форматированного вывода.

Если говорить о компиляторе для CP/M, то он намного лучше Фортрана – есть свободный синтаксис, больше возможностей, да и вообще – язык удобней. Размер рантайм-библиотеки практически такой же – 6,5 КБ. Однако, что интересно, в комплекте с компилятором шло несколько примеров, среди них – шахматы – 900+ строк. После компиляции размер программы был (вместе с рантаймом) всего 12 КБ, то есть плотность кода высокая – компилятор хороший. Вот программа для поиска простых чисел:


dtest:

proc options(main);

dcl  (a,b,c,d) int;

do a=2 to 2000;

d=a; b=1; c=1;

do while ((d>b)&(c~=0));

b=b+1;

d=a / b;

c=a-(d*b);

end;

if (c~=0) then put skip list(a);

end;

end;

end dtest;


Однако у языка есть и недостатки – во-первых, как уже говорилось выше – перегруженность. В языке много средств, которые не понадобятся при программировании для Intel 8080, однако они там есть и сидят в памяти. Во‑вторых, я не нашёл в языке команд для низкоуровневой работы  – прямой доступ к памяти, ассемблерные вставки. Это очень большой минус, так как мы много чего не сможем сделать, например, в случае с «Апогеем БК-01», нарисовать что-нибудь на экране, воспроизвести звук, ничего, кроме алфавитно-цифрового ввода/вывода. Печаль. :-)


PASCAL/MT


Паскаль, мой любимый язык, сколько строк кода я на нём написал и продолжаю писать. И для CP/M он тоже есть. Вообще, есть даже Turbo Pascal, но он требует процессора Z80, а нам нужен i8080. Поэтому я выбрал PASCAL/MT. Он достаточно быстрый, имеет много функций — как высокоуровневых, так и низкоуровневых.

Всё бы хорошо, кроме одного «но» — рантайм библиотека размером 16 КБ. И это без плавающей арифметики, с ней — 25. Это очень много, практически половина оперативной памяти уходит разом, и для самого кода и данных остаётся мало места. Также получаемый код очень трудно отлаживать, постоянные вызовы подпрограмм сильно сбивают с толку. Вот аналогичная программа:


program demo;

var a,b,c,d:integer;

begin

for a:=2 to 2000 do

begin

d:=a;

b:=1;

c:=1;

while (d>b)and(c<>0) do

begin

b:=b+1;

d:=a div b;

c:=a-(d*b);

end;

if c<>0 then writeln(a);

end;

end.


Всё плохо?


Мы просмотрели все основные решения компиляторов и ничего не нашли, что, действительно всё так плохо? Почти. Я тоже сначала впал в уныние и разуверился в жизни, но потом прочитал, что сама ОС CP/M была написана не на ассемблере, а на языке PL/M. Хм, написано, что язык был разработан специально для микрокомпьютеров, в отличие от других языков, которые разрабатывали для больших рабочих станций. Все силы были брошены на поиск его компилятора для i8080. Постепенно находилось о нём все больше и больше информации, и в итоге на одном непримечательном сайте был найден исходник оригинального компилятора PL/M 1974 (!) года в виде исходника на Фортране, который был сконвертирован в Си и скомпилирован современным компилятором для Windows. Эта была хорошая новость, но недолго. Компилятор был очень старым (1974 год же), стандарты и методы работы сильно отличались от современных. Во-первых, транслятор ничего не выводит на экран, весь обмен идет с файлами fort.1 … fort.12. Исходник читается из одного файла, байт-код переносится в другой файл, логи — в третий, ошибки — в четвёртый и т. д. Также своеобразным был формат выходного hex-файла, пришлось написать свой HexToBin. После всех мучений и изучения документации была написана  знакомая нам программа для поиска простых чисел, вот она:


DECLARE (A,B,C,D) ADDRESS;

DO A=2 TO 2000;

D=A; B=1; C=1;

DO WHILE ((D>B) AND (C<>0));

B=B+1;

D=A / B;

C=A-(D*B);

END;

IF (C<>0) THEN CALL PUTCH(51);

END;

GOTO 63605;

EOF


Если вы внимательно смотрели предыдущие исходники, то наверняка заметили, что PL/M очень похож на PL/1, практически один язык. Да, синтаксисом они похожи, но только им. Внутри это абсолютно разные языки, с разной парадигмой и сферами использования. PL/1 – это мощный, всеобъемлющий язык. А  PL/M – маленький, компактный, быстрый, в нём всего два типа данных — BYTE и ADDRESS. Я откомпилировал эту программу, и – о чудо! – размер бинарника — 254 байта. А если посмотреть в hex-редакторе, то, оказывается, там внутри почти половина нулей, т. е. компилятор подгоняет размер до 256 байт. Это  лучшее значение из всех, было решено взять этот язык на вооружение и развивать его.


PL/M Super Compiler


Однако в данном трансляторе было несколько недостатков:

- Программа должна быть написана большими буквами.

- Не было модульности — вся программа должна быть одним большим исходником.

- Отсутствовали ассемблерные вставки.

- Точка с запятой в конце каждой строки.

Немного подумав, было решено сделать для компилятора обёртку, которая будет лишена этих недостатков. В итоге должен получиться Super PL/M Compiler. :-)

В качестве скриптового языка я выбрал Lua. Этот язык очень маленький (интерпретатор весит 200 КБ), простой, быстрый и имеет богатый функционал. Первый недостаток — обязательный Caps Lock – был решен просто – переводим всё в верхний регистр и готово. Дальше — посложнее. Модульность можно сделать, просто объединив несколько файлов в один, однако  возникает загвоздка — в случае ошибки в коде компилятор выдаст номер строки, но это будет строка в объединённом файле, и в каком из исходных файлов эта ошибка была и где – не узнать. Проблема решилась так — когда файлы объединяются, создаётся таблица, где заданы соответствия: номер строки объединённого файла  – наименование исходного файла и номер строки в нём. После этого в случае ошибки мы можем узнать, в каком из исходных файлов она произошла и где именно.

С ассемблерными вставками было достаточно много мороки. Ведь надо не просто чтоб можно было писать на ассемблере и на PL/M, надо и чтоб переменные, объявленные в одном языке, виделись в другом. Как вообще работает добавление ассемблерных вставок? Вот так — есть специальные команды — asm и endasm, между которыми пишется ассемблерный код. Как их обрабатывает парсер: сначала создаются пустые файлы  out.plm и out.asm. Сначала строки кода переносятся в out.plm, но если встречается команда asm, то вывод переключается на out.asm, и так до тех пор, пока не встретится endasm. Потом всё повторяется сначала. Итого на выходе у нас 2 файла — в одном у нас ассемблерная часть исходника, в другом — PL/M код. Но эти два исходника изолированы — мы не можем сделать JMP из одного в другой и прочитать значение переменных из другого.

Для этого авторы компилятора нам помогли. Когда происходит сборка, то создаётся файлик, в котором описаны все переменные и процедуры и их адреса, вот так:


5  MEMORY 00100H

24 PUTCH 00006H

25 P 000F5H

27 UKR 000F6H

28 OUTS 000F8H

37 PRINTSTR 0001FH

38 A 000FEH


А когда происходит сборка ассемблерной части программы, то тоже генерируется файл, из которого можно узнать все метки, объявленные в нём. Что мы делаем дальше — мы приписываем к PL/M-части исходника заголовочную область, где описываем метки из асма с адресами, а к ассемблерной части — заголовочник, где описываем все PL/M переменные. Таким образом, мы можем обращаться к переменным и процедурам, объявленным в другой среде.

После того, как листинги сформированы, они компилируются каждый своим компилятором и объединяются в один файл, к которому мы приписываем заголовки, в зависимости от компьютера, и запускаем.

Для примера, вот программа, где используются большинство функций данного компилятора:


putstr: procedure (uk)

declare uk address

goto printstra

end

asm

printstra:

mov h,b

mov l,c

jmp 0f818h

endasm

call putstr(.(‘HELLO WORLD’,0))


Здесь используются как средства самого PL/M, так и Super PL/M Compiler. Мы делаем ассемблерную вставку, где вызываем подпрограмму БИОСа компьютера «Апогей-БК-01ц» для печати строки. Конструкция .(‘HELLO WORLD’,0) означает разместить в памяти строку HELLO WORLD (с нулём в конце) и возвратить на неё адрес. Далее этот адрес мы передаём в процедуру putstr, которая передаёт управление ассемблерной вставке. Далее надо знать особенности компилятора. Если у процедуры один параметр типа address, то он помещается в регистровую пару bc, а подпрограмма БИОСа для вывода строки требует параметры в hl. Мы переносим параметры в нужные регистры, и передаём  управление системной процедуре, которая уже печатает строку.


Что дальше?


Данная сборка имеет очень большой потенциал, с помощью неё можно написать хорошие программы, игры, и притом не сложно. Язык PL/M очень простой, в нём мало конструкций, но они очень ёмкие и позволяют делать интересные приёмы. А если добавить к нему современные средства сборки, добавить ассемблер, то получится вообще супер!

На данный момент  система ещё находится в разработке, отлавливаются баги и пишется библиотека — пока для компьютера «Апогей БК-01ц», а далее – и для других компьютеров. Также я планирую написать для журнала цикл статей, посвящённых программированию на этом языке – от самых азов до сложных приёмов, будут написаны небольшие программы.


Пока всё! Удачи и до новых встреч!


Прим. ред.: упомянутые в статье компиляторы и утилиты можно скачать здесь:

http://dgmag.in/N19/8080/i8080comp.zip


Александр Завгородний (Kakos_Nonos)

http://kabardcomp.narod.ru/


### Говорящее яблоко


Заголовок звучит как сказка, не правда ли? Однако сказки происходили в древние времена, а передо мной другой «предок» – компьютер Apple ][.

Этот компьютер был представлен в 1977 году и, с различными модификациями, выпускался до 1990 года. Процессор MOS 6502, память 4 КБ, магнитофонный вход и дисковод, текстовый черно-белый режим 40х24 символов, графика 280х192, 6 цветов – наверное, не такой уж большой и выбор. Но всё равно, не помешало бы и повозиться с этим компьютером.

Прежде всего, понадобится эмулятор AppleWin. Он поддерживает часть железа, есть встроенный (хотя и неудобный) отладчик, не требует необходимых ROM-файлов. Но найти эмулятор для скачивания нелегко, на помощь придёт популярный ресурс:


http://mirrors.apple2.org.za/ftp.apple.asimov.net/emulators/applewin/


Удобнее всего писать программы с помощью Ассемблера, поэтому я перечислю кроссплатформенные средства:


CiderPress (http://a2ciderpress.com/) – великолепная программа, предназначенная для работы с образами дисков – просмотр текста, отображение картинок, дизассемблер бинарных файлов, файловые операции.


Apple Commander (http://applecommander.sourceforge.net/) – своего рода вариант CiderPress плюс поддержка командной строки. Так программа позволит быстро перенести свой бинарный файл на диск.


ACME Cross-Assembler (https://sourceforge.net/projects/acme-crossass/) – кросс-ассемблер 6502, с ним будет работать гораздо удобнее, чем изучать руководство ассемблера Merlin.


С чего начнём? С голоса, конечно же! Наверное, если читатель станет смотреть древние программы, то в играх и в демах наткнётся на биперный звук. Процессор 6502 реализован таким образом, что нет чтения/записи в порт, как было бы привычным с Z80. Поэтому обращение к железу реализовано как обращение к ячейкам памяти.  Звук воспроизводится обращением к ячейке памяти $C030, например:


0300- A0 64  LDY #$FF ;LOAD DURATION

0302- A9 01  LDA #$FF ;LOAD FREQUENCY

0304- 85 FA  STA $FA ;VALUE AT $FA WILL SLIDE DOWN, CREATING THE VIOLIN EFFECT

0306- AE 03 03 LDX $0303 ;INITIALIZE TONE COUNTER WITH FREQUENCY

0309- E4 FA  CPX $FA ;COMPARE WITH SLIDING VALUE

030B- D0 03  BNE $0310 ;SKIP SPEAKER CLICK IF NOT EQUAL

030D- AD 30 C0 LDA $C030 ;CLICK SPEAKER

0310- CA   DE  ;DECREMENT TONE COUNTER

0311- D0 F6  BNE $0309 ;LOOP UNTIL TONE COUNTER IS ZERO

0313- AD 30 C0 LDA $C030 ;CLICK SPEAKER AGAIN

0316- 88   DEY  ;DECREASE DURATION COUNTER

0317- F0 07  BEQ $0320 ;BRANCH TO END IF DURATION COUNTER REACHES ZERO

0319- C6 FA  DEC $FA ;ELSE DECREMENT THE SLIDING VALUE

031B- D0 E9  BNE $0306 ;LOOP UNTIL THE SLIDING VALUE IS ZERO

031D- 4C 02 03 JMP $0302 ;RESET SLIDING VALUE IF IT'S EQUAL TO ZERO

0320- 60   RTS ;DONE


Где должна находиться программа?

Процессор 6502 использует адреса $00-$FF (адресация нулевой страницы), значит, эти адреса задействованы самой системой.

$100-$1FF – это стек.

$200-$2FF используется как буфер при вводе команд.

$300-$3CF отведена для программ (как в приведённом примере).

$400-$BFF – это видеопамять двух страниц текстового режима.

$C00-$1FFF – отведено для программ, далее адреса $2000-$6000 используются графическими режимами.


Поехали! первые строчки в ACME выглядят так:


*=$C00

!to "beep.bin", plain


Или такой вариант второй строки:


!to "HGR#060С00", plain    ; set output file and format

!cpu 6502


Первая строка – адрес программы. Вторая строка определяет имя файла, если читатель решит переносить данные на диск с помощью CiderPress: HGR – имя файла, # – разделитель, 06 – бинарный формат файла, 0C00 – адрес загрузки.

Третья строчка – тип процессора.


Или, если сборка планируется в автоматическом режиме:


acme  beep.asm

java -jar AppleCommander-1.3.5.jar -d master.dsk beep

java -jar AppleCommander-1.3.5.jar -p master.dsk beep B 3072< beep.bin

pause


Первая строка – ассемблирование текста. Вторая – удаление с образа диска master.dsk (этот образ есть в комплекте эмулятора), третья – копирование файла на диск.

Далее открываю диск, набираю CATALOG, вижу файл и запускаю его: BRUN BEEP. Мои уши! Неужели масса времени ушла на то, чтобы услышать этот звук?

Очень крутой программный пакет Electric Duet меня не устраивает.

Но, внезапно, группа French Touch врывается со своей Plasmagoria:

http://www.pouet.net/prod.php?which=66480


Запись Youtube:

https://youtube.com/watch?v=7AsXOuvAawM


Стоп, звук напоминает AY! Google подсказывает о существовании Mockingboard (https://en.wikipedia.org/wiki/Mockingboard).

Тут я начинаю искать документацию, читаю, и мало что понимаю. Пишу программу, и звука нет. Что делать? На помощь приходит FTP asimov.net (ссылка выше), я скачиваю весь раздел MockingBoard и смотрю на комплект mockingboard1.dsk, mockingboard2.dsk.


Сначала нужно настроить эмулятор:


Стартует дискета, появляется заставка со звуком, после неё меню:


Выбираю план В и получаю различные звуковые эффекты. С помощью CiderPress просматриваю Бейсик, нахожу необходимые данные – процедуры и эффекты, и получилось вот что:


*=$0C00

!to "ay.bin", plain    ; set output file and format

!cpu 6502        ; set processor type

DDRB = $C402 ;DATA DIRECTION REGISTER (A)

DDRA = $C403 ;DATA DIRECTION REGISTER (B)

;ADDRESSES FOR SECOND 6522

ORB2 = $C480 ;PORT B

ORA2 = $C481 ;PORT A

DDRB2 = $C482 ;DATA DIRECTION REGISTER (B)

DDRA2 = $C483 ;DATA DIRECTION REGISTER (A)

;81  REM  CALL INIT FOR BOTH 6522

;82  CALL 36864: CALL 36908:REM $9000,$902C

JSR INIT

JSR INIT2

;84  REM  CALL RESET FOR BOTH 6522

;85 CALL 36897: CALL 36941:REM $9021,$904D

JSR RESET

JSR RESET2

;PLAY

;POKE 8,0: POKE 9,129: CALL 32768

;;  JSR RESET

LDY #0

L8005

STY $C401

JSR LATCH

LDA GUNSHOT,Y ;(*)

;    LDA ayk,Y

STA $C401

JSR WRITE

INY

CPY #$0F

BNE L8005

RTS

;--------------------------------------------------------

INIT ;INIT

LDA   #$FF

STA   $C403

LDA   #$07

STA   $C402

RTS

LATCH ;LATCH

LDA   #$07

STA   $C400

LDA   #$04

STA   $C400

RTS

WRITE ;WRITE

LDA   #$06

STA   $C400

LDA   #$04

STA   $C400

RTS

RESET ; RESET

LDA   #$00

STA   $C400

LDA   #$04

STA   $C400

RTS

INIT2 ;INIT2

LDA   #$FF

STA   $C483

LDA   #$07

STA   $C482

RTS

LATCH2 ; LATCH2

LDA   #$07

STA   $C480

LDA   #$04

STA   $C480

RTS

WRITE2 ; WRITE2

LDA   #$06

STA   $C480

LDA   #$04

STA   $C480

RTS

RESET2 ; RESET2

LDA   #$00

STA   $C480

LDA   #$04

STA   $C480

RTS

; 10  REM  PSGTABLE

GUNSHOT !byte 0,0,0,0,0,0,15,7,16,16,16,0,10,0,0,0

TRAIN !byte 0,0,0,0,0,0,16,7,16,16,16,0,1,14,0,0

HELICOPTER !byte 0,0,0,0,0,0,8,7,16,16,16,0,1,12,0,0

EXPLOSION !byte 0,0,0,0,0,0,16,7,16,16,16,0,48,0,0,0

OCEAN !byte 0,0,0,0,0,0,16,7,16,16,16,0,48,14,0,0

SWISH !byte 0,0,0,0,0,0,16,7,16,16,16,0,8,14,0,0

PUMP !byte 195,8,0,0,0,0,0,62,16,0,0,0,1,8,0,0

CLOCK !byte 18,2,40,1,0,0,0,60,16,16,0,0,64,8,0,0

POWER_GENERATOR !byte 195, 1, 239, 0, 0, 0, 0, 60, 16, 16, 0, 0, 1, 10, 0, 0

PROCLOOP_DATA !byte 0, 0, 0, 0, 0, 0, 0, 62, 15, 0, 0, 0, 0, 0, 0, 0

; 210  REM  MUSIC,WORM,MT,MN1,MN2

; 220  DATA  0,0,0,0,0,0,0,62,16,0,0,0,16,0,0,0

envelope !byte $0C, 0, $DE, 5, $E4, 5, 0, $30, 0, $1D, $1D, $30, $96, $0E, $FF, $FF


Обратите внимание на строку с меткой (*), в ней указан адрес для произвольного эффекта. Смените GUNSHOT на envelope – и услышите звук огибающей.


Для полноты картины не хватает двухголосого звука, найти процедуру можно самому (на диске файлы PSGTABLE и MENU). Дальнейшая попытка воспроизвести мелодию закончилась провалом: PSG Player отказался играть подготовленный файл. Думаю, что когда-нибудь я услышу музыку, которую играет Apple.

Но на этом сказка про говорящее яблоко не заканчивается – если читатели посмотрели на ссылку в Wiki,  то увидели заметку о синтезе речи. Разобраться с голосом было нелегко, но отчасти мне удалось воспроизвести нужную фразу. О ней речь будет позже, на Hype или в следующем номере.


Прим. ред.: описанные в статье исходники можно скачать здесь:

http://dgmag.in/N19/Apple/src.rar

В заголовке использовано фото из журнала  Scientific American, сентябрь 1977 года.


g0blinish


### Ищу тебя


Когда трава была зеленее, картриджи желтее, то нами двигала только одна цель – играть,  играть в «Денди» и не думать, что это за игра, кто её создал и как она называется.  Брали в руки картридж, смотрели на наклейку, включали игру и видели иероглифы. Про наклейки вообще отдельный разговор, китайцы лепили туда что угодно, но не оригинальное изображение с картриджей официальной NES или Famicom. Приходилось придумывать название играм. С тех пор прошло много лет, и вот вы захотели поиграть в ту или иную игру. Набираете в поисковике название игры, которое ходило среди ваших товарищей, и видите огромную фигу. Очень много людей обращается за помощью в поиске той или иной игры, и поэтому я решил составить список игр которые, по моему мнению, ищут очень часто.


Kaiketsu Yanchamaru 3 – Taiketsu! Zouringen


Мы называли её «Марио с палкой». И действительно, картридж, который находился у нас, был хаком оригинальной игры, а на заставке красовалось название Super Mario 14. Голова оригинального персонажа была перерисована на голову Марио.


Metal Mech – Man & Machine (Metal Flame Psybuster)


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


SD Hero Soukessen - Taose! Aku no Gundan


Игра, которую мы называли Banpresto. Как оказалось, это логотип компании, а название игры было на иероглифах.  Из отличительных особенностей обычно вспоминают начальную сцену с похищением, выбор планет и персонаж с огромной рукой/перчаткой. Хорошая графика, музыка, много игровых персонажей и местами повышенная сложность боссов. Одна из моих любимых игр.


Doraemon


И снова иероглифы. Игра про кота-робота Дораэмона. Игровой процесс был для нас запутан, но разнообразные уровни притягивали к игре. Называли «игра про синего кота».


Spartan X 2


Все помнят поезд и удары рукой и ногой, от которых все далеко улетают. Очень легкая игра, которая проходилась с первого раза.


Saint Seiya – Ougon Densetsu Kanketsu Hen


Много, очень много иероглифов, непонятные сцены в конце уровня и желание пройти игру. К счастью, сейчас можно поиграть в переведённую версию от Magic Team. Особенно всплывают в памяти пошаговые «схватки с боссами».


Guardian Legend (Guardic Gaiden)


Игра, которой у меня не было, но ищут её так часто, что сочетание слов «летаешь» и «лабиринт» сразу указывают на эту игру.


Street Fighter 2010 – The Final Fight


Акробатические прыжки и порталы – особенности, по которым описывают эту игру. Ещё вспоминают босса скорпиона первого уровня. Сложная игра, которая распространялась у нас в двух версиях: с малым и большим количеством жизней.


Заключение


Данный список не говорит о том, что эти игры разыскивают чаще всех, данный список показывает игры, запросы с поиском которых попадались мне чаще всех. После рассмотрения можно сделать несколько выводов:


1. Незнание языка приводило к затруднению поиска.

2. Хаки с измененными названиями озадачивали.  Chip & Dale 3, Darkwing Duck 2, Mario 16 и т.д.

3. Память, которая с определённым временем размывается и преломляется. Персонаж был в синем или в красном? А может это вообще факты из разных игр?


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


1. http://www.emu-land.net/

На форуме присутствует отдельный раздел по поиску игр. Думаю, данный сайт известен каждому любителю старых консолей.


2. http://www.old-games.ru/

Крупнейший сайт со старыми играми, на котором мне помогли найти заветную Tzar: The Burden of the Crown. Присутствует раздел «Опознание игр».


3. https://vk.com/dendyforever

Группа «DENDY FOREVER!». Если вы зарегистрированы ВКонтакте, то это идеальный вариант по поиску игр с «Денди».


Ну и список можно продолжать до бесконечности. Главное вспомнить пару фактов, ну или не полениться и пересмотреть все скриншоты, а вдруг там будет игра, которую вы не искали, но играли раньше?


Павел Ярославцев (paha_13)


### Просто разный юмор


### Над журналом работали


Дизайн/вёрстка/главный редактор – uav1606

Редактор – Вячеслав Рытиков (eu6pc)


Авторы:

Михаил Бабичев (Антиквар)

Александр Завгородний (Kakos_Nonos)

DmitriyKo

Дмитрий Колмагоров (Temga)

Павел Ярославцев (paha_13)

Вячеслав Рытиков (eu6pc)

Андрей Шаронов (Andrei88)

truedowngrade (Сергей Александрович)

uav1606

Мамонт


Сайт журнала:

http://dgmag.in


Раздел журнала на «Железных Призраках Прошлого»:

http://www.phantom.sannata.ru/articles/dgmag/


Группа ВКонтакте:

http://vk.com/dgmag


E–mail главного редактора:

uav16060 [cobaka] mail.ru