nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 15 Apr 2024 23:23



Reply to topic  [ 35 posts ]  Go to page Previous  1, 2, 3
Загадки и странности родного Монитора РК 
Author Message
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Был вопрос, почему вызывается два раза. Ответ я дал:
b2m wrote:
Между двумя вызовами очищается экран и выводится строка "Радио-86РК". И вот представь, что первого вызова нет, т.е. нет регенерации. Вполне возможно, что пока очищается экран, ОЗУ регенерируется, поскольку адреса перебираются подряд. А вот в момент вывода строки этого нет. Я замерил, вывод строки примерно 9500 тактов, это примерно 5,3 мс, то есть не укладываемся в 2мс. То есть первый вызов необходим. Зачем тогда второй вызов? А затем, что пока мы очищали экран, там был мусор. Но ВГ-шка уже чего-то выводила и синхронизация вполне могла сбиться из-за служебных кодов в диапазоне F0-FF. Так что второй вызов тоже нужен, он задаёт правильную синхронизацию.


Остальное всё лирика.

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


15 Mar 2021 05:24
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
b2m wrote:
Был вопрос, почему вызывается два раза. Ответ я дал:
b2m wrote:
Между двумя вызовами очищается экран и выводится строка "Радио-86РК". И вот представь, что первого вызова нет, т.е. нет регенерации. Вполне возможно, что пока очищается экран, ОЗУ регенерируется, поскольку адреса перебираются подряд. А вот в момент вывода строки этого нет. Я замерил, вывод строки примерно 9500 тактов, это примерно 5,3 мс, то есть не укладываемся в 2мс. То есть первый вызов необходим. Зачем тогда второй вызов? А затем, что пока мы очищали экран, там был мусор. Но ВГ-шка уже чего-то выводила и синхронизация вполне могла сбиться из-за служебных кодов в диапазоне F0-FF. Так что второй вызов тоже нужен, он задаёт правильную синхронизацию.
Остальное всё лирика.

Ответ тут коллега Paguo-86PK сразу дал... а ты лишь поиграл в капитана Очевидность... аж 2 раза! :wink:

_________________
iLavr


15 Mar 2021 05:34
Profile
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
Я чего-то утратил мыслЬ между синхронизацией?, и дальнейшего потока мыслей.

З.ы. напомню
Alekcandr wrote:
Так-то паттерны разные бывают. Наши микрухи (особенности схемотехники) устойчиво выдавали после включения такое.
?

давайте подумайте? С чего так стабильно.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


15 Mar 2021 06:38
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Lavr wrote:

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

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


15 Mar 2021 06:59
Profile WWW
Maniac
User avatar

Joined: 12 Apr 2011 20:43
Posts: 267
Location: Tashkent
Reply with quote
Lavr wrote:
Вот я тоже сначала так подумал, не глядя в код, а потом посмотрел, что "второй раз, если нужно выйти в монитор,
но не надо очищать область монитора
" эту подпрограмму как раз-таки не вызывают:
Code:
...
;-------------------- Стек установлен на 76CFH
     LXI  SP,NEWSP   ;F83B  31 CF 76 ; установка стека
;-------------------- ВГ75 и ВТ57 настраивают и запускают в работу вывод на дисплей
     CALL MF82D      ;F83E  CD CE FA ; настройка CCRT и ПДП
;-------------------- Вся служебная область монитора заполняется 00H
     LXI  H,ADVID    ;F841  21 00 76 ; 7600H - начало служебной области
     LXI  D,L765F    ;F844  11 5F 76 ; 765FH = 00H 96 байт
     MVI  C,00H      ;F847  0E 00    ; служебные ячейки Монитора до 76CFH
     CALL CFILL      ;F849  CD ED F9 ; заполнение HL-DE байтом C
;-------------------- Значение стека сохраняют, но читают косвенно как POP
     LXI  H,NEWSP    ;F84C  21 CF 76
     SHLD BOXSP      ;F84F  22 1C 76
;-------------------- Вывод заставки с позиции 77C2H ScreenHOME - 1FH;
     LXI  H,MFF5A    ;F852  21 5A FF ;--- 1FH,'radio86-rk',00H
     CALL MF818      ;F855  CD 22 F9 ;--- Вывод на экран ASCII-Z строки HL
     CALL MF82D      ;F858  CD CE FA ;--- Запуск индикации на экране
;-------------------- Установка верха доступного ОЗУ 75FFH
     LXI  H,RAMHI    ;F85B  21 FF 75
     SHLD MEMHI      ;F85E  22 31 76
;-------------------- Установка констант чтения и записи на маг.ленту
     LXI  H,C1D2A    ;F861  21 2A 1D
     SHLD CONSR      ;F864  22 2F 76
...
Вoт с этого у меня и началось вот тут!
Code:
;-------------------- Стек установлен на 76CFH
     LXI  H,NEWSP    ;F84C  21 CF 76
     SHLD BOXSP      ;F84F  22 1C 76
     SPHL            ;F83B     F9    ; установка стека
;-------------------- ВГ75 и ВТ57 настраивают и запускают в работу вывод на дисплей
     CALL MF82D      ;F83E  CD CE FA ; настройка CCRT и ПДП
;-------------------- Вся служебная область монитора заполняется 00H
     LXI  H,RAMHI    ;F85B  21 FF 75
;-------------------- Установка верха доступного ОЗУ 75FFH
     SHLD MEMHI      ;F85E  22 31 76
     INX  H
     LXI  D,L765F    ;F844  11 5F 76 ; 765FH = 00H 96 байт
     MOV  C,L        ;F847     4D    ; служебные ячейки Монитора до 76CFH
     CALL CFILL      ;F849  CD ED F9 ; заполнение HL-DE байтом C
;-------------------- Значение стека сохраняют, но читают косвенно как POP
;-------------------- Вывод заставки с позиции 77C2H ScreenHOME - 1FH;
     LXI  H,MFF5A    ;F852  21 5A FF ;--- 1FH,'radio86-rk',00H
     CALL MF818      ;F855  CD 22 F9 ;--- Вывод на экран ASCII-Z строки HL
     CALL MF82D      ;F858  CD CE FA ;--- Запуск индикации на экране
;-------------------- Установка констант чтения и записи на маг.ленту
     LXI  H,C1D2A    ;F861  21 2A 1D
     SHLD CONSR      ;F864  22 2F 76
И я стал понимать, что могу переписать практически весь Монитор подобной оптимизацией, но сохранив практически полную совместимость со всем ПО.

P.S.: Как настроение появится, начну переписывать код с FE01 до FF51, чтобы на 100% всё переписать.
А то на 96% застрял…


15 Mar 2021 09:30
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 35 posts ]  Go to page Previous  1, 2, 3

Who is online

Users browsing this forum: No registered users and 3 guests


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.