Galaksija (серб. Галаксија, рус. Галаксия) — самодельный 8-разрядный домашний компьютер, разработанный журналистом и изобретателем Во́йей А́нтоничем (Воја Антонић[серб.], Сербия). Компьютер был описан Деяном Ристановичем[серб.] в специальном выпуске «Компьютеры в вашем доме»серб. Računari u vašoj kući»)[1] популярного научного журнала «Galaksija[серб.]», опубликованном в декабре 1983 года в Белграде. Компьютер распространялся в форме комплекта «сделай сам», но его можно было собрать и полностью самостоятельно. Позже компьютер предлагался и в полностью собранном виде.

Galaksija
Конфигурация
Тип домашний/самодельный компьютер
Разработчик Войя Антонич
Государство Югославия
Год выпуска 1984
Выпускался по 1985
Продано штук более 8000
Оперативная память 2-54 КБ
Постоянная память 6-10 КБ
Запоминающее устройство кассетный магнитофон
Центральный процессор
Модель CPU Zilog Z80A
Тактовая частота CPU 3,072 МГц
Последователь Galaksija Plus[вд]
Слева направо: Йова Регасек (серб. Jova Regasek) и Войя Антонич за сборкой прототипа

История

править
 
Обложка спецвыпуска журнала 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 КБ отдаются под ПЗУ, остальные под ОЗУ
    • ПЗУ A: 4 КБ — загрузчик, видеогенератор, Galaksija BASIC[11]
    • ПЗУ B (опционально): 4 КБ — дополнительные команды Galaksija BASIC, ассемблер, монитор
    • ПЗУ знакогенератора: 2 КБ
    • ОЗУ: 2-6 КБ статического ОЗУ в базовой модели, расширяемое до 54 КБ
  • Видеорежим: только текстовый, 32 × 16 символов, монохромный
  • Псевдографика: 2×3 точки на символ, 64×48 точек всего
  • Клавиатура: 54 клавиши
  • Звук: отсутствует в первоначальной спецификации, но может быть получен через магнитофонный выход
  • Устройство хранения данных: бытовой кассетный магнитофон, скорость записи 280 бит/с
  • Интерфейсы:
    • Системный порт: 44 вывода
    • Порт магнитофона — DIN-разъём
    • Видеовыход в формате PAL — DIN-разъём, чёрно-белый видеосигнал
    • Высокочастотный видеовыход — RCA-разъём

Особенности

править

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].

Программное обеспечение

править
 
Полностью собранный компьютер на выставке BalCCon2k14 в Нови-Саде

Код прошивок ПЗУ, а также другие программы для компьютера были опубликованы в серии выпусков «Компьютеры в вашем доме» журнала 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]

Также существуют и аппаратные реплики компьютера на более современной элементной базе:

  • μGalaksija — «Galaksija» на FPGA[22]

Примечания

править
  1. 1 2 Magazine Scans — Računari — 1984 Januar #1 Архивная копия от 10 ноября 2020 на Wayback Machine — первый выпуск приложения «Компьютеры в вашем доме» к журналу Galaksija
  2. 1 2 3 4 5 6 The Ultimate Galaksija Talk Архивная копия от 31 декабря 2016 на Wayback Machine (англ.) — лекция Tomaž Šolc 30 декабря 2012 на Chaos Communication Congress с подробной презентацией о Galaksija, запись лекции на YouTube
  3. 1 2 3 4 5 1983: Galaksija (копия из веб-архива) — воспоминания Voja Antonić, на сербском
  4. 1 2 Dejan Ristanović. Computers in your home (англ.). Дата обращения: 13 августа 2011. Архивировано 29 апреля 2019 года.
  5. 1 2 Lewis Packwood. The story of Yugoslavia's DIY computer revolution (англ.). EuroGamer.net (30 июля 2013). Дата обращения: 9 октября 2014. Архивировано 27 декабря 2019 года.
  6. 1 2 3 4 5 Galaksija (англ.). Old-Computers.com. Дата обращения: 10 ноября 2009. Архивировано из оригинала 30 сентября 2008 года.
  7. «Galaksija» u školi Архивная копия от 29 апреля 2019 на Wayback Machine — «Галаксия» в школе, на сербском
  8. 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 года.
  9. Югославский DIY-компьютер: история одной революции. senica.ru (5 августа 2013). Дата обращения: 25 января 2016. Архивировано 27 декабря 2019 года.
  10. Voja Antonic. Napravi i ti racunar "Galaksija" 51. Дата обращения: 17 августа 2011. Архивировано 5 августа 2011 года. — страница журнала с техническими характеристиками компьютера
  11. Tomaz Solc. Assembly File Listing to generate 4K "ROM A" for Galaksija microcomputer (англ.). Дата обращения: 9 октября 2014. Архивировано 6 октября 2019 года. — частично дизассемблированное ПЗУ A
  12. 1 2 Uputstvo za upotrebu — руководство пользователя Архивная копия от 11 сентября 2019 на Wayback Machine, на сербском
  13. High-resolution graphics demo on Galaksija на YouTube — демонстрация графики высокого разрешения на Galaksija
  14. Nenad Balint. Nas Test: Galaksija Plus. Svet Kompjutera (ноябрь 1985). Дата обращения: 16 сентября 2014. Архивировано 6 августа 2020 года.
  15. Magazine Scans Архивная копия от 31 августа 2019 на Wayback Machine — сканы журналов Svet Kompjutera, Racunari и Moj Mikro
  16. Коллекция программ для Galaksija / Galaksija Plus. Дата обращения: 16 сентября 2014. Архивировано 27 декабря 2019 года.
  17. TOSEC: Galaksija Galaksija (2012-04-23) (англ.). The Internet Archive Software Collection (23 апреля 2012).
  18. Michael Eby. The Lost History of Socialism’s DIY Computer (англ.). Jacobin (8 февраля 2020). Дата обращения: 10 декабря 2020. Архивировано 8 декабря 2020 года.
  19. Galaxy Win Архивная копия от 18 декабря 2019 на Wayback Machine (англ.) — эмулятор компьютера под Windows
  20. Galaxy Архивная копия от 31 августа 2019 на Wayback Machine — эмулятор компьютера под DOS
  21. Galaksija Emulator (2007). WorldOfSpectrum.org. Дата обращения: 9 октября 2014. Архивировано 29 ноября 2019 года. — эмулятор компьютера на ZX Spectrum 128K
  22. μGalaksija Архивная копия от 20 декабря 2019 на Wayback Machine — реплика «Galaksija» на FPGA

Ссылки

править