Изменил схему и печатку. Сегодня распечатаю схему на А3 и буду сравнивать со схемами авторов и реализацию в печатке. Потом отдадим на производство.
Изменил схему и печатку. Сегодня распечатаю схему на А3 и буду сравнивать со схемами авторов и реализацию в печатке. Потом отдадим на производство.
Нашёл три существенные ошибки и сразу их исправил: неверно был нарисован R8 и выводы 2 и 26 DD15 не были подключены в схему.
Вот здесь собрали прошивки для Галаксии. Вопрос: что будем зашивать в общую системную ПЗУ DD15? Вроде ПЗУ знакогенератора это CHRGEN.BIN (DD14), но их аж три штуки!
По хорошему надо брать сканы всех журналов, распознавать текст, прогонять через автоматический переводчик с сербского и потом править вручную , чтобы не было ляпов.
Боюсь без этих статей мы немного поймем об этом компе.
Так можно только догадываться:
CHRGEN.BIN и CHRGEN_orig.BIN - одинаковые файлы , это скорее всего оригинальный знакогенератор.
CHRGEN_arrow.BIN наверное модифицированный знакогенератор с какими нибудь стрелочками (arrow) добавленными (может быль вместо сербских букв.)
Запускать надо, конечно с оригинальным знакогенератором. А там будет видно (в буквальном смысле :) )
ROM1.BIN и ROM1_plus.BIN - одинаковые файлы , надо так понимать это ПЗУ А для галаксии плюс.
ROM1_minus.BIN получается ПЗУ А для обычной галаксии (не плюс)
ROM2.BIN по логике ПЗУ В
GAL_PLUS.BIN других кандидатов на ПЗУ С нет - наверное это оно.
ROM4.BIN судя по номеру "4" это ПЗУ следует за ПЗУ С - наверное работа с винчестером или ещё какие то доп программы. В журнале с описанием галаксии плюс эта область описывалась как пока свободная, где планировалось поместить программы работы с дисководом.
Итого : CHRGEN.BIN прошиваем в DD14.
B DD15 прошиваем с нулевого адреса ROM1.BIN , за ним - ROM2.BIN, далее GAL_PLUS.BIN , далее ROM4.BIN
Короче надо склеить файлы ROM1.BIN , ROM2.BIN, GAL_PLUS.BIN , ROM4.BIN в один файл и прошить этот файл в 27128.
Я сомневаюсь, что ROM4 - это последнее ПЗУ, и вряд ли оно поддерживает винчестер. Последний подключал хорват в своём клоне и сам придумывал прошивку поддержки винта, о нём на страницах журнала не знали. Журнал января 1988 года (см. статью Cetvrti ROM в конце страницы), а поддержка винта появилась намного позже.
В начале статьи написано, что на последнее ПЗУ A12=1, т.е оно ляжет с адреса F000 (там этот адрес указан). В ПЗУ по нашей схеме адреса E000... EFFF будут свободными. Поддержка винта была задумана другим автором и нигде и никак не описана. Может она и лежала в ПЗУ по этим адресам. По хорошему, как ты и предложил AIS, нужно весь текст переводить на русский. Причём авторы в журналах не приводили распечатку прошивок, а писали адрес где можно в Белграде купить готовую прошитую ПЗУ.
Нет, по этим адресам у нас находится ПЗУ С. См. таблицу распределения адресов галаксии плюс.
Совершенно верно - ПЗУ 4 находится по адресам F000-FFFF и оно является последним - идет от F000 до конца памяти. В более раннем журнале, где была таблица распределения адресов галаксии плюс эта область была отмечена как свободная.
Так что всё верно я писал выше про порядок склейки прошивок.
Про поддержку винта я только предположил. Что там на самом деле - описано в журнале Cetvrti ROM - Расширения бейсика, работа с улучшеной графикой, арифметические функции и пр.
---------- Post added at 12:34 ---------- Previous post was at 10:48 ----------
Вот ещё с этой схемой надо разобраться http://retrospec.sgn.net/users/tomca.../SK8604-57.png
Сброс на AY объеденен не со сбросом процессора, а с NMI.
Потому как кнопки сброса у галаксии нет - полный сброс только при включении питания. А если надо остановить работающую программу и загрузить другую -жмут на кнопку NMI. Так лучше стой точки зрения, что при полном сбросе скорее всего происходит очистка памяти, а по NMI очистка не происходит и можно покопаться в оставшемся коде зависшей программы и понять в чем дело.
Поэтому чтобы после сброса через NMI AY не оставался пищать на последней проигрывавшейся ноте надо сброс AY соединить с !NMI процессора, а не со сбросом процессора.
По этой схеме не видно что сброс AY объединён с NMI. Смотрим контакты по этой схеме:
PIN 9 CD4017 - это частота со счётчика, не помню какой частоты, где-то считал, забыл.
TACKA 19 NA GENERATORU ZVUKA - это скорее всего контакт 19 разъёма Генератора звука, вывод IORQ, наверное. Ну и каким макаром сбрасывается? Не вижу. На последней схеме подключения AY, на его вход сброса повешана кнопка. И кому охота на неё постоянно нажимать? Только звук прекратить? Я просто повешал на сброс процессора. Я понимаю, что сброс происходит по кнопке HARD BREAK. Максимум могу переделать схему сброса по предложенному тобой рисунку. Это по схеме. :o
По ПЗУ. Если посмотреть схему, то дешифратор DD10 адресует по адресам 0000...1FFF и E000...FFFF. Первая область занимают ПЗУ А и В, вторую - "Четвёртый" РОМ, вернее с адреса F000 и до конца. Я не вижу места для ПЗУ GAL_PLUS.BIN. Может она заменяет А или В? В сканах журналов я нигде не нашёл описания этой GAL_PLUS.
Хочу порассуждать по программам. Известно более 50 различных программ. В эмулятор загружаются они с файлов с расширением gtp. Просмотрел несколько файлов и листинги из журналов. Непонятная начальная шапка плавающей длины и конечные тоже плавающей длины концовки. Как будем игры на реальную машину загружать даже не знаю.:(
Всё вполне понятно- GAL_PLUS.BIN это дополнительное ПЗУ, которого нет в простой галаксии, оно же ПЗУ С. А вот ПЗУ 4 это позднейшая доработка - галаксия плюс это 1986 год, а ПЗУ 4 это 1988 год. В принципе галаксия плюс запустится и без ПЗУ 4, но зачем оставлять в 27128 пустое место - бусть будет там.
В журнале написанно прямо : четвертый ROM с адреса F000 и до конца
В таблице эта область отмечена как свободная. В этой же таблице видно, что ПЗУ С (третье ПЗУ) размещается в E000...F000
В общем так распределено ПЗУ по этой таблице в журнале:
0000-0FFF 4Кб ПЗУ А
1000-1FFF 4КБ ПЗУ В
ОЗУ
E000-EFFF 4Кб ПЗУ С
F000-FFFF 4Кб ПЗУ 4
Если спаять по схеме и склеить файлы в 27128 как я писал выше, то так и будет.
---------- Post added at 20:53 ---------- Previous post was at 20:42 ----------
Представь такую картину - запустил программу, заиграла музыка. Потом решил загрузить другую программу - нажал NMI. Звук повис на одной ноте. Загрузил другую программу, а эта нота всё зудит. А кнопки на ресет процессора нет - придется в этом случае питание передергивать.
Предлагаю проще сделать - поставить три контакта и джампер как на материнках - подключать сброс AY либо к сбросу процессора, либо к NMI процессора. А на практике будет видно что удобней.
Да, верно ты сказал. Вот описание "четвёртого" РОМа. Перевёл с сербского:
А GAL PLUS, я думаю занимает адреса E000...EFFF. Вот нашёл статью. Беглый перевод подтверждает это. Только я понял инициализация нового ПЗУ заключается в вызове CALL E000. А вот тут описывается как обращаться к портам А и В AY.Цитата:
Новое ПО расположено в ПЗУ 2732 (4 кБ) хотя зарезервированно место для ПЗУ 2764 (8 кБ)
Для версии Галаксии Плюс с флопи диском в процессе развития.
Хитрость заключается в на том же нижней части может быть помещено ПО без каких-либо изменений,
одно любое ПЗУ.
Уговорил - так и сделаю.
Соединил все ПЗУ. Нашёл пустое место 3145...37FF объёмом 1723 байт. Может потом сюда драйвер поддержки загрузки/записи с/на SD карту воткнуть можно будет.
Начинаю исправлять схему.
Там есть рисунок платы и по нему видно, что 19 контакт разёма платы соединен с 23 ногой AY - это сброс AY.
Таким образом по схеме при нажатии кнопки частота со счетчика подается на сброс AY и через конденсатор проходят короткие импульсы на NMI процессора.
Только зачем нужен такой многократный сброс пачкой импульсов - загадка.
Запишите плз на Радио-86РК 1 шт.