nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 25 Sep 2018 20:41



Reply to topic  [ 290 posts ]  Go to page 1, 2, 3, 4, 5 ... 20  Next
Galaksija 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Galaksija

Наткнулся в очередной раз на компьютер "братьев-демократьев" из Югославии - "Galaksija".
https://ru.wikipedia.org/wiki/%D0%93%D0%B0%D0%BB%D0%B0%D0%BA%D1%81%D0%B8%D1%8F_%28%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%29
http://retrospec.sgn.net/users/tomcat/Galaksija/MagScans/
http://www.old-computers.com/museum/computer.asp?st=1&c=330
http://zx.pk.ru/archive/index.php/t-11266.html

Image
Image

Видел его и раньше и считал обычным клоном "Спектрума", но оказалось, что не всё так просто!!!

Точнее - наоборот, схемотехнически всё безобразно-нагло-просто!!!

---------
http://retrospec.sgn.net/users/tomcat/Galaksija/MagScans/RACUN01/RACUN01-53.png

Уж на что я считаю "Специалист" самым простым любительским компом, но этот, признаюсь, проще...

Да, конечно, простота обусловлена тем, что процессор взял на себя
часть функций формирования изображения, откуда снижение скорости и
отключение изображения при занятости процессора.
Но с другой стороны "РК-86" несравнимо сложнее схемотехнически, а
также гасит экран, молотя задачу реального времени (пусть даже это
ввод с магнитофона), а экраны у обоих - текстовые.

Действительно, как звучит в обуждении на: http://zx.pk.ru/archive/index.php/t-11266.html
"удивительно почему наши сделали микро 80 почти на 200 корпусах а не сделали аналог
галаксии: вместо z80 поставили бы 8080 все остальные микросхемы у нас вроде бы были,
скорость получилось бы не хуже, а повторить смогло бы больше людей"
.
Если бы я в то время видел такую схему вместо цикла статей о микро 80,
пожалуй гораздо шибче бросился на поиски микрухи процессора.

Конечно грустить сейчас поздно, но что мне показалось интересным:
поскольку схемы и прошивки ПЗУ доступны, это могло бы стать подспорьем
при разработке видео-процессора для "Специалиста" по аналогии с "ZX Next".
http://emulator.galaksija.org/
Если в последнем на содержимое видео-ПЗУ наведена "секретная" тень на
плетень, то в случае "Galaksija" ПЗУ доступно для реверс-разработки.
Кайф видео-процессора, на мой взгляд, заключается в том, что можно оперативно
поменять видео-режимы.
В этой же "Галаксии" при доработке достигли графики 256x208 пикселов
чисто программным методом.

-------------------Image
А потом, второй процессор, на мой взгляд, лихо бы заменил нафиг все
счетчики, которые HardWareMan стремится сэкономить для "нищебродов
и крохоборов".

PS. На мой взгляд эта схема, дополненная парой регистров и индикатором
АЛС могла бы претендовать на роль ОЧЕНЬ ПРОСТОГО компьютера, как был
разрекламирован "ЮТ-88". Тем более, что никакой простотой там особенно
и не пахло. А тут - хочешь выход на телевизор, ну потерпи тормознутость,
зато представляю, кайф бы был какой при такой "спартанской" схемотехнике!



PS. А внешние картинки - пропадают! :-? Восстановил из своего архива...


Last edited by Lavr on 11 Jan 2014 09:21, edited 6 times in total.



06 Feb 2011 22:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Нет, ну при такой УБОГОЙ схемотехнике,
ТАКУЮ графику вполне можно было терпеть!!!

Image


07 Feb 2011 00:03
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Вот здесь на сайте Avian’s Blog схемотехника "Galaksija" хорошо разжевана.
http://www.tablix.org/~avian/blog/articles/galaksija/

Джентльмен делал "римейк" "Galaksija" для компьютерного музея.

Image

Image

В том числе графику высокого разрешения заюзал.

Image
По ссылкам на странице можно посмотреть графику в формате видео.

Он же сделал полный листинг ПЗУ, чтобы разобрать "софтверную" часть
вывода изображения на дисплей.
http://www.tablix.org/~avian/galaksija/rom/rom1.html

Кто хочет "пощупать", что за зверь эта "Galaksija", вот здесь "в одном
флаконе" два эмулятора (под DOS и под Win):
http://emulator.galaksija.org/
http://emulator.galaksija.org/GalaxyWin03.zip


07 Feb 2011 04:32
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16955
Location: Colorado
Reply with quote
Post 
перенёс в ретрокомпьютеры

_________________
:eugeek: https://twitter.com/Shaos1973


07 Feb 2011 08:33
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Немного "вкусного"

Вобщем-то "Galaksija" - очень интересное программно-аппаратное решение.
Сугубо для компьютерных "нищебродов", коими мы в СССР в 80-х
годах были. Но сделано очень "вкусно", хотя, я полагаю, менее
надёжно чем "Специалист" в плане неквалифицированной сборки-
наладки. Да, я знаю, что на "Spectrum Z81" решение очень похожее,
но на ТТЛ россыпи я это вижу впервые.
Грубо говоря - основная идея следующая: а что, если вместо всякой
там "прозрачной регенерации", арбитров и прочей "схемотехнической
лабуды", поручить самому процессору выдачу байтов из памяти в
сдвиговый регистр.
Так сразу и в голове-то не укладывается!!! А когда же тогда процессору
основным делом заниматься? Оказывается и 25 процентов всего времени
процессору приемлемо-достаточно, чтобы эта поделка напоминала недо-
компьютер.
Поскольку имею некоторый опыт - охотно верю, потроша игры "Специалиста",
делал эксперимент - убирал программные задержки. Дык эти черти-персонажи
носились по экрану как электроны вокруг атома - размазываясь.
А тут задержки по условию есть - только успевай программить эффективно.
Но вернёмся к "вкусной" схемотехнике. Собственно аппаратно реализован
гененатор сдвига пикселей. Его сигнал, делённый попалам - такт для Z80.
Далее посчитаны строчная и кадровая частоты. Синхроимпульсы формируются
одновибраторами, гасящие - организуются чисто программно.
Основной цикл следующий:

Image

По кадровому импульсу Z80 получает видео-INT. Заканчивает текущую инструкцию
и переходит к обработке прерывания. По характерным сигналам
схема на триггере вырабатывает сигнал WAIT и этим тормозит процессор.
Процессор молотит такты ожидания, выдерживая гашение по кадру.
Начало строки развёртки перебрасывает триггер, отпускает процессор
в работу и вот тут-то он начинает сам хватать из видеобуфера и выдавать
в сдвиговый регистр либо напрямую, либо через знакогенератор.
Графический вариант даже упрощает всё, поскольку знакогенератор можно
выкинуть. Но памяти было маловато. Так что символьный вывод использовали
предпочтительно.
Вот так всё здорово!!! Классический "нищебродский" компьютер!!!
Я ещё не проецировал это на К580ВМ80, чтобы сказать что-либо ответственно,
но скажу вам, текст ПЗУ демонстрирует довольно нескомканный код
программного видеодрайвера. Хотя, конечно, временные интервалы там
высчитаны, похоже, точно.
http://www.tablix.org/~avian/galaksija/rom/rom1.html

Вероятно, если с этим поработали бы плотно в 80-е годы, то по аппаратным
затратам это могло бы стать популярным компом в СССР.
Но, читал я, что и в редакции "РАДИО" дело обстояло не кристально чисто...

А ничего так красавец... делать нефиг!


09 Feb 2011 10:17
Profile
Doomed

Joined: 26 May 2003 07:57
Posts: 629
Reply with quote
Lavr wrote:
Начало строки развёртки перебрасывает триггер, отпускает процессор
в работу и вот тут-то он начинает сам хватать из видеобуфера и выдавать
в сдвиговый регистр либо напрямую, либо через знакогенератор.

Вообще-то, он продолжает хавать программу обработки прерывания, а из видео-буфера считываются байты в процессе регенерации памяти, процессор лишь генерирует младший байт адреса для регенерации. А так как счётчик регенерации памяти (регистр R) увеличивается каждую команду (а они бывают разной длины), то на время вывода строки выполняются только 4-х тактовые команды.

И кстати, такт для сдвигового регистра - не поделённый пополам такт Z80, а наоборот - такт Z80 вдвое меньше пиксельклока.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


09 Feb 2011 11:42
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
b2m wrote:
И кстати, такт для сдвигового регистра - не поделённый пополам такт Z80, а наоборот - такт Z80 вдвое меньше пиксельклока.

Вроде взрослый молодой человек, а читать русским по-белому не умеет.
Lavr wrote:
Собственно аппаратно реализован
генератор сдвига пикселей. Его сигнал, делённый попалам - такт для Z80.


b2m wrote:
он продолжает хавать программу обработки прерывания, а из видео-буфера считываются байты в процессе регенерации памяти, процессор лишь генерирует младший байт адреса для регенерации. А так как счётчик регенерации памяти (регистр R) увеличивается каждую команду (а они бывают разной длины)

Lavr wrote:
он начинает сам хватать из видеобуфера и выдавать
в сдвиговый регистр либо напрямую, либо через знакогенератор

А что регистр R не в процессоре находится?
Кто-то другой а не процессор что-ли начинает этим заниматься?
Счётчик регенерации памяти (регистр R) и младший байт адреса для регенерации выдаются процессором,
а не внешним счетчиком как в Cпеце.
В чем проблема-то?
Ну подробней ты написал, но это всё есть по ссылкам...
http://www.tablix.org/~avian/blog/archives/2009/01/high_resolution_graphics_on_galaksija/

PS. Кстати говоря, и у автора CMOS Galaksija не совсем очевидны некоторые
моменты. Схемотехнику оригинальной Galaksija он местами называет набором
"грязных трюков", характерных для ТТЛ. Поэтому я обратился к нему в блоге
показать полностью схему, а вопросы свои задал в письме лично.
А то странное противоречие получается у него:

Tomaž Šolc wrote:
More stuff (schematics, photos, etc.) coming soon.

но
Tomaž Šolc wrote:
Actually after finishing the high-resolution demo last week I just realized I never put the schematics on the net.


09 Feb 2011 12:49
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Galaksija на К580ВМ80?

Я тут немного поразмыслил, как бы концепцию Galaksija перенести на
возможности микропроцессора К580ВМ80. У него нет механизма регенерации,
поэтому напрямую перенести решения не представляется возможным.
Но задумка есть вот какая: пусть, к примеру, сначала всё идёт по сценарию
Galaksija...
По кадровому импульсу К580ВМ80 получает видео-INT. Заканчивает текущую инструкцию
и переходит к обработке прерывания. По характерным сигналам
схема на триггере вырабатывает сигнал WAIT и этим тормозит процессор.
Процессор молотит такты ожидания, выдерживая гашение по кадру.
Начало строки развёртки перебрасывает триггер, отпускает процессор
в работу и вот тут-то он...

выполняет по прерыванию команду JMP 9000H (или в видео-ОЗУ на начало).
На время действия прямого кадрового хода отдельным сигналом надо переключить
схему так, чтобы процессор при обращению к области видео-ОЗУ считывал
инструкцию NOP. То есть - он выдал адрес 9000Н и дал строб чтения RD, но
данные пошли не к процессору, а на регистр видео-сдвига.
Времени на NOP хватит, я так помню у "Спеца" на два обращения счетчика
регенерации приходилось одно обращение процессора.
По NOP К580ВМ80 ничего не делает и далее выставит адрес 9001Н . Возможно
надо точно тайминги посмотреть и для синхронности тормозить проц через
WAIT.
После того как проц во время действия прямого кадрового хода переберёт
весь видео-буфер, читая псевдо-NOP, сигнал начала обратного хода
развёртки по кадру снова разрешит процу обращаться к памяти как обычно.
И по тому адресу, на котором процессор закончит перебор адресов видео-ОЗУ
должна быть предварительно записана инструкция RET из видео-прерывания.
Её можно занести при начальной инициализации.
Таким образом мы получаем графический экран, отображением которого
занимается процессор, осуществляя заодно циклы регенерации ДОЗУ.
Вроде как всё правильно. Параметры экрана, конечно, надо подсчитать.
Организация получится:
9000Н, 9001Н, 9002Н ... - в первой строке, и т.д.

Какие будут мнения?

Кстати говоря, попалось мне упоминание, что аппаратная организация
клавиатуры в Galaksija позволяет получать код клавиши непосредственно
в ASCII без привычных для такой процедуры таблиц перекодировки.
Не проверял ещё этой возможности - но если это так, то весьма удобно...

Quote:
Another interesting thing about this computer is that the each key on the keyboard is mapped in ASCII order to a memory location.


10 Feb 2011 15:30
Profile
Banned
User avatar

Joined: 20 Mar 2005 14:41
Posts: 2150
Location: От туда
Reply with quote
Lavr wrote:
Кстати говоря, попалось мне упоминание, что аппаратная организация
клавиатуры в Galaksija позволяет получать код клавиши непосредственно
в ASCII без привычных для такой процедуры таблиц перекодировки.
Не проверял ещё этой возможности - но если это так, то весьма удобно...

Quote:
Another interesting thing about this computer is that the each key on the keyboard is mapped in ASCII order to a memory location.

В РКшке же так же. Из-за этого разводка кнопок в положении ЙЦУКЕН очень проблематична. В спеце же тупо матрица и таблица перекодировки.


10 Feb 2011 21:25
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
2_HardWareMan
Ты б лучше что-нить злое и критическое по Galaksija на К580ВМ80 залил. :wink:
А то я переживаю за идею, панемаишь. Не считал ещё, но есть ощущение
что для видео-вывода это почти на краю по скорости и без WAIT-a.


10 Feb 2011 21:51
Profile
Senior

Joined: 28 Feb 2006 22:34
Posts: 180
Reply with quote
Post 
Если память собрать на статике, то 580того хватит. ))) Возможно даже для простой графики.


11 Feb 2011 13:21
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
А может ещё наглее всю эту Galaksi-ю сделать?
Взять и засунуть всю незатейливую синхронизацию в отдельный PIC?
Поскольку гашение формируется программно, ножек должно хваитить и
у небольшого PIC-а.
С другой стороны - как-то неспортивно: замшелый К580ВМ80 и PIC...


11 Feb 2011 19:03
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16955
Location: Colorado
Reply with quote
Post 
кр580вм80 тоже можно в пик затолкать ;)

_________________
:eugeek: https://twitter.com/Shaos1973


11 Feb 2011 20:40
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
кр580вм80 тоже можно в пик затолкать

Shaos - я помню, я не забросил эту идею,
http://www.nedopc.org/forum/viewtopic.php?t=9310
но для неё у меня нет подходящей памяти здесь. :oops:


11 Feb 2011 22:07
Profile
Senior

Joined: 28 Feb 2006 22:34
Posts: 180
Reply with quote
Post 
Lavr wrote:
А может ещё наглее всю эту Galaksi-ю сделать?
Взять и засунуть всю незатейливую синхронизацию в отдельный PIC?
Поскольку гашение формируется программно, ножек должно хваитить и
у небольшого PIC-а.
С другой стороны - как-то неспортивно: замшелый К580ВМ80 и PIC...

Лучше не в PIC а в AVR. Правда кое кто считает что это слово ругательное. )))) Или может попробовать на 1801ВМ1 в пику БК-любов. ))))
Кстати, в AVR можно попробовать запихать и систему команд 580того. Можно попробовать это проделать.


12 Feb 2011 12:43
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 290 posts ]  Go to page 1, 2, 3, 4, 5 ... 20  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.