Lavr wrote: 11 Jul 2019 02:58Нигде не могу найти исходники хотя бы одного монитора "Специалиста"...
В очередной раз понадобились мне исходники "Загрузчика" Специалиста уточнить некоторые особенности
его системных вызовов, но снова нигде не нашел, хотя, помнится, не раз мы различную специфику обсуждали...
Потратил время и дизассемблировал сам. Честно говоря, увидел много интересного...
В процессе работы использовал информацию со следующих ресурсов:
https://emu80.org/docs/spec_techinfo
https://alemorf.github.io/retro_computers/computer.html?id=Specialist
https://alemorf.github.io/retro_computers/Specialist/russian.monitor1.html
Исходники прилагаю с нужным ассемблером и "
сопутствующими товарами".
SP_LOADER.zip
Собственно говоря, созрела у меня одна мысль, для реализации которой мне и понадобились исходники.
Давно хотелось мне иметь мобильный вариант ПК "Специалист" с таким вот экранчиком:
LOADSRL2.PNG
Но при этом не хотелось отказываться от механизма вывода на дисплей, ну что-то типа такого:
http://www.nedopc.org/forum/viewtopic.php?p=105633#p105633
Хотелось также оставить совместимость с существующим софтом хотя бы в рамках пакета RAMFOS.
Нравятся мне его Ассемблер, Дизассеблер и прочая требуха... либо просто привык.
Решение вырисовалось пока следующее: у дисплея
NOKIA 3310 объём памяти (84х48)/8 = 504 байта.
Если сориентироваться на экранное ОЗУ ПК "Специалист", то это займёт: 504 байта / 48 байт = 10,5 ~ 11 строк.
Но первые 10 строк всех программ под RAMFOS - это верхняя служебная строка, которая практически
не меняется в процессе работы программы!
LOADSRM.PNG
Вот там и имеет смысл разместить буферное ОЗУ для дисплея
NOKIA 3310!
Тем более, что интерфейс SPI этого дисплея аппаратно схож с выводом видеосигнала ПК "Специалист".
Те же сдвиговые регистры, но только с дополнительным стробом - можно допилить аппаратно.
Довольно похожий вариант я тестировал несколько для другой задачи:
http://www.nedopc.org/forum/viewtopic.php?p=138289#p138289
А можно и чисто программно решить проблему: ввести в ПК "Специалист" прерывание по кадру, и во
время этого прерывания чисто программным путём перекидывать 504 байта дисплея
NOKIA 3310 из ОЗУ
через какой-либо порт хотя бы из одного регистра.
Такой способ успешно тестировал на вот этой железке и всё весьма быстро было:
http://www.nedopc.org/forum/viewtopic.php?p=157230#p157230
Обдумаю обе эти идеи под
PROTEUS...
You do not have the required permissions to view the files attached to this post.