Atari 800XL: Смотрим, разбираем, включаем

Наверняка многие читатели Хабра выросли на компьютерах ZX Spectrum и ВК-0010/0011, ну или как минимум сталкивались с ними в далёких 90-х годах. Для многих эти ПК стали отправной точкой в мир ИТ. Но, как и многое другое, в нашу страну восьмибитные домашние ЭВМ пришли гораздо позже остального цивилизованного мира, да и не в полном объёме. Там же эта эра началась почти на 10 лет раньше, в конце 70-х годов, когда вышли Atari 400/800, Commodore PET и, конечно, Apple II. Массовое же распространение домашние компьютеры начали получать в начале 80-х. В 1982 году увидели свет знаменитый ZX Spectrum 48 и менее знаменитый Commodore 64, в 1983 году вышел Atari 800XL, а в 1984 году на прилавках магазинов появился первый Macintosh. Как и большинство домашних компьютеров на тот момент, Atari 800XL был основан на процессоре 6502C с частотой 1.79 МГц, имел 64Кб памяти, умел запускать игры с кассет, трещать 5,25» дискетами, выгуливать на экране 61440 разноцветных пикселей и много чего ещё. Об этой замечательной железке я и собираюсь сегодня поговорить, впрочем, не только поговорить! c9101eaaa50879d2f63c9fc2faca8f19.png

0.ТеорияКак я уже писал, сердцем Atari 800XL является процессор 6502C, работающий на частоте 1.79 МГц в NTSC-версии и 1.77 МГц в PAL-версии компьютера соответственно. Но внутри он был далеко не единственным чипом. На помощь 6502 приходил чип POKEY, работающий с устройствами ввода-вывода и отвечающий за звуковую подсистему, и чипы, отвечающие за видео подсистему, под названиями ANTIC и GTIA. Чип ANTIC в связке с GTIA позволял значительно экономить оперативную память для вывода изображения на экран. Всего на плате было распаяно 64КБ ОЗУ. Из этих 64 Кб пользователю доступно только 37 902 байта. Остальной объем занимал интерпретатор BASIC. По умолчанию, во время загрузки системы, содержимое ROM чипа с образом BASIC переписывается в оперативную память. Загрузку интерпретатора можно было предотвратить, нажав во время включения кнопку Optio. По понятным причинам, данную операцию требовало совершать большинство игр и приложений. Не буду вас утомлять большими объёмами текста, т.ч. подробнее будем рассматривать всё при поступлении визуальной информации.1.Смотрим Как видим, компьютер представляет из себя небольшой моноблок, на верхней грани которого расположена QWERTY клавиатура, окошко слота для картриджей. Правее от основной клавиатуры расположились клавиши Reset, Option, Select, Start, Help и рядом индикатор питания. Клавиша Reset используется для так называемого Warm Reset, ну, а если «всё плохо», и вам нужен полный сброс, то потребуется потянуться к выключателю питания на задней грани.3a7a71da477e03a08443317945914bd9.png

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

0d9a4fde9bb05b356bb98230584d47cd.png

Задняя панель. На ней расположены основные порты устройства. Слева расположился порт SIO (Serial Input/Output). На мой взгляд, это одна из самых замечательных вещей в 8-битных компьютерах Atari: данный стандарт позволял последовательно подключить к компьютеру более 10 устройств без особых проблем. Atari SIO был разработан инженером Джо Декаир (Joe Decuir) (интересный факт: Джо так же участвовал в разработке и имеет некоторые патенты на стандарт USB). Далее, под заглушкой, находится параллельный порт. Он использовался для установки расширений. Таких, как шасси Atari 1090XL Expansion System, расширения памяти и некоторые другие модули. Ближе на него мы посмотрим во время разборки устройства. Далее идёт A/V порт, тут ничего необычного. Чуть дальше — RF разьём. Рядом с ним можно видеть заклеенное отверстие переключателя ТВ-каналов, он присутствует только в NTSC версии. Далее — разъём подключения питания и тумблер включения.

6607321d51e96c86f8363717d40e0374.png

На правой грани расположились порты джойстиков. Родного джойстика мне найти не удалось, но как многие знают, джойстики от Sega Master System и Sega Megadrive используют стандарт Atari. Т.ч. двухкнопочный джойстик от Sega Master System оказался очень кстати.

67bc0e6c2fb6911697512825c54e4ccb.png

b86e45f3d90ae898ba060b9e98377647.png

Компьютер питается от увесистого блока питания с напряжением 5V на 1.5А.

b8b2b5772ad59ba88381339a8d19e31a.png

А теперь небольшое сравнение с ZX Spectrum местного разлива. Как видим, размеры устройств практически идентичны.

04518e2c27924438d19bd5485b04e926.png

2.Разбираем Откручиваем 6 винтов и первое что мы видим это массивный экран, закрывающий почти всю плату. Метал прикручен прямиком к плате винтами. Справа расположен порт шлейфа клавиатуры.f0028e11aad77b89ec23a2815b3b78b8.png

Что удивительно, створка картриджа также является экраном. В наши дни такого не увидишь.

115b6410ab14e048c888771d45b12823.png

Перевернув плату, видим не менее массивный экран. Откручиваем и его.

d0e0048cea7e1a808cdb2db8eb612b89.png

53cbab701d438fe675b11c288095ac22.png

Открутив верхний экран видим всё самое интересное. Все чипы как на ладони.

a1b7e76b1f6f940cc52ffec96f7a5a74.png

Для удобства и удовлетворения любопытства читателей все чипы были мной подписаны, но для ещё более любопытных есть и оригинал фото в высоком разрешении. Архитектура 8-битных компьютеров Atari сильно отличается от ZX Spectrum, в котором все функции возлагаются на Z80. По этой причине копирование компьютеров Atari было крайне затруднительным, что и привело к отсутствию популярности в нашей стране, как и многих других зарубежных компьютеров.

Взглянем на чипы поближе.

d15b5b7101bede278713816b5ca32471.png

c371b7a4e120109544e5cc665c657b79.png

2e7261954d502a5751a53e29cb580be4.png

3.Запускаем Первым делом, найдя распиновку видео порта я воткнул оголённые проводки в порт сбегал в ближайший магазин радиодеталей, купил DIN коннектор, спаял штекер для A\V провода с привычными тюльпанами на другом конце, подключил всё это дело к тюнеру и насладился синим экраном с надписью READY на ней. Мигающий курсор явно манил набрать на клавиатуре пару строк кода на BASIC, что я и сделал. Сразу немного удивил процесс редактирования кода, а именно: выводим листинг программы, перемещаем курсор в нужное место и редактируем. Для наглядности, представьте, как вы после ввода команды ls или dir перемещаете курсор в список файлов и прямо там их переименовываете. Новая строка в коде добавляется, как ни странно, клавишей insert.BASIC eb41976d389447aee3da8ccb3f3f22b8.png Наигравшись с BASIC, я загрузил 800XL в режим теста, который, как я и говорил, так же зашит в его ROM память. Данное ПО не представляет ничего особо интересного, можно проверить работу клавиатуры, аудио подсистемы, проверить целостность ROM и RAM памяти. Последняя процедура занимает достаточно продолжительное время — более 10 минут. Все тесты наш ветеран благополучно прошел.SELF TEST 377527f77d25424ac94ac420fc443611.png Следующей же моей целью стал так называемый SIO2PC переходник, позволяющий подключить SIO к COM порту компьютера и эмулировать до 15 устройств. Это даёт возможность подключить к нашему Atari пару виртуальных дисководов и загружать в них любые возможные образы, производить чтение/запись. Можно даже печатать текст на принтере и эмулировать кассетный привод! Интересно? Вот и мне крайне не терпелось запустить на 800XL хоть какую-то дисковую ОС и вживую насладиться шедеврами демосцены.Сам переходник является простым преобразователем логических уровней COM→UART. Я использовал попавшуюся под руку микросхему MAX232, схема достаточно простая, с легкостью спаивается на макетной плате. А вот с проводом у меня возникли проблемы, он имел неверную распайку, и не имел провода для девятого пина (Ring Indicator), который используется для согласования устройств.

Плата SIO и DIN в процессе спайки 7aa6efe8f0b20d87a8154f634532db11.png Для удобства было решено один конец срезать, припаяв нужные провода прямиком к плате, а на другом конце отпаять ненужный и припаять к RI выводу. Сам SIO штекер совершенно нестандартный и купить в радиомагазине нечто подходящее не выйдет, поэтому было решено использовать простые штырьковые соединители.7dc22dffc663972bc19e10b5c70a8f36.png

После несложной настройки ПО для эмуляции устройств, наша железка с радостью запустилась с образа дискеты, скачанной из просторов сети. На экране появилось меню с выбором загрузки сразу нескольких ОС. На мой взгляд, самая удобная, как ни странно, оказалась нечто с названием Happy Computer II+/D. В подробности вдаваться не буду, разнообразных версий всяких DOS’ов для 8-битных ПК Atari просто море. Скажу только, что вместе с дисковым менеджером в ОЗУ загружаются и драйвера устройств. Многие дисковые ОС грузятся с поддержкой только 2-х устройств ввода-вывода (что вполне логично), но в таких менеджерах как Happy Computer и Sparta DOS реализована поддержка аж до 12 дисковых устройств, что оказалось в моём случае крайне удобным. В целом же, все они очень походят на обычный MS DOS, за исключением родного Atari DOS 2–2.5, там команды представлены как меню.

Дисковые ОС 4a94bf205747b82aa006691731b2a9c8.png643bb1d2be1246b82892a06ce9ba0acf.png

Ну и конечно игры! А их для 8-битных компьютеров Atari сделано огромное множество. Самый большой найденный мной архив игр насчитывал более 6700 таковых. В целом, по качеству многие игры не далеко ушли от Atari 2600 с её угловатой графикой, но есть и образцы, заслуживающие внимания. Например, меня очень впечатлила игра Encounter. Псевдо-3D и динамичный геймплей затянули меня в игру почти на час. В игре нам нужно управлять неким танк-космолётом и истреблять инопланетных гостей, хотя можете нафантазировать, что душе угодно.Игры Zerro и Encounter acaa2d254c141f0caac6851eb235bfa1.png И куда же без демосцены? Она на Atari очень обьёмная, сделаны сотни демок с замечательной графикой и музыкой. Из процессора 6502 и чипа POKEY программисты вытянули все соки. Несколько демосцен были записаны мной прямо с железа и находятся в разделе ниже, очень рекомендую взглянуть на них. Так же на pouet.net представлено огромное количество разных демо разной степени крутости. Прямая ссылка на раздел сайта будет ниже.

4.Видео [embedded content]Atari 8-bit power [embedded content]*Данное демо сделано самой компанией Atari. Демонстрировалось в магазинах на витринных образцах.

DOS OS [embedded content]

Encounter [embedded content]

RGBA Demo [embedded content]

5.Ссылки Atari 8-bit family Eng WikiРаздел Atari на zx-pk.ruРаздел Atari XL/XE на pouet.netБольшой архив приложений и игр на rutrackerНастроенный эмулятор Altirra + образы дискет и приложения описанные в статьеКросс-компилятор ASM MADSКросс-компилятор EffectusЭмулятор устройств AspeQt (SIO2PC)Спасибо за внимание! Надеюсь, было интересно.

© Habrahabr.ru