Галаксия (компьютер)
Galaksija | |
---|---|
Конфигурация | |
Тип | домашний/самодельный компьютер |
Разработчик | Войя Антонич |
Государство | Югославия |
Год выпуска | 1984 |
Выпускался по | 1985 |
Продано штук | более 8000 |
Оперативная память | 2-54 КБ |
Постоянная память | 6-10 КБ |
Запоминающее устройство | кассетный магнитофон |
Центральный процессор | |
Модель CPU | Zilog Z80A |
Тактовая частота CPU | 3,072 МГц |
Последователь | Galaksija Plus[вд] |
Galaksija (серб. Галаксија, рус. Галаксия) — самодельный 8-разрядный домашний компьютер, разработанный журналистом и изобретателем Во́йей А́нтоничем (Воја Антонић[серб.], Сербия). Компьютер был описан Деяном Ристановичем[серб.] в специальном выпуске «Компьютеры в вашем доме» («серб. Računari u vašoj kući»)[1] популярного научного журнала «Galaksija[серб.]», опубликованном в декабре 1983 года в Белграде. Компьютер распространялся в форме комплекта «сделай сам», но его можно было собрать и полностью самостоятельно. Позже компьютер предлагался и в полностью собранном виде.
История
В начале 1980-х югославские законы препятствовали импорту компьютеров в страну[2]. Кроме того, даже самые дешёвые западные компьютеры того времени стоили несколько месячных зарплат югославского рабочего. По этим причинам, хотя многие и хотели бы иметь домашний компьютер, немногие могли это себе позволить; но когда могли — это был обычно ZX Spectrum либо Commodore 64. Но при этом в стране существовала развитая электронная промышленность, получение электронных компонентов с Запада тоже не было большой проблемой[2].
По словам самого Войя Антонича[3], отдыхая в гостинице города Рисан, он изучал документацию на процессор CDP1802 и думал о возможности формирования изображения средствами центрального процессора. Хотя CDP1802 и был для этого слишком примитивным, возможности Zilog Z80 казались для этого вполне достаточными. До возвращения в Белград у Войя уже была концептуальная диаграмма компьютера, процессор которого управляет генерацией изображения[3]. Конечно, такой подход сильно снижал производительность машины, зато значительно упрощал схему и уменьшал стоимость.
Следующим шагом было найти журнал, готовый опубликовать полученную схему. Очевидным выбором был журнал «SAM», публикуемый в Загребе, но учитывая предыдущий негативный опыт сотрудничества, пришлось искать другие варианты. Научно-популярный журнал «Galaksija» казался неподходящим, но оказалось, что его редакция работает над специальным выпуском, посвящённым компьютерам[3]. Войя Антонич предложил автору выпуска, Де́яну Риста́новичу (Dejan Ristanović[англ.]), опубликовать полные инструкции в духе «сделай сам». Специальный 100-страничный выпуск приложения «Компьютеры в вашем доме» вышел в декабре 1983 года (хотя и был датирован январём 1984-го)[1]. По словам самого Деяна Ристановича, тираж в 30 000 экземпляров журнала был раскуплен за несколько недель, и его пришлось дважды допечатывать[4][5].
В декабре 1983 года на встрече в редакции журнала высказывались предположения о том, сколько компьютеров будет собрано по этим инструкциям. Говорилось о цифрах от нескольких сотен до тысячи (последнее предположение вызвало смех)[3]. Позже оказалось, что реальное количество заказанных комплектов компьютера превысило 8000[4]; число собранных компьютеров могло быть большим за счёт тех, кто не заказывал ни печатные платы, ни прошитые ПЗУ.
Цена набора для сборки в минимальной комплектации (только ПЗУ A, 4 КБ ОЗУ) в 1984 году составляла 45 500 динар[6].
Компоненты набора для сборки производились и поставлялись из различных источников: MIPRO и Elektronika, совместно с Институтом электроники и вакуумной технологии — поставляли печатные платы и клавиатуры; Mikrotehnika (Грац) — интегральные схемы; Войя Антонич лично прошивал все ПЗУ; сотрудники редакции журнала «Галаксия» готовили печатные материалы и организовывали рассылку заказчикам. Позже институт, ответственный за подготовку школьных учебников и пособий, совместно с Elektronika Inženjering начали массовое производство компьютеров «Galaksija» для поставки в школы[7].
Хотя «Galaksija» по своим возможностям и не сравним с коммерческими компьютерами того же времени, но он оказал важное локальное влияние[8]. Многие энтузиасты изучали работу компьютеров на этом примере — он оказался хорошим инструментом для изучения и экспериментирования.
Дальнейшее развития линейки продолжилось с появлением 5 функциональных прототипов, однако в связи с их уже моральным и техническим устареванием работы над ними прекратились в 1995 году. Все они были выброшены, однако вскоре в погребе дома Антонича был найден один уцелевший прототип, который был передан в музей науки и техники Белграда[9].
Технические характеристики
Характеристики «Galaksija»[6][10]:
- Центральный процессор: Zilog Z80A на тактовой частоте 3,072 МГц
- Память: из адресуемого пространства в 64 КБ, первые 8 КБ отдаются под ПЗУ, остальные под ОЗУ
- Видеорежим: только текстовый, 32 × 16 символов, монохромный
- Псевдографика: 2×3 точки на символ, 64×48 точек всего
- Клавиатура: 54 клавиши
- Звук: отсутствует в первоначальной спецификации, но может быть получен через магнитофонный выход
- Устройство хранения данных: бытовой кассетный магнитофон, скорость записи 280 бит/с
- Интерфейсы:
Особенности
Galaksija BASIC
Galaksija BASIC — это интерпретатор языка BASIC, код которого частично основан на Microsoft Level 1 BASIC. После ряда изменений и улучшений, от оригинала остался только код реализации команд управления и код операций с числами с плавающей запятой[3].
Интерпретатор использовал 3 специальных символа и 33 зарезервированных слова[12]. ПЗУ B дополнял язык ещё одним спецсимволом и 22 командами (включая тригонометрические функции).
Интерпретатор BASIC выдавал лишь несколько сообщений об ошибках: WHAT?
(синтаксическая ошибка), HOW?
(неправильный параметр) и SORRY
(не хватило памяти)[12] — это было сделано для экономии памяти ПЗУ. Некоторые стандартные команды BASIC были заменены (BYTE
вместо PEEK
/POKE
, OLD
вместо LOAD
и др.) — с тем чтобы больше ключевых слов начиналось на разные буквы; интерпретатор позволял сокращать команды, записывая первую букву и точку (например, P.
вместо PRINT
).
Знакогенератор
Набор символов компьютера — несколько модифицированный (локализованный) вариант ASCII:
- Буквы в нижнем регистре отсутствуют
- Коды 91-94 соответствуют символам сербского языка: Č, Ć, Ž и Š. Буква «Đ» отсутствовала и обычно заменялась на «DJ»
- 64 кода использовались для символов псевдографики в виде матрицы 2×3 точки
- Коды символов 64 и 39 использовались в качестве двух половинок логотипа компании Elektronika Inženjering, который изображался перед приглашением «READY»
В ПЗУ знакогенератора каждый символ представлял собой матрицу 8×13 точек.
Видео
Компьютер не имел отдельного набора микросхем для формирования видеосигнала, вместо этого большую часть работы по формированию видеосигнала брал на себя центральный процессор, используя отдельный регистр сдвига. В начале 57-й строки полукадра срабатывало прерывание, в ходе обработки которого процессор формировал 208 строк изображения[2]. 512 байт ОЗУ использовалась для хранения символов, составляющих текущий экран. Процессор брал из знакогенератора байт очередной 8-пиксельной строки символа, и передавал его регистру сдвига, который, в свою очередь, побитно отдавал этот байт на видеовыход[2].
Примерно 2/3 процессорного времени использовалось для формирования изображения[6], что конечно сильно сказывалось на быстродействии машины. При записи и чтении данных с кассеты видеовыход отключался. В BASIC также была возможность отключать изображение для работы в «быстром» режиме.
Поскольку видеосигнал формировался программно, была возможность взять на себя формирование изображения, и некоторые программы пользовались этой возможностью[2], например, для вывода символов из собственного знакогенератора. Имея достаточно памяти даже без аппаратных переделок можно было выводить графику более высокого разрешения[13] — до 256×208 пикселей — это требовало 6144 байт под видеопамять.
Порт магнитофона
Кассетный вход был довольно простым и использовал лишь несколько элементов для контроля уровня входного сигнала. Получаемый в результате 1-битный сигнал подавался на ту же микросхему, что отвечала за клавиатуру, поэтому на программном уровне магнитофонный вход выглядел как последовательность быстрых нажатий/отпусканий клавиши.
Первоначально не предполагалось что компьютер будет выдавать звук, поэтому большинство программ не рассчитывали на это. Однако, выходной порт магнитофона можно было использовать в качестве 1-битного выхода на динамик[2].
Galaksija Plus
Galaksija Plus — улучшенная версия компьютера «Galaksija», разработанная Nenad Dunjić и Milan Tadić в 1985 году[6][14]. Целью было расширить возможности оригинальной машины, сохранив низкую стоимость и простоту сборки.
Отличия Galaksija Plus от Galaksija:
- Вместо статического ОЗУ применено динамическое, объём ОЗУ расширен до 48 КБ
- Скорость чтения/записи на кассету увеличена до 1200 бит/с
- Помимо стандартного текстового режима, добавлен монохромный графический 256 × 208 пикселов
- Звук: 3-канальный, с использованием микросхемы генератора звука AY-3-8912
- Добавлено ПЗУ C — содержит код специфичный для Galaksija Plus, в частности, код для работы графического режима
- Добавлено два параллельных порта ввода-вывода
Компьютер производился в Institute for School Books and Teaching Aids и продавался по цене в 140 000 динар[6].
Программное обеспечение
Код прошивок ПЗУ, а также другие программы для компьютера были опубликованы в серии выпусков «Компьютеры в вашем доме» журнала Galaksija, в виде шестнадцатеричных дампов. Помимо этого, программы и статьи о компьютере публиковались в журналах «Svet Kompjutera» и «Moj Mikro»[15].
Пользователи также создавали программы и обменивались ими, всего библиотека программ насчитывает более 100 наименований, большая часть которых — игры[16][17].
В середине 1980-х программы для компьютера в течение трёх лет транслировались по «Радио Белград» в популярной программе Зорана Модли «Ventilator 202[англ.]»[8][5]. Впоследствии это назвали передачей файлов до появления всемирной паутины и «пиратским протоколом доинтернетной эпохи»[18].
Эмуляция
Существует ряд программных эмуляторов компьютера Galaksija:
- Galaxy Win — эмулятор компьютера под Windows[19]
- Galaxy — эмулятор под DOS[20]
- Мультисистемный эмулятор MAME содержит драйвера
galaxy
иgalaxyp
- Galaksija Emulator для компьютера ZX Spectrum 128K[21]
Также существуют и аппаратные реплики компьютера на более современной элементной базе:
Примечания
- ↑ 1 2 Magazine Scans — Računari — 1984 Januar #1 Архивная копия от 10 ноября 2020 на Wayback Machine — первый выпуск приложения «Компьютеры в вашем доме» к журналу Galaksija
- ↑ 1 2 3 4 5 6 The Ultimate Galaksija Talk Архивная копия от 31 декабря 2016 на Wayback Machine (англ.) — лекция Tomaž Šolc 30 декабря 2012 на Chaos Communication Congress с подробной презентацией о Galaksija, запись лекции на YouTube
- ↑ 1 2 3 4 5 1983: Galaksija (копия из веб-архива) — воспоминания Voja Antonić, на сербском
- ↑ 1 2 Dejan Ristanović. Computers in your home (англ.). Дата обращения: 13 августа 2011. Архивировано 29 апреля 2019 года.
- ↑ 1 2 Lewis Packwood. The story of Yugoslavia's DIY computer revolution (англ.). EuroGamer.net (30 июля 2013). Дата обращения: 9 октября 2014. Архивировано 27 декабря 2019 года.
- ↑ 1 2 3 4 5 Galaksija (англ.). Old-Computers.com. Дата обращения: 10 ноября 2009. Архивировано из оригинала 30 сентября 2008 года.
- ↑ «Galaksija» u školi Архивная копия от 29 апреля 2019 на Wayback Machine — «Галаксия» в школе, на сербском
- ↑ 1 2 Bruce Sterling. Dead Media Beat: the Yugoslav Galaksija PC . Wired (19 декабря 2011). Дата обращения: 29 сентября 2017. Архивировано 27 декабря 2019 года. — журналист Wired цитирует статью: Lily Lynch. Galaksija, cult Yugoslav DIY computer from the 1980s lives on (4 декабря 2011). Дата обращения: 9 октября 2014. Архивировано 27 декабря 2019 года.
- ↑ Югославский DIY-компьютер: история одной революции . senica.ru (5 августа 2013). Дата обращения: 25 января 2016. Архивировано 27 декабря 2019 года.
- ↑ Voja Antonic. Napravi i ti racunar "Galaksija" 51. Дата обращения: 17 августа 2011. Архивировано 5 августа 2011 года. — страница журнала с техническими характеристиками компьютера
- ↑ Tomaz Solc. Assembly File Listing to generate 4K "ROM A" for Galaksija microcomputer (англ.). Дата обращения: 9 октября 2014. Архивировано 6 октября 2019 года. — частично дизассемблированное ПЗУ A
- ↑ 1 2 Uputstvo za upotrebu — руководство пользователя Архивная копия от 11 сентября 2019 на Wayback Machine, на сербском
- ↑ High-resolution graphics demo on Galaksija на YouTube — демонстрация графики высокого разрешения на Galaksija
- ↑ Nenad Balint. Nas Test: Galaksija Plus . Svet Kompjutera (ноябрь 1985). Дата обращения: 16 сентября 2014. Архивировано 6 августа 2020 года.
- ↑ Magazine Scans Архивная копия от 31 августа 2019 на Wayback Machine — сканы журналов Svet Kompjutera, Racunari и Moj Mikro
- ↑ Коллекция программ для Galaksija / Galaksija Plus . Дата обращения: 16 сентября 2014. Архивировано 27 декабря 2019 года.
- ↑ TOSEC: Galaksija Galaksija (2012-04-23) (англ.). The Internet Archive Software Collection (23 апреля 2012).
- ↑ Michael Eby. The Lost History of Socialism’s DIY Computer (англ.). Jacobin (8 февраля 2020). Дата обращения: 10 декабря 2020. Архивировано 8 декабря 2020 года.
- ↑ Galaxy Win Архивная копия от 18 декабря 2019 на Wayback Machine (англ.) — эмулятор компьютера под Windows
- ↑ Galaxy Архивная копия от 31 августа 2019 на Wayback Machine — эмулятор компьютера под DOS
- ↑ Galaksija Emulator (2007) . WorldOfSpectrum.org. Дата обращения: 9 октября 2014. Архивировано 29 ноября 2019 года. — эмулятор компьютера на ZX Spectrum 128K
- ↑ μGalaksija Архивная копия от 20 декабря 2019 на Wayback Machine — реплика «Galaksija» на FPGA
Ссылки
- Danica Radisic. DIY Galaksija Computer, Bedrock of Serbia's IT Industry, Turns 30 (англ.). GlobalVoices (23 декабря 2013).