Версия для печати

-   Полигон-2 http://poligon2.kp4.ru/
--  Бывший СССР http://poligon2.kp4.ru//forum/23
--- пзу микроша-рк86 http://poligon2.kp4.ru//topic/29917




-- pribor написал 12 июня 2018 18:47
Всем доброго времени суток !

Собственно ищу код прошивки пзу из ж."Радио"1989№12 и.м.с. 573рф2
( Задача - чтобы работала директива "R" )
Набирать 2k~то есть 4096 hex цифр придётся когда отчаюсь найти.


-- aleksvolgin написал 13 июня 2018 12:46
pribor написал:
[q]
Набирать 2k~то есть 4096 hex цифр придётся когда отчаюсь найти.
[/q]
Файнридер наше всё. клац (http://rgho.st/66HqWXQW9) По адресу FAE6 по-моему 26 76, а по FAF6 - FB соответственно.


-- STIW написал 13 июня 2018 13:20
Могу тоже подготовить свою "из-под-файнридерную" версию.
aleksvolgin, кстати, батенька, в вашей версии имеются явные касяки: "l" (мелкая L) вместо "1", "S" вместо "5" и некоторого иного мусора, в виде, например, "^".
Кроме того, я провёл программное сравнение наших версий и поимел некоторые другие различия ("D-0", "5-3"), отсюда - хотелось бы поиметь ваш, сэр, "исходник" в виде таблички с адресацией (первый столбец), чтобы покопаться и понять, кто из нас более прав. Просто голый текст сложно сравнивать с картинкой.


-- aleksvolgin написал 13 июня 2018 14:04
STIW написал:
[q]
кстати, батенька
[/q]
Уже.


STIW написал:
[q]
поиметь ваш, сэр,
[/q]
Можешь лучше - делай.


-- STIW написал 13 июня 2018 14:06
aleksvolgin, а как насчёт второй части - как мне бы посравнивать? Чтобы можно было ориентироваться по картинке.


-- STIW написал 13 июня 2018 14:12
aleksvolgin написал:
[q]
Можешь лучше - делай.
[/q]
Это как - наезд был?
Так вот я и пытаюсь, поэтому и прошу, то, что вылезло из-под вашего, сэр, файнридера (вместе со столбцом адресов), чтобы сравнить с тем, что получилось у меня и с картинкой в местах явных расхождений.
.....
Произвёл сверку.
Всё-таки, мне кажется, по адресу FAE6 не 26, а 76
Других расхождений с перевыложенным файлом не нашёл.


-- pribor написал 13 июня 2018 21:04
Благодарю за старания. Завтра выясним опытным путем, работает ли хоть один из этих кодов.
Просто зашьем это в рф2 и вставим в микрошу. :biggrin:


-- aleksvolgin написал 13 июня 2018 21:12
STIW написал:
[q]
Это как - наезд был?
[/q]
с твоей стороны - да
[q]
Завтра выясним
[/q]
а я думал у тебя бумажный исходник есть =^_^=


-- STIW написал 14 июня 2018 10:22
Оффтопик: Оффтопик:
aleksvolgin написал:
[q]
с твоей стороны - да
[/q]
Не было такого - зуб даю! И даже - всю челюсть! И в мыслях не было!



-- pribor написал 14 июня 2018 19:55
Итого : код , где по адресу FAE6h находится байт 76h условно работает ( не проверено на 100% ), а код с байтом 26h не работает .

( код 26 это команда MVI H,# , а 76 это MOV M,M :biggrin: ну то есть "хальт" конечно же .. Из этого следует , что 76 многовероятно аргумент предыдущей MVI , которая 36h , ибо навряд ли в середине программы будет "хальт" )

В подтверждение работы п.з.у. с байтом 76h по адресу FAE6h - загрузили бейсик с доп.модуля пзу успешно :
(https://ibb.co/eLuWKd) (https://ibb.co/nMT2QJ)
(https://ibb.co/g4TBkJ) (https://ibb.co/ePEHQJ)
(https://ibb.co/ixffed) (https://ibb.co/kP7tzd) (https://ibb.co/mSnbKd)

И - да - основная задача пока так и не решена ещё - директива R не работает / не обнаружена.
Кто в курсе - подскажите куда "копать" далее .


-- aleksvolgin написал 14 июня 2018 21:42
а что имеется ввиду в статье про "второй этаж"?


-- Barmaleikin написал 14 июня 2018 23:45
aleksvolgin написал:
[q]
а что имеется ввиду в статье про "второй этаж"?
[/q]
Установка второй микросхемы ПЗУ с новой прошивкой, поверх старой мс ПЗУ, с соединением почти всех сигналов, кроме питания.


-- aleksvolgin написал 15 июня 2018 7:39
Barmaleikin написал:
[q]
Установка второй микросхемы ПЗУ с новой прошивкой, поверх старой мс ПЗУ, с соединением почти всех сигналов, кроме питания.
[/q]
Спасибо, капитан очевидность. :thumbdown:


-- Barmaleikin написал 15 июня 2018 20:45
aleksvolgin написал:
[q]
Спасибо, капитан очевидность
[/q]
Вам надо больше общаться с людьми, чтобы понять что ваш вопрос другого ответа получить не мог.


-- barsik написал 17 июня 2018 11:12
Несложно имея исходник данного ПЗУ Микроши, о котором идёт речь, встроить в него работу с ROM-диском. Используя дамп выложенный выше, я получил исходник (байт FAE6, кстати - 76, это часть адреса начала экрана 76D0). Интересно, что это ПЗУ в эмуляторе EMU80 работает сразу, а в эмуляторе EMU данная прошивка не работает, если не закомментировать секцию кассетного интерфейса. К сожалению, мне не на чем проверить в реале.

Исходник этого ПЗУ Микроши и исходник оригинала ПЗУ РК86 (откуда можно взять текст директивы R) выложил здесь (http://www.nedopc.org/forum/viewtopic.php?f=93&t=10605&p=144808#p144808).


-- pribor написал 17 июня 2018 11:56
barsik
Есть только одна проблема, я понятия не имею как это сделать.... :biggrin:
Если такой программист найдется, буду рад. Зашью пзу припаяю, запущу игры и выложу фото отчет. :thumbup:


-- barsik написал 17 июня 2018 12:18
pribor написал:
[q]
Есть только одна проблема, я понятия не имею как это сделать...
[/q]
Нет проблем, я люблю ковырять ПЗУ ROM-BIOS-ов с целью их оптимизировать. Чтобы данное ПЗУ работало в эмуляторе EMU, надо закомментировать в конфиге секцию кассетного интерфейса. В эмуляторе EMU80 работает и без модификаций конфига. Хотя естественно, для обоих эмуляторов нужны конфиги именно для этого ПЗУ. Иначе не будет работать МГ-ввод.

Надо один час, чтобы оптимизировать код с целью выигрыша свободного места. И ещё час, чтобы подогнать адреса внутренних точек. Если не имеете подобного опыта, то лучше не делайте сами, а подождите несколько часов. Попробую сделать.

Кстати, почему надо встраивать DIR_R именно в такой монитор, а не в родной заводской монитор Микроши? Ведь с таким монитором будет работать лишь часть программ РК86, возможно даже в некоторых играх ВИ53 будет непрерывно пищать. А для Микроши игр в несколько раз больше, чем для РК86, так что какой смысл переделывать Микрошу в неполноценный клон РК86?


-- barsik написал 17 июня 2018 14:38
Вот здесь (http://www.nedopc.org/forum/viewtopic.php?p=144809#p144809) выложил странслированное на скорую руку ПЗУ Микроши с директивой R. Хотя его можно существенно улучшить, но сейчас нет времени.


-- gtnhtyrj написал 17 июня 2018 15:33
МаГнетофонный ввод хочется в будущем заменить на что-нибудь более вычурное*, так что
можно временно "за-NOP-ить"
( *_например на универсальный последовательный или на восьмиканальный .. но это сильно потом, после решения более важных мелких практических вопросов )
____ ____ ____ ____

barsik написал:
[q]
с таким монитором будет работать лишь часть программ РК86
[/q]
____ ____ ____ ____

Коллега "pribor" сохранил и оргнальный "монитор" микроши, таким образом после отработки директивы "R" можно будет выбрать - переклюить на какой из "мониторов" и далее "G" загруженной программы.
.. Это если всё получится как задумывается.. :rolleyes: Результаты ,надеемся, будут на неделе.


-- pribor написал 17 июня 2018 22:15
barsik ... Спасибо завтра будем пробовать, отчет выложу.
Оригинал пзу есть, можно их одну над другой поставить. :thumbup:


-- pribor написал 18 июня 2018 16:54
Появилась новая проблема. Ни я ни petrenko не умеем .АСМ переводить в .бин. :frown: :biggrin:


-- barsik написал 19 июня 2018 11:29
Не спешите прошивать ПЗУ. Обнаружена ещё одна ошибка в дампе (http://www.nedopc.org/forum/viewtopic.php?p=144840#p144840) и соответственно в исходнике. Пользователь azesmbog испытал этот дамп в эмуляторе EMU от b2m и нашел фатальную ошибку при работе МГ-подпрограмм, что должна приводить к улёту при попытке МГ-ввода или вывода.


pribor написал:
[q]
Появилась новая проблема. Ни я ни petrenko не умеем *.ASM переводить в .бин.
[/q]
Выложил дамп для прошивки, но т.к не умею делать выкладку на этом сайте, то вот здесь (http://www.nedopc.org/forum/viewtopic.php?f=93&t=10605&p=144840#p144828). С учётом вышеизложенной ошибки по адресу FCA1 вместо байта 01 должен стоять байт D1 (это адрес для ПЗУ с директивой R, а в журнальном дампе это адрес FCA0).


-- aleksvolgin написал 19 июня 2018 11:57
barsik написал:
[q]
FCA1 вместо байта 01 должен стоять байт D1
[/q]
В текстовом исходнике 01. Однако...

44 (http://rgho.st/7PVwb7dCS)

45 (http://rgho.st/7QmvdB79d)

46 (http://rgho.st/6MRNnQjPM)


-- pribor написал 19 июня 2018 18:12
barsik написал:
[q]
дамп для прошивки
[/q]
Вот этот : "new_microsha_ROM.dat" попробовали, вроде не ругается "?" на "R"
но заполняет о.з.у. кодом "82", что несколько не то, что хочется.

(https://ibb.co/hToDsy) (https://ibb.co/b3YeXy) (https://ibb.co/dXgYsy)


-- barsik написал 19 июня 2018 19:09
pribor написал:
[q]
"new_microsha_ROM.dat" попробовали, вроде не ругается "?" на "R"
но заполняет ОЗУ кодом "82", что несколько не то, что хочется.
[/q]
Код 82 в системах на КР580 читается, если по адресу считывания нет ничего (ни портов, ни ОЗУ, ни ПЗУ), 82 это словосостояние выдаваемое по SYNC при чтении памяти. Это значит то, что в реале нет доп.ППА по адресу, для которого странслирован исходник.

Добавляя директиву R, я не знал по какому адресу у Вас стоит ППА ROM-диска (а в оригинале к доп.ППА ссылок нет, так что я и не знал, что он тоже есть). Думал, что в Микроше ППА ROM-диска добавляют вручную, а в описании в Wiki увидел, что свободные чип-селекты для расширения периферии это - E000, E800, F000 и, естественно, "поставил" адрес PDA в исходнике на E000. Я рассчитывал, что Вы знаете свои адреса и проверите исходник перед тем, как транслировать.

Сегодня, почитав книгу автора Микроши (http://www.emuverse.ru/downloads/computers/Mikrosha/docs/Popov_Mikrosha.djvu), узнал, что запасной ППА в ней есть и стоит на C800. Хотя он уже задействован в Микроше для коммутации фонтов, из-за чего в эмуляторе EMU80 после директивы R включается альтернативный фонт. Потому директиву R надо доработать, чтобы по окончании работы директивы R был не возврат в CCP, а сначала восстанавливался стандартный фонт. Это сделаю завтра.

Вам надо в выложенном ранее исходнике заменить строку PDA EQU 0E000H на тот адрес ППА, на котором у Вас стоит реальный ППА, через который подключен ROM-диск. Кстати в эмуляторах вместо 82, читалось FF, что говорит о том, что ППА по этому адресу есть.

Если лень редактировать и транслировать, то исправленный исходник для ROM-диска по адресу C800 и дамп для прошивки выложил здесь (http://www.nedopc.org/forum/viewtopic.php?p=144852#p144852). Рекомендую прошить монитор с большим курсором.


-- pribor написал 21 июня 2018 18:26
Попробовали и второй вариант , пока R не загружает.

Скажите пожалуйста в каком месте кода фигурирует адрес порта A вв55 с800h ?
Также в каком месте какая команда грузит упр.байт 90h режима в с803h ?
( возможно мы зашиваем не ту прошивку ,хорошо бы удалить все предыдущие варианты во избежание путаницы )


-- barsik написал 22 июня 2018 4:09
pribor написал:
[q]
Попробовали и второй вариант, - пока R не загружает.
[/q]
Увы, реальной Микроши у меня нет. Так что проверить можно только в эмуляторе. Попробую завтра разобраться как в конфиг Микроши перенести строки описывающие ROM-диск из конфига ОРИОНА. И попытаюсь проверить работу директивы с ROM-диском в эмуляторе.


pribor написал:
[q]
Скажите пожалуйста в каком месте кода фигурирует адрес порта A ВВ55 C800H ?
Также в каком месте какая команда записывает упр.байт 90H задания режима в регистр управления ППА по адресу C803H ?
[/q]
Адреса видны в листинге трансляции.

Листинг под катом (жми в сюда, чтобы развернуть) (http://index.php?t=29917&cutid=455514&p=455514)

pribor написал:
[q]
( возможно мы зашиваем не ту прошивку, хорошо бы удалить все предыдущие варианты во избежание путаницы )
[/q]
В виде DAT-файла была только последняя выкладка, остальные были только исходные тексты.

Если кто знает, намекните как сделать спойлер. Через несколько дней удалю этот большой текст.


-- gtnhtyrj написал 22 июня 2018 15:01
Зашёл к нам очень грамотный человек ( магистр, просил не называть ) и поправил коды_адреса_доп_порта прямо в бинарнике ( !!! :thumbup: !!! )
В результате R вроде как заработала, но грузит содержмое внешней п.з.у. начиная почему то с 0100h , да и во внешнюю п.з.у. мы тоже вроде не то записали( это будем далее править ).

В данной редакции "монитора" каков формат ввода директивы R ? " Rmmmm,nnnn,pppp " или как ?

За лист с комментариями отдельная благодарность
, ибо самое ценное как раз комментарии.
Во избежание путаницы просьба заменить PA PB PC PU на PKA* PKB* PKC* PKU*
( *_такие наименования я видел в недавно прочитанном описании ( на ,пардон, забыл, каком сайте ), и так понял, что это надо понимать как P.орт_K.лавиатуры_U.правляющий_регистр например )

Листинг просьба не убирать, а лучше заменить на ещё подробнее прокомментированный и упросить модераторов не наказывать и не удалять, так как многим может пригодиться.


-- Кай написал 22 июня 2018 15:15
[q]
Листинг просьба не убирать, а лучше заменить на ещё подробнее прокомментированный и упросить модераторов не наказывать и не удалять, так как многим может пригодиться.
[/q]
Под кат спрятал. Тэг [spoiler тут не работает, а [cut, вполне.


-- barsik написал 25 июня 2018 23:31
Так чего, заработала директива R или с ней всё ещё проблемы? И так и не узнал понравился ли Вам большой курсор или Вы предпочитаете старый, - мизерной чёрточкой. Кстати, в выложенном выше коде ПЗУ происходит завис, если пытаться отлаживать программу директивой G задавая стоп-точку (исправляется заменой одного байта FA49: байт F4 заменить на 9B, можно посмотреть в листинге, что выложен несколько постов назад).

По просьбе топик стартера я ещё больше изуродовал монитор Микроши из ж.Радио 12.1989. А именно, удалил все МГ-подпрограммы. Что освободило ~490 ячеек.

Далее я удалил директиву X и добавил директивы K и H. В итоге получился монитор без МГ-директив с 628 свободными ячейками.

Далее я удалил вообще все директивы монитора, что позволило уместить размер кода в 1 кб. ОС компьютера грузится из ROM-диска. Грузится и запускается первый файл в ROM-диске в формате ORDOS.

Эти исходники вместе с дампами для прошивки выложены здесь (http://www.nedopc.org/forum/viewtopic.php?f=93&t=10605&p=144980#p144980).

А вот здесь (http://www.nedopc.org/forum/viewtopic.php?f=93&t=10605&p=144980#p144989) выложил и исходник заводского ПЗУ Микроши.


Этот форум работает на скрипте Intellect Board
© 2004-2007, 4X_Pro, Объединенный Открытый Проект
©2001 Iezekil, ©2002–2019 Serge, ©2019 unterwulf