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

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

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

Разработчик

Voja Antonić

Государство

Югославия

Год выпуска

1984

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

1985

Продано штук

более 8000

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

2-54 КБ

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

6-10 КБ

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

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

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

Zilog Z80A

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

3,072 МГц

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

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

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

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

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

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

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


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

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

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

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

Характеристики «Galaksija»:[3][4]

  • Центральный процессор: Zilog Z80A на тактовой частоте 3,072 МГц
  • Память: из адресуемого пространства в 64 КБ, первые 8 КБ отдаются под ПЗУ, остальные под ОЗУ
    • ПЗУ A: 4 КБ — загрузчик, видеогенератор, Galaksija BASIC
    • ПЗУ 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, код которого частично основан на TRS-80 Level 1 BASIC. После ряда изменений и улучшений, от оригинала остался только код реализации команд управления и код операций с числами с плавающей запятой.

Интерпретатор использовал 3 специальных символа и 32 зарезервированных слова. ПЗУ B дополнял язык ещё одним спецсимволом и 22 командами (включая тригонометрические функции).

Интерпретатор BASIC выдавал лишь несколько сообщений об ошибках: WHAT?, HOW? и SORRY — это было сделано для экономии памяти ПЗУ. Некоторые стандартные команды BASIC были заменены (BYTE вместо PEEK/POKE, OLD вместо LOAD и др.) — с тем чтобы больше ключевых слов начиналось на разные буквы; интерпретатор позволял сокращать команды, записывая первую букву и точку (например, P. вместо PRINT) — это экономило память, хотя и снижало читаемость текста программы.

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

Набор символов компьютера

Набор символов компьютера — несколько модифицированный (локализованный) вариант ASCII:

  • Буквы в нижнем регистре отсутствуют
  • Коды 91-94 соответствуют символам сербского языка: Č, Ć, Ž и Š. Буква «Đ» отсутствовала и обычно заменялась на «DJ»
  • 64 кода использовались для символов псевдографики в виде матрицы 2×3 точки
  • Коды символов 64 и 39 использовались в качестве двух половинок логотипа компании Elektronika Inženjering, который изображался перед приглашением «READY»

В ПЗУ знакогенератора каждый символ представлял из себя матрицу 8×13 точек.

Видео[править | править вики-текст]

Небольшая часть ОЗУ использовалась для хранения символов, составляющих текущий экран. Компьютер не имел отдельного набора микросхем для формирования видеосигнала, вместо этого большую часть работы по формированию видеосигнала брал на себя центральный процессор, используя отдельный регистр сдвига. Процессор брал из знакогенератора байт очередной 8-пиксельной строки символа, и передавал его регистру сдвига, который, в свою очередь, побитно отдавал этот байт на видеовыход.

Примерно 70 % процессорного времени использовалось для формирования изображения, что конечно сильно сказывалось на быстродействии машины. При записи и чтении данных с кассеты видеовыход отключался. В BASIC также была возможность отключать изображение для работы в «быстром» режиме.

Поскольку видеосигнал формировался программно, была возможность взять на себя формирование изображения, и некоторые программы пользовались этой возможностью, например, для вывода символов из собственного знакогенератора. Имея достаточно памяти даже без аппаратных переделок можно было выводить графику более высокого разрешения — до 256×208 пикселей — это требовало 6144 байт под видеопамять. Можно было достичь и большего разрешения, но только по горизонтали, уменьшая ширину пикселя. Увеличение количества строк изображения также было возможно, но оставляло меньше процессорного времени под другие задачи.

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

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

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

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

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

Отличия Galaksija Plus от Galaksija:

  • Вместо статического ОЗУ применено динамическое, объём ОЗУ расширен до 48 КБ
  • Скорость чтения/записи на кассету увеличена до 1200 бод
  • Помимо стандартного текстового режима, добавлен монохромный графический 256 × 208 пикселов
  • Звук: 3-канальный, с использованием микросхемы генератора звука AY-3-8912
  • Добавлено ПЗУ C — содержит код специфичный для Galaksija Plus, в частности, код для работы графического режима
  • Добавлено два параллельных порта ввода-вывода

Компьютер производился в Institute for School Books and Teaching Aids и продавался по цене в 140 000 динар.

См. также[править | править вики-текст]

  • ZX81 — коммерческий компьютер 1981 года, с похожим подходом к формированию изображения
  • Мультисистемный эмулятор MESS содержит драйвера galaxy и galaxyp

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

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