Остальное всё лирика.b2m wrote:Между двумя вызовами очищается экран и выводится строка "Радио-86РК". И вот представь, что первого вызова нет, т.е. нет регенерации. Вполне возможно, что пока очищается экран, ОЗУ регенерируется, поскольку адреса перебираются подряд. А вот в момент вывода строки этого нет. Я замерил, вывод строки примерно 9500 тактов, это примерно 5,3 мс, то есть не укладываемся в 2мс. То есть первый вызов необходим. Зачем тогда второй вызов? А затем, что пока мы очищали экран, там был мусор. Но ВГ-шка уже чего-то выводила и синхронизация вполне могла сбиться из-за служебных кодов в диапазоне F0-FF. Так что второй вызов тоже нужен, он задаёт правильную синхронизацию.
Загадки и странности родного Монитора РК
Moderator: Shaos
-
- Devil
- Posts: 907
- Joined: 26 May 2003 06:57
Re: Загадки и странности родного Монитора РК
Был вопрос, почему вызывается два раза. Ответ я дал:
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- Supreme God
- Posts: 16680
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Загадки и странности родного Монитора РК
Ответ тут коллега Paguo-86PK сразу дал... а ты лишь поиграл в капитана Очевидность... аж 2 раза!b2m wrote:Был вопрос, почему вызывается два раза. Ответ я дал:Остальное всё лирика.b2m wrote:Между двумя вызовами очищается экран и выводится строка "Радио-86РК". И вот представь, что первого вызова нет, т.е. нет регенерации. Вполне возможно, что пока очищается экран, ОЗУ регенерируется, поскольку адреса перебираются подряд. А вот в момент вывода строки этого нет. Я замерил, вывод строки примерно 9500 тактов, это примерно 5,3 мс, то есть не укладываемся в 2мс. То есть первый вызов необходим. Зачем тогда второй вызов? А затем, что пока мы очищали экран, там был мусор. Но ВГ-шка уже чего-то выводила и синхронизация вполне могла сбиться из-за служебных кодов в диапазоне F0-FF. Так что второй вызов тоже нужен, он задаёт правильную синхронизацию.

iLavr
-
- Doomed
- Posts: 665
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Загадки и странности родного Монитора РК
Я чего-то утратил мыслЬ между синхронизацией?, и дальнейшего потока мыслей.
З.ы. напомню
давайте подумайте? С чего так стабильно.
З.ы. напомню
?Alekcandr wrote:Так-то паттерны разные бывают. Наши микрухи (особенности схемотехники) устойчиво выдавали после включения такое.
давайте подумайте? С чего так стабильно.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru
-
- Devil
- Posts: 907
- Joined: 26 May 2003 06:57
Re: Загадки и странности родного Монитора РК
А я лишь попытался дать более развёрнутый ответ. Могло ведь мне показаться, что вопрошающий ещё неудовлетворён ответом?Lavr wrote:Ответ тут коллега Paguo-86PK сразу дал... а ты лишь
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- Maniac
- Posts: 267
- Joined: 12 Apr 2011 20:43
- Location: Tashkent
Re: Загадки и странности родного Монитора РК
Вoт с этого у меня и началось вот тут!Lavr wrote:Вот я тоже сначала так подумал, не глядя в код, а потом посмотрел, что "второй раз, если нужно выйти в монитор,
но не надо очищать область монитора" эту подпрограмму как раз-таки не вызывают:Code: Select all
... ;-------------------- Стек установлен на 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 ...
Code: Select all
;-------------------- Стек установлен на 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% застрял…