- PVSM.RU - https://www.pvsm.ru -

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

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

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, ну а если «всё плохо», и вам нужен полный сброс, то потребуется потянуться к выключателю питания на задней грани.

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

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

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

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

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

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

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

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

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

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

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

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

2.Разбираем

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.Запускаем

Первым делом, найдя распиновку видео порта я воткнул оголённые проводки в порт сбегал в ближайший магазин радиодеталей, купил DIN коннектор, спаял штекер для AV провода с привычными тюльпанами на другом конце, подключил всё это дело к тюнеру и насладился синим экраном с надписью READY на ней. Мигающий курсор явно манил набрать на клавиатуре пару строк кода на BASIC, что я и сделал. Сразу немного удивил процесс редактирования кода, а именно: выводим листинг программы, перемещаем курсор в нужное место и редактируем. Для наглядности, представьте, как вы после ввода команды ls или dir перемещаете курсор в список файлов и прямо там их переименовываете. Новая строка в коде добавляется, как ни странно, клавишей insert.

BASIC

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

Наигравшись с BASIC, я загрузил 800XL в режим теста, который, как я и говорил, так же зашит в его ROM память. Данное ПО не представляет ничего особо интересного, можно проверить работу клавиатуры, аудио подсистемы, проверить целостность ROM и RAM памяти. Последняя процедура занимает достаточно продолжительное время — более 10 минут. Все тесты наш ветеран благополучно прошел.

SELF TEST

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

Следующей же моей целью стал так называемый SIO2PC переходник, позволяющий подключить SIO к COM порту компьютера и эмулировать до 15 устройств. Это даёт возможность подключить к нашему Atari пару виртуальных дисководов и загружать в них любые возможные образы, производить чтение/запись. Можно даже печатать текст на принтере и эмулировать кассетный привод! Интересно? Вот и мне крайне не терпелось запустить на 800XL хоть какую-то дисковую ОС и вживую насладиться шедеврами демосцены.

Сам переходник является простым преобразователем логических уровней COM->UART. Я использовал попавшуюся под руку микросхему MAX232, схема достаточно простая, с легкостью спаивается на макетной плате. А вот с проводом у меня возникли проблемы, он имел неверную распайку, и не имел провода для девятого пина (Ring Indicator), который используется для согласования устройств.

Плата SIO и DIN в процессе спайки

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

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

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

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

Дисковые ОС

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

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

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

Игры Zerro и Encounter

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

И куда же без демосцены? Она на Atari очень обьёмная, сделаны сотни демок с замечательной графикой и музыкой. Из процессора 6502 и чипа POKEY программисты вытянули все соки. Несколько демосцен были записаны мной прямо с железа и находятся в разделе ниже, очень рекомендую взглянуть на них. Так же на pouet.net представлено огромное количество разных демо разной степени крутости. Прямая ссылка на раздел сайта будет ниже.

4.Видео

Atari 8-bit power


*Данное демо сделано самой компанией Atari. Демонстрировалось в магазинах на витринных образцах.

DOS OS

Encounter

RGBA Demo

5.Ссылки

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

Спасибо за внимание! Надеюсь, было интересно.

Автор: PlazmX

Источник [11]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/staroe-zhelezo/63782

Ссылки в тексте:

[1] Atari 1090XL Expansion System: http://www.atarimuseum.com/computers/8BITS/XL/xlperipherals/1090xl.html

[2] оригинал фото в высоком разрешении: http://habrastorage.org/files/7c8/7fc/6b5/7c87fc6b551e47ee8951760f443a554c.png

[3] Atari 8-bit family Eng Wiki : http://en.wikipedia.org/wiki/Atari_8-bit_family

[4] Раздел Atari на zx-pk.ru: http://zx-pk.ru/forumdisplay.php?f=51

[5] Раздел Atari XL/XE на pouet.net: http://www.pouet.net/prodlist.php?order=thumbup&platform%5B%5D=Atari+XL%2FXE&page=1

[6] Большой архив приложений и игр на rutracker: http://rutracker.org/forum/viewtopic.php?t=1500557

[7] Настроенный эмулятор Altirra + образы дискет и приложения описанные в статье: https://dl.dropboxusercontent.com/u/40451253/ATARI.zip

[8] Кросс-компилятор ASM MADS : http://mads.atari8.info/

[9] Кросс-компилятор Effectus: http://gury.atari8.info/effectus/download.php

[10] Эмулятор устройств AspeQt (SIO2PC): http://sourceforge.net/projects/aspeqt/

[11] Источник: http://habrahabr.ru/post/228221/