Галаксія (комп'ютер)

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

Повністю зібраний комп'ютер на виставці BalCCon2k14 в Новому Саді

ІсторіяРедагувати

На початку 1980-х югославські закони перешкоджали імпорту комп'ютерів до країни[2]. Крім того, навіть найдешевші західні комп'ютери того часу коштували кілька місячних зарплат югославського робітника. З цих причин, хоча багато хто й хотів б мати домашній комп'ютер, мало хто міг це собі дозволити; а коли й могли — це був зазвичай ZX Spectrum або Commodore 64. Але при цьому в країні існувала розвинена електронна промисловість, отримання електронних компонентів з Заходу теж не було великою проблемою.

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

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

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

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

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

Хоча «Galaksija» за своїми можливостями й не можна порівняти з комерційними комп'ютерами того ж часу, але він справив важливий локальний вплив[8]. Багато ентузіастів вивчали роботу комп'ютерів на цьому прикладі — він виявився хорошим інструментом для вивчення та експериментування.

Подальший розвиток лінійки продовжився з появою 5 функціональних прототипів, проте в зв'язку з їх уже моральним і технічним старінням роботи над ними припинилися 1995 року. Всі вони були викинуті, проте незабаром у погребі будинку Антонича було знайдено один вцілілий прототип, який було передано до музею науки і техніки Белграда[9].

Технічні характеристикиРедагувати

  • Центральний процесор: Zilog Z80 А на тактовій частоті 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/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].

ЕмуляціяРедагувати

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

Також існують і апаратні репліки комп'ютера на більш сучасній елементній базі:

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

ПриміткиРедагувати

  1. а б Magazine Scans — Računari — 1984 Januar #1 [Архівовано 10 листопада 2020 у Wayback Machine.] — перший випуск додатку «Комп'ютери у вашому домі» до журналу Galaksija
  2. а б в г The Ultimate Galaksija Talk [Архівовано 31 грудня 2016 у Wayback Machine.] (англ.) — лекція Томаша Шольца (серб. Tomaž Šolc) 30 грудня 2012 на Chaos Communication Congress з детальною презентацією про Galaksija, запис лекції [Архівовано 23 червня 2019 у Wayback Machine.] на YouTube
  3. а б в г 1983: Galaksija (копия из вебархива) — спогади Voja Antonić (серб.)
  4. а б Dejan Ristanović. Computers in your home [Архівовано 29 квітня 2019 у Wayback Machine.] (англ.).
  5. а б Lewis Packwood. The story of Yugoslavia's DIY computer revolution [Архівовано 27 грудня 2019 у Wayback Machine.] (англ.) EuroGamer.net (30 липня 2013).
  6. а б в г Galaksija [Архівовано 30 вересня 2008 у Wayback Machine.]  (англ.). Old-Computers.com.
  7. «Galaksija» u školi [Архівовано 29 квітня 2019 у Wayback Machine.] — «Галаксія» в школі (серб.)
  8. а б Bruce Sterling. Dead Media Beat: the Yugoslav Galaksija PC [Архівовано 27 грудня 2019 у Wayback Machine.] Wired (19 грудня 2011). — журналіст Wired цитує статтю: Lily Lynch. Galaksija, cult Yugoslav DIY computer from the 1980s lives on [Архівовано 27 грудня 2019 у Wayback Machine.] (4 грудня 2011).
  9. Югославский DIY-компьютер: история одной революции. senica.ru. 5 серпня 2013. Архів оригіналу за 27 грудня 2019. 
  10. Tomaz Solc. Assembly File Listing to generate 4K «ROM A» for Galaksija microcomputer [Архівовано 6 жовтня 2019 у Wayback Machine.] (англ.) — частково дизасембльоване ПЗП A
  11. а б Uputstvo za upotrebu — посібник користувача [Архівовано 11 вересня 2019 у Wayback Machine.] (серб.)
  12. High-resolution graphics demo on Galaksija на YouTube — демонстрація графіки високої роздільності на Galaksija
  13. Nenad Balint (листопад 1985). Nas Test: Galaksija Plus. Svet Kompjutera. Архів оригіналу за 6 серпня 2020. 
  14. Magazine Scans [Архівовано 31 серпня 2019 у Wayback Machine.] — скани журналів Svet Kompjutera, Racunari і Moj Mikro
  15. Колекція програм для Galaksija / Galaksija Plus. Архів оригіналу за 27 грудня 2019. Процитовано 27 грудня 2019. 
  16. TOSEC: Galaksija Galaksija (2012-04-23) (англ.). The Internet Archive Software Collection. 23 квітня 2012. 
  17. Galaxy Win [Архівовано 18 грудня 2019 у Wayback Machine.](англ.) — емулятор комп'ютера під Windows
  18. Galaxy [Архівовано 31 серпня 2019 у Wayback Machine.] — емулятор комп'ютера під DOS
  19. Galaksija Emulator (2007). WorldOfSpectrum.org. Архів оригіналу за 29 листопада 2019. Процитовано 27 грудня 2019.  — емулятор комп'ютера на ZX Spectrum 128K
  20. μGalaksija [Архівовано 20 грудня 2019 у Wayback Machine.] — репліка «Galaksija» на FPGA

ПосиланняРедагувати