Galaksija

Компьютеры прошлого, не попавшие в другие разделы

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

PVV wrote:что-то мне кажется, что клавиатура у RK-86 очень похожа на клавиатуру Галаксии...
А об этом говорили уже в этом топике где-то ближе к старту.
Либо удобная для пайки и сборки "прямая" матрица клавиатуры, как у "Специалиста", но тогда -
в ПЗУ таблицы и подпрограммы перекодировки.
Либо "кривая" матрица клавиатуры Галаксии и RK-86, но она фактически сразу дает код клавиши.

Я не сверял их клавиатуры, но по этому признаку они должны быть похожи...
iLavr
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Galaksija

Post by PVV »

Подключил я к своей Галаксии клавиатуру от РК-86, цифры и буквы подошли все, а функциональные получились кто где, но это и не важно, главное можно писать команды. Подключил SD интерфейс от Специалиста. Зашил ПЗУ полной прошивкой от Плюса и доработанную версию sddos, все запустилось как тут и было, игрушки от стандарта запускаются, Плюсовые еще не пробовал, там несколько GTP формат для них отличается, да я еще и дополнительные 32КБ памяти не ставил чип.
На фотке одна из игр для Галаксии - ManicMiner (фото делал со вспышкой,это на экране пыль - увидел только на фотографии :esmile: ) и фотки моей макетки Галаксии.

 
IMG_3403.JPG

 
IMG_3408.JPG

 
IMG_3402.JPG

You do not have the required permissions to view the files attached to this post.
Last edited by PVV on 23 Nov 2017 13:55, edited 1 time in total.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

PVV wrote:Подключил я к своей Галаксии...
...
...фотки моей макетки Галаксии.
А макетку по мотивам какой-то из плат реальной Галаксии сделал, или сам накидал, как рука легла?

Ну и, безусловно, поздравляю с успешным результатом! :kruto:
iLavr
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Galaksija

Post by PVV »

Lavr wrote:А макетку по мотивам какой-то из плат реальной Галаксии сделал, или сам накидал, как рука легла?
мысль посмотреть разводку на других платах пришла уже после изготовления и начала пайки этой :)... так что просто на имеющемся куске текстолита разместил все корпуса МС и слегка их сгруппировал, а вот схему рисовал максимально приближенно к схеме fifan_а.

Вообще самое сложное в запуске этой Галаксии, это
1) получение именно видео данных на выходе сдвигового регистра и
2) согласование с телевизионным входом.

По 1)
регистр то здесь ИР10, те для записи в него нужно установить сигнал режима работы записи или сдвига(SH/LD) в ноль и ! дождаться положительного фронта на входе тактирования(и данные здесь на входе ИР10 еще должны быть валидны, а как это произойдет, если само формирование импульса происходит по завершению /MREQ ?), только после этого перевести сигнал режима в еденицу, а это в Галаксии полностью отдано на быстродействие элементов и задержки, как CPU, так и ROM(шрифт) и RAM. Как ведь получается, сигнал SH/LD может сформироваться в момент завершения /MREQ и до того как завершится /RFSH по фронту процессорного CKL (который является деленный на 2 PCLK для ИР10). CPU выставил по /RFSH адрес для RAM, RAM отработала со своей задержкой выдала данные, которые становятся адресом для ROM шрифта, ROM со своей задержкой выдала данные для ИР10. Теперь /MREQ деактивируется - RAM данные по выходу снимает, далее ROM получает 'мусорный' адрес на входе и выдает мусор для ИР10... в 80е годы когда и RAM и ROM имели быстродействие по 300нс эта цепочка вполне нормально могла работать, а вот сейчас, с нашими RAM из кеша с быстродействием в 20нс, и ROM в 45нс(может это и крайний случай, и реально 100нс и 70нс применяется), работа этой цепочки становится весьма проблематичной. По хорошему надо поставить регист-защелку типа ИР22 на входе ROM шрифта, управляемой по прямому MREQ, и исключить из рассмотрения быстродействие элементов этой цепи. Еще сильнее этот момент будет проявляться в режиме ГалаксииПлюс, тк там и вовсе нет ROM шрифта с его задержкой, а данные с шины данных от RAM должны прозрачно попасть на вход ИР10, когда будет активен сигнал /LD и будет фронт PCLK(/MREQ к этому времени уже давно снят и RAM выход уже вероятно деактивировала)...

По 2)
согласования уровней, что синхро смеси, что видео нет, нужен согласующий каскад,
строчная частота 16000Гц, как это вообще телевизор понимать должено то? хотя, если поставить кварц на 6.0Мгц, вместо 6.144, то будет 15625, но кадровая будет 48Гц, надо проверить ...
во время кадрового испульса сделана инверсия строчного, но по ТВ стандарту здесь должна быть повышенная в 2 раза по сравнению со строчным частота, а в наших Специалисте, РК-86 и тд вообще здесь ни каких частот нет, нужно ли так тогда усложнять выход? ТВ только сильнее сбивается.

Вообщем буду Плюс запускать, и уже сейчас видно, с чем придется столкнуться.

вообще есть идея - в режиме Плюс избавиться от АП5 между шиной данных и входом ИР10, тк в качестве ROM шрифта используется чип больше чем 2Кб, то во вторую половину этой ROM записать повторяющиеся данные от 0 до 0xFF, и завести на старший адресный разряд сигнал с переключателя режима стандарт/Плюс - вернется задержка на ROM_е и в режиме Плюс все должно работать как и в стандарте.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

PVV wrote:строчная частота 16000Гц, как это вообще телевизор понимать должено то?
В общем-то отклонение всего на каких-то 2.4%. Строчная развертка толерантна в более широких пределах.
Особенно в старых телевизорах, где была регулировка "Частота строк". :wink:
PVV wrote:во время кадрового испульса сделана инверсия строчного, но по ТВ стандарту здесь должна быть повышенная в 2 раза по сравнению со строчным частота,
Впервые такое слышу... :o Обычная там частота строчных импульсов:
TV_timing.gif
Все (или подавляющее большинство) самодельные недо-компьютеры работают с прогрессивной разверткой.
То есть телевизионных "полей" или полукадров, сдвинутых на пол-строки - нет, поэтому на обратном
ходе выравнивать ничего не надо, должны присутствовать обычные строчные синхроимпульсы.
PVV wrote:нужно ли так тогда усложнять выход? ТВ только сильнее сбивается.
Строчные синхроимпульсы выделяются в телевизоре дифференцирующей цепочкой, тогда как кадровый
выделяется интегрирующей цепочкой, синхронизация строчной частоты на обратном ходу желательна,
иначе вход в синхронизацию будет виден как сдвиг или"заворот" первых нескольких строк на изображнии.
Хотя этого может и не быть, если уход частоты на длительности обратного хода небольшой.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

Lavr wrote:Все (или подавляющее большинство) самодельные недо-компьютеры работают с прогрессивной разверткой.
То есть телевизионных "полей" или полукадров, сдвинутых на пол-строки - нет, поэтому на обратном
ходе выравнивать ничего не надо...
Из всех известных мне компьютеров в режиме чересстрочной развертки могла работать только
"Искра-1030М". Т.е., несмотря на то, что она имела видеоадаптер, совместимый с CGA, она могла
кроме режима CGA 640х200 BW изобразить и режим 640х400 BW, но в режиме чересстрочной
развертки
. У неё был дополнительный блок видеопамяти под второе поле.

Это описано в "мануале" на "Искру-1030М", но никак не поддержано программно.
Все обычные программы (а я считал тогда на Quick Basic 4.5) в этом режиме ничего вывести на
экран бы не смогли.
И хотя очень хотелось после 384х256 BW "Специалиста" шикарные 640х400 BW, но работать
пришлось в убогих CGA 640х200 BW - остальные режимы CGA с точки зрения графики
еще хуже...
iLavr
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Galaksija

Post by PVV »

Lavr wrote:
PVV wrote:во время кадрового испульса сделана инверсия строчного, но по ТВ стандарту здесь должна быть повышенная в 2 раза по сравнению со строчным частота,
Впервые такое слышу... :o Обычная там частота строчных импульсов:
согласно :
http://alcala.ru/bse/izbrannoe/slovar-U/U10908.shtml
Длительность уравнивающих импульсов 2,5 мксек; частота следования равна двойной строчной частоте. Да и на картинке выше видно, что период уравнивающих импульсов, как и импульсов врезки в самом КСИ в два раза меньше периода строчных импульсов...
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

PVV wrote:согласно :
http://alcala.ru/bse/izbrannoe/slovar-U/U10908.shtml
Длительность уравнивающих импульсов 2,5 мксек; частота следования равна двойной строчной частоте. Да и на картинке выше видно, что период уравнивающих импульсов, как и импульсов врезки в самом КСИ в два раза меньше периода строчных импульсов...
На картинке выше - специально цветом выделил ЧЕРЕССТРОЧНАЯ РАЗВЕРТКА!
А в Вашей "Галаксии" - ПРОГРЕССИВНАЯ РАЗВЕРТКА - В НЕЙ УРАВНИВАЮЩИХ ИМПУЛЬСОВ НЕТ,
ПОТОМУ ЧТО НЕЧЕГО УРАВНИВАТЬ.
И импульсы строчной синхронизирующей просто врезаются в КСИ чтобы не терять синхронизацию.
Ну надо иногда думать всё же, к чему относятся картинки и термины... :-?
iLavr
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Galaksija

Post by PVV »

Запустил таки я эту Галаксию Плюс! Проблема только одна, а где взять программы то для Плюса?... пока нашел только две, PACMANP и SvetleciBicikliPlus. TETRISPLUS, это не для Плюса программа, а для стандартной Галаксии.
Проблема с запуском только одна возникла - в режиме Плюса вывод изображения идет по прерыванию IM2, а кто выставит на шину данных младшую половину адреса на вектор прерывания? - только резисторы подтяжки к +питания, которые на схеме расширения памяти в Плюсе в журнальной статье были, но о них как-то позабыли... Вообщем, добавил я 8 резисторов по 10К к +5В на своей макетке, и Галаксия_Плюс начала рисовать в графике!
Пока я со всем этим разбирался, нашел, что в x80.dll прерывание IM2 реализовано неправильно, и еще ошибка со временем выполнения JP IX, не 10 тактов, а 8, все поправил, и запустил еще и в Протеусе Галаксию_Плюс:
Gal_PACMANP_.jpg
во вложении исправленная dll.
You do not have the required permissions to view the files attached to this post.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Galaksija

Post by Lavr »

PVV wrote:...нашел, что в x80.dll прерывание IM2 реализовано неправильно, и еще ошибка со временем выполнения JP IX, не 10 тактов, а 8, все поправил...
Что-то пока не было .dll Z80 (/8080) все эту модель так хотели - отбоя не было... :mrgreen:
Как она появилась - то ощущение, что лишь мы вдвоём ею пользуемся и находим ошибки. :wink:
iLavr
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Galaksija

Post by PVV »

Хочу еще расказать о том как работает Галаксия_Плюс.
Запуск режима Плюс, если так можно выразится, двух этапный. Первый этап - нужно в режиме обычной Галаксии выполнить A=USR(&E000), только так, а не используя патч в ROM1 с вызовом на 0xE000. В ROM1 должен быть вызов только ROM2, если он есть, те 0x1000.
Отступление - патч в ROM1 добавляет к таблице зарезервированных команд дополнительные команды, будь то ROM2 или ROM_PLUS, но если вызвать 0xE000(те ROM_PLUS), то к класическим командам добавятся плюсовые, но после ret в ROM_PLUS, добавление команд от ROM2 затрет команды от ROM_PLUS. Хотя на экране и будет приглашение с надписью GALAXY PLUS, но команд Плюса не будет!
Второй этап, это переключение в графический режим - для этого надо выполнить команду GRAPH. После этой команды все отображение идет в графическом режиме, те знакогенератор из ПЗУ от класической Галаксии отключается и используется свой знакогенератор, зашитый в ROM_PLUS. Именно с этого момента Z80 переводит режим прерываний с IM1 на IM2. В регистр I заносится 0xE0. В момент прерывания Z80 с шины данных считывает 0xFF, сформированый резисторами подтяжки, вычитывает адрес вектора прерывания с адреса 0xE0FF, там 0xE3FB, и начинает выполнять процедуру прерывания с 0xE3FB. В прерывании же сделан цикл по выводу экранной памяти. Я думаю, что эту информацию могут использовать авторы эмуляторов, для реализации режима Плюс в Галаксии, определяя что именно выводить на экран по установленному режиму прерываний IM1 или IM2.

Еще момент - я долго не мог понять, что не так с игрой PACMANP - я ее запускал выполнив только первый этап инициализации режима Плюса, и на экране была лишь одна строчка сверху, с числом жизней, хотя сама игра, видимо работала, тк жизни уменьшались со временем, и только выполнив второй этап инициализации у меня появилась вся картинка как она должна быть. Вторя я же игра, видимо, сама выполняет команду GRAPH, и начинает показывать без этого, второго, этапа, что сильно меня по началу сбивало с понимания происходящего.

Пока разбирался с запуском возникла мысль по упрощению схемы Плюса - что есть графический режим? - Это обход ПЗУ знакогенератора, отключением его выхода по /OE и вывод изображения прямо с шины данных через включение /OE на АП5, но при использовании в качестве ПЗУ знакогенератора чипа на 8КБ(чип на 28 ножек найти сейчас проще чем на 24), а не 2КБ, как это заложено изначально, можно развести на два лишних адресных разряда ПЗУ недостающий D6 и сигнал переключения стандарт/графика и таким образом отказаться от АП5. - повторяюсь похоже :osad:
Во вложении схема Галаксии_Плюс с узлом работы с SD карты.
You do not have the required permissions to view the files attached to this post.
User avatar
fifan
Devil
Posts: 909
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Galaksija

Post by fifan »

Прекрасно! А схема Плюс уже на макетке работает или пока ещё не реализована?
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Galaksija

Post by PVV »

Галаксия Плюс полностью работает на моей макетке, ее фото я выкладывал выше, только добавил к ней память на 32КБ, схема не изменилась. Файлы загружаются с SD карты.

Добавлю - схема не изменилась, почти :) - дополнилась резисторами подтяжки шины данных к плюсу питания, для работы графического режима ГалаксииПлюс.
Last edited by PVV on 22 Nov 2017 13:07, edited 1 time in total.
User avatar
fifan
Devil
Posts: 909
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Galaksija

Post by fifan »

Может тогда на заказ плат? Серб и словенец (авторы клонов Галаксии) очень интересуются у меня в письмах как обстоят дела с запуском "русской Галаксии".
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Galaksija

Post by PVV »

Заказ плат по какой схеме? Какие требования, стандарт, Плюс? Касательно звука вообще мне не понятно, что с ним делать? Я уже на zx-pk кинул клич на программы для ГалаксииПлюс, и на ПО, работающее с AY, но ответа нет :( Одна плата у тебя и так уже есть и пока она не запущена, нужно повторяемость получить, тогда и заказывать.
Опять же, как быть с ИД5? их реально не найти, только ИД4, тогда надо диоды ставить, как я у себя на макетке сделал, а еще лучше поставить ИД10. Под ПЗУ знакогенератора что ставить 2716(РФ2) или 2764(РФ4)? если последнюю, то режим Плюс можно на ней сделать, как я тут выше мысли высказывал. Много мелких нюансов надо учесть, прежде чем заказывать что-то.
Вообще, касательно печатной платы, мне было бы интересно развести ее в одном слое, как оригинальная плата Галаксии, что бы можно было ее ЛУТом сделать.

Еще момент вспомнил - кварц на 6.144МГц, я за ним специально в чип-дип ездил будучи в командировке, а вот кварц на 12.288МГц - полно везде, а по схеме надо то лишь перекинуть несколько проводов...