nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 04:30



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

Joined: 24 Aug 2006 02:14
Posts: 45
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 12:03
Profile
Maniac
User avatar

Joined: 12 Apr 2011 20:43
Posts: 267
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 18:26
Profile WWW
Maniac

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

_________________
Эмулятор Emu80


08 Feb 2017 23:48
Profile ICQ WWW
Admin
User avatar

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

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

_________________
:dj: https://mastodon.social/@Shaos


09 Feb 2017 08:12
Profile WWW
Novelist

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

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


13 Feb 2017 11:41
Profile
Maniac

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

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

_________________
Эмулятор Emu80


13 Feb 2017 13:38
Profile ICQ WWW
Novelist

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

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


18 Feb 2017 04:58
Profile
Junior

Joined: 23 Sep 2020 06:52
Posts: 2
Reply with quote
Post Re:
DDp wrote:
Обнаружились(нашлись) игрушки для Микроши заслуживающие внимания в плане более точной эмуляции. ( games hit-parade N 1)
На данный момент не удалось загрузить эти игрушки ни в одном эмуляторе (из поддерживающих WAV я знаю только MESS и Башкирия2М)


Games Integrator - это эпичная система, я про нее себе такую записульку сделал:

Игровой набор Games Integrator (Hit parade 1) для ПЭВМ "Микроша"

В эмуляторе Пыхонина Интегратор и его игры нормально загружаются, если Виктор примет мои пулл-реквесты 86ec2a1 и 3c762ef. Проверялось в Linux, но думаю под Виндой то же самое.


23 Sep 2020 07:02
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 38 posts ]  Go to page Previous  1, 2, 3

Who is online

Users browsing this forum: No registered users and 6 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.