|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Загадки и странности родного Монитора РК
Author |
Message |
begoon
Senior
Joined: 22 Aug 2012 17:06 Posts: 144 Location: 188.220.42.216
|
Я уже 30 лет смотрю на код родного двух килобайтного Монитора РК и все еще имею по нему вопросы. В его начальный фрагмент ( asm, lst): | | | | Code: 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? В чем смысл?
|
13 Mar 2021 05:04 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Мне кажется, более старший адрес - это "тёплый старт" ...
Нет... ошибся... WARM_BOOT дальше...
_________________ iLavr
|
13 Mar 2021 07:43 |
|
|
begoon
Senior
Joined: 22 Aug 2012 17:06 Posts: 144 Location: 188.220.42.216
|
Эти два вызова ВСЕГДА выполняются именно подряд. В этом и странность.
|
13 Mar 2021 08:06 |
|
|
Paguo-86PK
Maniac
Joined: 12 Apr 2011 20:43 Posts: 267 Location: Tashkent
|
Пeрвый выполняется для запуска ВГ75/ВТ57, чтобы запустить регенерацию. После чего экран очищается и выводится титул. Но, пока экран очищался, ВГ75 могла успеть нахвататься кода >127 и экран мог съехать. Потому запускаем повторно ВГ75/ВТ57.
|
13 Mar 2021 08:19 |
|
|
begoon
Senior
Joined: 22 Aug 2012 17:06 Posts: 144 Location: 188.220.42.216
|
Нахвататься откуда? После первого же вызова, и ПДП и ВГ уж настроены и работают. Откуда мусор?
|
13 Mar 2021 08:41 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
При первой настройке в видео-ОЗУ был мусор по включению, по идее... Строка: Чистит видео-ОЗУ по коду 1FH. Хотя встречал я мнение, что это чисто перестраховка со стороны авторов...
_________________ iLavr
|
13 Mar 2021 08:56 |
|
|
Paguo-86PK
Maniac
Joined: 12 Apr 2011 20:43 Posts: 267 Location: Tashkent
|
Нa сколько я помню, у меня по «D,35FF» вываливалась примерно такая картина: А вот рандомный мусор был в ZX-Spectrum…
|
13 Mar 2021 09:31 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А в "Специалисте" мусор по включению был примерно вот такой:
_________________ iLavr
|
13 Mar 2021 12:43 |
|
|
Paguo-86PK
Maniac
Joined: 12 Apr 2011 20:43 Posts: 267 Location: Tashkent
|
Ух ты! Прямо будто кристалл весь под электронным микроскопом!
|
13 Mar 2021 12:56 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
В довольно древнее уже время, когда рядом с молодым еще Интернетом существовало Фидо, попадалась мне следующая конструкция. Люди брали вот такую микросхему ДОЗУ: Аккуратненько лишали её металлической крышечки, и ставили туда стеклышко или даже линзочку, после чего подбирали время регенерации так, чтобы освещение частично разрядило емкости. Определяли расположение ячеек на кристалле, и упорядочивали их также в компьютере. Получалась простенькая бюджетная видеокамера... тогда, когда видеокамерами и рядом не пахло... Вы тут где-то про "космические лучи" писали... так и обычными лучами люди умудрялись "засвечивать" ДОЗУ. К сожалению, оригинал этого материала у меня где-то далеко в архивах. Ибо на сегодняшний день это всего лишь интересный технический курьез.
_________________ iLavr
|
14 Mar 2021 00:55 |
|
|
Paguo-86PK
Maniac
Joined: 12 Apr 2011 20:43 Posts: 267 Location: Tashkent
|
Вoт как раз в соседней теме «ПСИХ» ( jонлайн версия) так и появился, чтобы можно было проводить подобные опыты… Именно РАДИО-86РК с его ПДП идеально подходит для этого, но алгоритмически довольно нелегко было решить составление кода долгое время (и ОЗУ разрушать, и тело программы хранить, и чтобы сам процессор всякими POP PSW случайно не регенерировал разрушаемые ячейки)…
|
14 Mar 2021 04:49 |
|
|
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 863
|
Пока очищается область монитора, пройдёт немало времени, и ОЗУ может начать разрушаться, поэтому вызывается до этого. Второй раз вызывается, если нужно выйти в монитор, но не надо очищать область монитора. Хотя, в процессе очистки RAS тоже будет перебираться, поэтому может и не нужен первый вызов, но может быть нужно именно чтение.
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
14 Mar 2021 11:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22578 Location: Silicon Valley
|
| | | | Lavr 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
|
14 Mar 2021 16:38 |
|
|
Paguo-86PK
Maniac
Joined: 12 Apr 2011 20:43 Posts: 267 Location: Tashkent
|
Нa сайте cxema.ru впервые узнал про это лет эдак 15 тому назад…
|
14 Mar 2021 17:43 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Вот я тоже сначала так подумал, не глядя в код, а потом посмотрел, что " второй раз, если нужно выйти в монитор, но не надо очищать область монитора" эту подпрограмму как раз-таки не вызывают: | | | | 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 ;-------------------- 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
|
14 Mar 2021 21:33 |
|
|
|
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
|
|