Загадки и странности родного Монитора РК

Советский компьютер Радио-86РК (1986) и его клоны

Moderator: Shaos

begoon
Senior
Posts: 147
Joined: 22 Aug 2012 17:06
Location: 188.220.42.216

Загадки и странности родного Монитора РК

Post by begoon »

Я уже 30 лет смотрю на код родного двух килобайтного Монитора РК и все еще имею по нему вопросы.

В его начальный фрагмент (asm, lst):

Code: Select all

F836:         	entry_start:                             ; CODE XREF: F800j
F836: 3E8A    	                mvi     a, 8Ah           ; VV55 A - out, B - in
F838: 320380  	                sta     8003h            ; C0-C4 - out, C5-C7 - in
              	
F83B: 31CF76  	                lxi     sp, stack
              	
F83E: CDCEFA  	                call    entry_video     ; start video
              	
F841: 210076  	                lxi     h, monitor_area
F844: 115F76  	                lxi     d, monitor_area_end
F847: 0E00    	                mvi     c, 0
F849: CDEDF9  	                call    fill_hl_de_c    ; fill HL to DE by C
              	
F84C: 21CF76  	                lxi     h, stack
F84F: 221C76  	                shld    stack_ptr
              	
F852: 215AFF  	                lxi     h, RadioPrompt
F855: CD22F9  	                call    entry_puts      ; put title
              	
F858: CDCEFA  	                call    entry_video
              	
F85B: 21FF75  	                lxi     h, monitor_area - 1
F85E: 223176  	                shld    memlim
Почему подпрограмма по адресу FACE (entry_video, программирование ВГ75 и ИК57) вызывается дважды, на прямом куске кода? на F83E и F858?

В чем смысл?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Загадки и странности родного Монитора РК

Post by Lavr »

Мне кажется, более старший адрес - это "тёплый старт" ...

Нет... ошибся... WARM_BOOT дальше...
iLavr
begoon
Senior
Posts: 147
Joined: 22 Aug 2012 17:06
Location: 188.220.42.216

Re: Загадки и странности родного Монитора РК

Post by begoon »

Эти два вызова ВСЕГДА выполняются именно подряд. В этом и странность.
User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

Re: Загадки и странности родного Монитора РК

Post by Paguo-86PK »

begoon wrote:Эти два вызова ВСЕГДА выполняются именно подряд. В этом и странность.
Пeрвый выполняется для запуска ВГ75/ВТ57, чтобы запустить регенерацию.
После чего экран очищается и выводится титул.
Но, пока экран очищался, ВГ75 могла успеть нахвататься кода >127 и экран мог съехать.
Потому запускаем повторно ВГ75/ВТ57.
begoon
Senior
Posts: 147
Joined: 22 Aug 2012 17:06
Location: 188.220.42.216

Re: Загадки и странности родного Монитора РК

Post by begoon »

Paguo-86PK wrote:Пeрвый выполняется для запуска ВГ75/ВТ57, чтобы запустить регенерацию.
После чего экран очищается и выводится титул.
Но, пока экран очищался, ВГ75 могла успеть нахвататься кода >127 и экран мог съехать.
Потому запускаем повторно ВГ75/ВТ57.
Нахвататься откуда? После первого же вызова, и ПДП и ВГ уж настроены и работают. Откуда мусор?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Загадки и странности родного Монитора РК

Post by Lavr »

begoon wrote:
Paguo-86PK wrote:Пeрвый выполняется для запуска ВГ75/ВТ57, чтобы запустить регенерацию.
После чего экран очищается и выводится титул.
Но, пока экран очищался, ВГ75 могла успеть нахвататься кода >127 и экран мог съехать.
Потому запускаем повторно ВГ75/ВТ57.
Нахвататься откуда? После первого же вызова, и ПДП и ВГ уж настроены и работают. Откуда мусор?
При первой настройке в видео-ОЗУ был мусор по включению, по идее...
Строка:

Code: Select all

     LXI  H,MFF5A    ;F852  21 5A FF ;--- 1FH,'radio86-rk',00H
     CALL MF818      ;F855  CD 22 F9 ;--- Вывод на экран ASCII-Z строки HL
Чистит видео-ОЗУ по коду 1FH.

Хотя встречал я мнение, что это чисто перестраховка со стороны авторов...
iLavr
User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

Re: Загадки и странности родного Монитора РК

Post by Paguo-86PK »

Lavr wrote:
begoon wrote:Нахвататься откуда? После первого же вызова, и ПДП и ВГ уж настроены и работают. Откуда мусор?
При первой настройке в видео-ОЗУ был мусор по включению, по идее...
Нa сколько я помню, у меня по «D,35FF» вываливалась примерно такая картина:

Code: Select all

0000 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF
0010 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF
0020 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF
0030 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF
0040 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF
0050 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF
0060 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF
0070 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF
0080 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00
0090 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00
00A0 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00
00B0 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00
00C0 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00
00D0 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00
00E0 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00
00F0 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00
А вот рандомный мусор был в ZX-Spectrum…
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Загадки и странности родного Монитора РК

Post by Lavr »

А в "Специалисте" мусор по включению был примерно вот такой:
мусор.gif
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

Re: Загадки и странности родного Монитора РК

Post by Paguo-86PK »

Lavr wrote:А в "Специалисте" мусор по включению был примерно вот такой
Ух ты! Прямо будто кристалл весь под электронным микроскопом!
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Загадки и странности родного Монитора РК

Post by Lavr »

Paguo-86PK wrote:...будто кристалл весь под электронным микроскопом!
В довольно древнее уже время, когда рядом с молодым еще Интернетом существовало Фидо,
попадалась мне следующая конструкция. Люди брали вот такую микросхему ДОЗУ:
565РУ3.jpg
Аккуратненько лишали её металлической крышечки, и ставили туда стеклышко
или даже линзочку, после чего подбирали время регенерации так, чтобы освещение частично разрядило емкости.
Определяли расположение ячеек на кристалле, и упорядочивали их также в компьютере.
Получалась простенькая бюджетная видеокамера... тогда, когда видеокамерами и рядом не пахло...

Вы тут где-то про "космические лучи" писали... так и обычными лучами люди умудрялись "засвечивать" ДОЗУ.

К сожалению, оригинал этого материала у меня где-то далеко в архивах. Ибо на сегодняшний день это всего лишь
интересный технический курьез.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

Re: Загадки и странности родного Монитора РК

Post by Paguo-86PK »

Lavr wrote:В довольно древнее уже время, когда рядом с молодым еще Интернетом существовало Фидо,
попадалась мне следующая конструкция. Люди брали вот такую микросхему ДОЗУ:
Аккуратненько лишали её металлической крышечки, и ставили туда стеклышко
или даже линзочку, после чего подбирали время регенерации так, чтобы освещение частично разрядило емкости.
Определяли расположение ячеек на кристалле, и упорядочивали их также в компьютере.
Получалась простенькая бюджетная видеокамера... тогда, когда видеокамерами и рядом не пахло...

Вы тут где-то про "космические лучи" писали... так и обычными лучами люди умудрялись "засвечивать" ДОЗУ.
Вoт как раз в соседней теме «ПСИХ» (jонлайн версия) так и появился, чтобы можно было проводить подобные опыты… Именно РАДИО-86РК с его ПДП идеально подходит для этого, но алгоритмически довольно нелегко было решить составление кода долгое время (и ОЗУ разрушать, и тело программы хранить, и чтобы сам процессор всякими POP PSW случайно не регенерировал разрушаемые ячейки)…
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Re: Загадки и странности родного Монитора РК

Post by b2m »

begoon wrote:Почему подпрограмма по адресу FACE (entry_video, программирование ВГ75 и ИК57) вызывается дважды
Пока очищается область монитора, пройдёт немало времени, и ОЗУ может начать разрушаться, поэтому вызывается до этого. Второй раз вызывается, если нужно выйти в монитор, но не надо очищать область монитора.

Хотя, в процессе очистки RAS тоже будет перебираться, поэтому может и не нужен первый вызов, но может быть нужно именно чтение.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Загадки и странности родного Монитора РК

Post by Shaos »

Lavr wrote:
Paguo-86PK wrote:...будто кристалл весь под электронным микроскопом!
В довольно древнее уже время, когда рядом с молодым еще Интернетом существовало Фидо,
попадалась мне следующая конструкция. Люди брали вот такую микросхему ДОЗУ:
Image
Аккуратненько лишали её металлической крышечки, и ставили туда стеклышко
или даже линзочку, после чего подбирали время регенерации так, чтобы освещение частично разрядило емкости.
Определяли расположение ячеек на кристалле, и упорядочивали их также в компьютере.
Получалась простенькая бюджетная видеокамера... тогда, когда видеокамерами и рядом не пахло...

Вы тут где-то про "космические лучи" писали... так и обычными лучами люди умудрялись "засвечивать" ДОЗУ.

К сожалению, оригинал этого материала у меня где-то далеко в архивах. Ибо на сегодняшний день это всего лишь
интересный технический курьез.
Американцы тоже в такие игры играли - толи в 80х толи уже в 90х - даже в какой-то моей книжке по электронике любительской это было - и я вроде даже тут на форуме про это писал...

P.S. Вот нашёл проект с исходниками - один немец на ДОЗУ чипе 4164 сделал камеру:

http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fwww.kurzschluss.com%2Fkuckuck%2Fkuckuck.html&sandbox=1
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

Re: Загадки и странности родного Монитора РК

Post by Paguo-86PK »

Shaos wrote:Американцы тоже в такие игры играли - толи в 80х толи уже в 90х - даже в какой-то моей книжке по электронике любительской это было - и я вроде даже тут на форуме про это писал...

P.S. Вот нашёл проект с исходниками - один немец на ДОЗУ чипе 4164 сделал камеру:

http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fwww.kurzschluss.com%2Fkuckuck%2Fkuckuck.html&sandbox=1
Нa сайте cxema.ru впервые узнал про это лет эдак 15 тому назад…
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Загадки и странности родного Монитора РК

Post by Lavr »

b2m 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
;--------------------
     MVI  A,0C3H     ;F867  3E C3    ;--- JMP
     STA  CMJMP      ;F869  32 26 76
B00TW:
     LXI  SP,NEWSP   ;F86C  31 CF 76
     LXI  H,PROMP    ;F86F  21 66 FF ;--- 0DH,0AH '-->',00H
     CALL MF818      ;F872  CD 22 F9 ;--- Вывод на экран ASCII-Z строки HL
     STA  PPA1C      ;F875  32 02 80 ;--- 00H в C0-C3 ППА1
...
Тут Дёмин прав:
Эти два вызова ВСЕГДА выполняются именно подряд. В этом и странность.
Тёплый вход в Монитор - WARM_BOOT - не вызывает эту подпрограмму...
iLavr