Эта статья входит в число добротных статей

Галаксия (компьютер)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Galaksija
Плата Galaksija в процессе сборки
Конфигурация
Тип

домашний/самодельный компьютер

Разработчик

Voja Antonić

Государство

Югославия

Год выпуска

1984

Выпускался по

1985

Продано штук

более 8000

Оперативная память

2-54 КБ

Постоянная память

6-10 КБ

Запоминающее устройство

кассетный магнитофон

Центральный процессор
Модель CPU

Zilog Z80A

Тактовая частота CPU

3,072 МГц

Jova Regasek (с бородой) и Voja Antonić (справа) за сборкой прототипа

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

История[править | править вики-текст]

Обложка спецвыпуска журнала Galaksija, декабрь 1983 года

В начале 1980-х югославские законы препятствовали импорту компьютеров в страну[2]. Кроме того, даже самые дешёвые западные компьютеры того времени стоили несколько месячных зарплат югославского рабочего. По этим причинам, хотя многие и хотели бы иметь домашний компьютер, немногие могли это себе позволить; но когда могли — это был обычно ZX Spectrum либо Commodore 64. Но при этом в стране существовала развитая электронная промышленность, получение электронных компонентов с Запада тоже не было большой проблемой[2].

По словам самого Войя Антонич[3], отдыхая в гостинице города Рисан, он изучал документацию на процессор CDP1802 и думал о возможности формирования изображения средствами центрального процессора. Хотя CDP1802 и был для этого слишком примитивным, возможности Zilog Z80 казались для этого вполне достаточными. До возвращения в Белград у Войя уже была концептуальная диаграмма компьютера, процессор которого управляет генерацией изображения[3]. Конечно, такой подход сильно снижал производительность машины, зато значительно упрощал схему и уменьшал стоимость.

Следующим шагом было найти журнал, готовый опубликовать полученную схему. Очевидным выбором был журнал «SAM», публикуемый в Загребе, но учитывая предыдущий негативный опыт сотрудничества, пришлось искать другие варианты. Научно-популярный журнал «Galaksija» казался неподходящим, но оказалось что его редакция работает над специальным выпуском, посвящённым компьютерам[3]. Войя Антонич предложил автору выпуска, Де́ян Риста́нович (Dejan Ristanović enru), опубликовать полные инструкции в духе «сделай сам». Специальный 100-страничный выпуск приложения «Компьютеры в вашем доме» вышел в декабре 1983 года (хотя и был датирован январём 1984-го)[1]. По словам самого Деян Ристанович, тираж в 30 000 экземпляров журнала был раскуплен за несколько недель, и его пришлось дважды допечатывать[4][5].

В декабре 1993 года на встрече в редакции журнала высказывались предположения о том, сколько компьютеров будет собрано по этим инструкциям. Говорилось о цифрах от нескольких сотен до тысячи (последнее предположение вызвало смех)[3]. Позже оказалось, что реальное количество заказанных комплектов компьютера превысило 8000[4]; число собранных компьютеров могло быть большим за счёт тех, кто не заказывал ни печатные платы, ни прошитые ПЗУ.

Цена набора для сборки в минимальной комплектации (только ПЗУ A, 4 КБ ОЗУ) в 1984 году составляла 45 500 динар[6].

Компоненты набора для сборки производились и поставлялись из различных источников: MIPRO и Elektronika, совместно с Институтом электроники и вакуумной технологии — поставляли печатные платы и клавиатуры; Mikrotehnika (Грац) — интегральные схемы; Войя Антонич лично прошивал все ПЗУ; сотрудники редакции журнала «Галаксия» готовили печатные материалы и организовывали рассылку заказчикам. Позже институт, ответственный за подготовку школьных учебников и пособий, совместно с Elektronika Inženjering начали массовое производство компьютеров «Galaksija» для поставки в школы[7].

Хотя «Galaksija» по своим возможностям и не сравним с коммерческими компьютерами того же времени, но он оказал важное локальное влияние[8]. Многие энтузиасты изучали работу компьютеров на этом примере — он оказался хорошим инструментом для изучения и экспериментирования.

Технические характеристики[править | править вики-текст]

Характеристики «Galaksija»[6][9]:

  • Центральный процессор: Zilog Z80A на тактовой частоте 3,072 МГц
  • Память: из адресуемого пространства в 64 КБ, первые 8 КБ отдаются под ПЗУ, остальные под ОЗУ
    • ПЗУ A: 4 КБ — загрузчик, видеогенератор, Galaksija BASIC[10]
    • ПЗУ 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 зарезервированных слова[11]. ПЗУ B дополнял язык ещё одним спецсимволом и 22 командами (включая тригонометрические функции).

Интерпретатор BASIC выдавал лишь несколько сообщений об ошибках: WHAT? (синтаксическая ошибка), HOW? (неправильный параметр) и SORRY (не хватило памяти)[11] — это было сделано для экономии памяти ПЗУ. Некоторые стандартные команды 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], например, для вывода символов из собственного знакогенератора. Имея достаточно памяти даже без аппаратных переделок можно было выводить графику более высокого разрешения[12] — до 256×208 пикселей — это требовало 6144 байт под видеопамять.

Порт магнитофона[править | править вики-текст]

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

Первоначально не предполагалось что компьютер будет выдавать звук, поэтому большинство программ не рассчитывали на это. Однако, выходной порт магнитофона можно было использовать в качестве 1-битного выхода на динамик[2].

Galaksija Plus[править | править вики-текст]

Galaksija Plus — улучшенная версия компьютера «Galaksija», разработанная Nenad Dunjić и Milan Tadić в 1985 году[6][13]. Целью было расширить возможности оригинальной машины, сохранив низкую стоимость и простоту сборки.

Отличия 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»[14].

Пользователи также создавали программы и обменивались ими, всего библиотека программ насчитывает более 100 наименований, большая часть которых — игры[15][16].

В середине 1980-х программы для компьютера транслировались из Белграда по радио в программе «Ventilator 202»[8][5].

Эмуляция[править | править вики-текст]

Существует ряд программных эмуляторов компьютера Galaksija:

  • Galaxy Win — эмулятор компьютера под Windows[17]
  • Galaxy — эмулятор под DOS[18]
  • Мультисистемный эмулятор MESS содержит драйвера galaxy и galaxyp
  • Galaksija Emulator для компьютера ZX Spectrum 128K[19]

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

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

Примечания[править | править вики-текст]

  1. 1 2 Magazine Scans — Računari — 1984 Januar #1 — первый выпуск приложения «Компьютеры в вашем доме» к журналу Galaksija
  2. 1 2 3 4 5 6 The Ultimate Galaksija Talk (англ.) — лекция 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 (англ.).
  5. 1 2 Lewis Packwood. The story of Yugoslavia's DIY computer revolution (англ.). EuroGamer.net (30 July 2013).
  6. 1 2 3 4 5 Galaksija (англ.). Old-Computers.com.
  7. «Galaksija» u školi — «Галаксия» в школе, на сербском
  8. 1 2 Bruce Sterling. Dead Media Beat: the Yugoslav Galaksija PC. Wired (19 декабря 2011). — журналист Wired цитирует статью: Lily Lynch. Galaksija, cult Yugoslav DIY computer from the 1980s lives on (4 декабря 2011).
  9. Voja Antonic. Napravi i ti racunar "Galaksija" 51. — страница журнала с техническими характеристиками компьютера
  10. Tomaz Solc. Assembly File Listing to generate 4K "ROM A" for Galaksija microcomputer (англ.). — частично дизассемблированное ПЗУ A
  11. 1 2 Uputstvo za upotrebu — руководство пользователя, на сербском
  12. High-resolution graphics demo on Galaksija на YouTube — демонстрация графики высокого разрешения на Galaksija
  13. Nenad Balint. Nas Test: Galaksija Plus. Svet Kompjutera (ноябрь 1985).
  14. Magazine Scans — сканы журналов Svet Kompjutera, Racunari и Moj Mikro
  15. Коллекция программ для Galaksija / Galaksija Plus
  16. TOSEC: Galaksija Galaksija (2012-04-23) (англ.). The Internet Archive Software Collection (23 April 2012).
  17. Galaxy Win (англ.) — эмулятор компьютера под Windows
  18. Galaxy — эмулятор компьютера под DOS
  19. Galaksija Emulator (2007). WorldOfSpectrum.org. — эмулятор компьютера на ZX Spectrum 128K
  20. μGalaksija — реплика «Galaksija» на FPGA

Ссылки[править | править вики-текст]