nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 18 Nov 2017 04:07



Reply to topic  [ 37 posts ]  Go to page Previous  1, 2, 3
Точность эмуляции Радио 86РК 
Author Message
Novelist

Joined: 24 Aug 2006 05:14
Posts: 33
Location: pуcвoceмьнадцaть
Reply with quote
Post 
Как оказалось (спасибо b2m) процедура загрузки не столь критична к скорости загрузки (чего я больше опасался). Одним из ключевых элементов защиты была привязка к особенностям схемы Микроши. А конкретно, программа проверяет "пустое" пространство по адресам 8000h-BFFFh. В Микроше по этим адресам считывается значение 82h. Это слово состояние (status word) процессора, выдаваемое им на шину данных в начале каждого машинного цикла.
b2m подсказал, что нужно сделать, что бы запустить эти игры на его эмуляторе.
В текущей версии достаточно просто выключить торможение от ПДП. В файле Mikrosha (cas).cfg убрать строку hrq=CPU.hold и запустить эмулятор в этой(Mikrosha (cas)) конфигурации.
Загрузка второй половины Loader-а сопровождается надписью "check summ error", не обращайте внимания (на реале в этом месте картинка "surius software.bmp").


01 Sep 2008 15:03
Profile
Novelist
User avatar

Joined: 12 Apr 2011 23:43
Posts: 47
Location: Tashkent
Reply with quote
DDp wrote:
Обнаружились(нашлись) игрушки для Микроши заслуживающие внимания в плане более точной эмуляции.
...
Я был шокирован тем, что во время загрузки не отключается дисплей.
Оказалось, что контроллер дисплея настраивается на более короткий пакет DMA запросов, и процессор "тормозится" чаще и на более короткий промежуток времени. Таким образом достигается более равномерная скорость работы процессора...
Я чуть не прослезился! Вот ведь как получается, что не весь потенциал РК был использован. Автор оригинального МОНИТОРа что-то упустил, раз можно было ввод-вывод без отключения ПДП производить. Не говоря уж о Музыкальной системы, портированной с Sol20.

Я вот о чём подумал.
Была у меня идейка...

Как известно, при отключении ПДП начинается разрушение данных в ОЗУ без регенерации. В каких-то - скорее, в каких-то - позднее. Уже в 2000-х, когда я нашёл в сети статьи про теорию торсионных полей, пробовал свой Пентиум превратить в датчик тупым отключением регенерации памяти. Пытался сначала общее ОЗУ разрушать. Не вышло. Потом видео пытался разрушать: Вычитал про бит порта видяхи, останавливающий вывод на экран с риском разрушения картинки. Но, как оказалось, то ли я некудышный до безобразия ламер, то ли технологии уже не поддавались деструктивному действию...

Тогда я вспомнил про свой РК!
Взял эмулятор и попытался забить код.
Если РУ3 - матрица 128x128, можно первые 16 байт выделить под сам код программы, остальные 112 - будут разрушаться. Утилиту нужно программировать примерно так:
Code:
     .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0000 31 90 3F .. .. .. .. .. .. .. .. .. .. C3 80 00 <- Иницируем стек размером в 16 байт
0080 .. .. .. .. .. .. .. .. .. .. .. .. .. C3 00 01 <- Перенастраиваем ПДП на отображение
0100 .. .. .. .. .. .. .. .. .. .. .. .. .. C3 80 01 <- буфера экрана по 16 символов.
0180 .. .. .. .. .. .. .. .. .. .. .. .. .. C3 00 02 <- Вот такая свистопляска...
Т.е. имеем в распоряжении огромную программу из фрагментов по 16 байт, где 13 байт - полезный код.

Суть такова: Перенастроить ПДП на адрес 0x3F00 по 0x3F0F. Чтобы экран не залился мозайкой, отлавливаем моменты и вставляем байт гашения строки в начале кадра. Ждём от ВГ75 нужное число раз и не гасим строку в нужный момент. Далее, вставляем байт гашения до конца кадра. После чего, имеем уйму времени на другие расчёты.
В частности, опрашиваем несколько клавиш смены режима. Обновляем текст статуса в буфере экрана. Собираем статистику обрушения данных в каждых 112 байтах...
Ждём конца кадра в статусе ВГ75 и повторяем процесс...

Код начал писать в эмуляторе. Так как реальный РК лежит в шкафу и вполне готов работать, если чуточку попотеть...
Но, забросил я это дело уже через пару часов. Так как программировать с такой грануляльностью достаточно утомительно. И многое подзабыто. В частности, ячейки ПДП и ВГ75...

А идея всё из ума не выходит. В справочниках говорится, что на биты в памяти влияет куча факторов: от температуры до альфа-частиц...
Помнится, в 80-х ещё умельцы удаляли у тех микросхем ОЗУ защитный экран и получали видеоматрицу 128x128 через LPT, а частотой опроса управляли фотоэкспозицией...

А теперь, прочитав про ввод-вывод на ленту, просто тронуло до слёз! Сколько до сих пор не сделано на РК! И ни на каком эмуляторе это не воспроизведёшь ведь! В частности, обрушение памяти - не математический процесс, а чисто физический. И зависил от чистоты материалов, фильтрации по питанию, прогрева и кучи других факторов...
В общем, не просто РК, а целая лаборатория...


23 Dec 2014 21:26
Profile WWW
Fanat

Joined: 21 Jan 2003 07:08
Posts: 87
Reply with quote
Не сохранился ли у кого-нибудь случайно тест, с которого начиналась эта тема?


09 Feb 2017 02:48
Profile ICQ WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15664
Location: Colorado
Reply with quote
Pyk wrote:
Не сохранился ли у кого-нибудь случайно тест, с которого начиналась эта тема?

Я наверное скачивал, но у меня тот комп сдох...

_________________
:eugeek: https://twitter.com/Shaos1973


09 Feb 2017 11:12
Profile WWW
Novelist

Joined: 24 Aug 2006 05:14
Posts: 33
Location: pуcвoceмьнадцaть
Reply with quote
Pyk wrote:
Не сохранился ли у кого-нибудь случайно тест, с которого начиналась эта тема?

Ссылки в этой же теме на второй странице viewtopic.php?p=82342#p82342
А тут в мнемониках i8080 viewtopic.php?p=76421#p76421


13 Feb 2017 14:41
Profile
Fanat

Joined: 21 Jan 2003 07:08
Posts: 87
Reply with quote
О, спасибо! (не заметил сразу скромную ссылку на второй странице)
Жаль, что оригинальные видео не сохранились, а РК мой, еще недавно работавший, начал виснуть через считанные секунды после включения. Ну да ладно, есть в наличии Партнер с Апогеем - попробую для них адаптировать недостающий тест.

P.S. Хотя в недостающем тесте все равно ничего не понять толком - мельтешение одно.
А в целом очень похоже получилось. Прерывистое подчеркивание еще что ли сделать?.. ;)


13 Feb 2017 16:38
Profile ICQ WWW
Novelist

Joined: 24 Aug 2006 05:14
Posts: 33
Location: pуcвoceмьнадцaть
Reply with quote
Pyk wrote:
Жаль, что оригинальные видео не сохранились

Хех, а я нашёл оригинальные архивы с видео у себя "вдальнемуглу" на старом винте. :mrgreen: см. test*.rar по ссылке


18 Feb 2017 07:58
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 37 posts ]  Go to page Previous  1, 2, 3

Who is online

Users browsing this forum: No registered users and 1 guest


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.