|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Точность эмуляции Радио 86РК
Author |
Message |
Ball Bess
Maniac
Joined: 14 Mar 2006 00:20 Posts: 211 Location: Иркутск
|
Да, что-то я поторопился с выводами... По-видимому, предложенная мною система годится только для дисплеев с 16-ю символами в строке, а у разработчиков РК кроме вышеназванных проблем была ещё одна: Про переполнение FIFO там же пишут: Не сказано, правда, что заставит CPU читать регистр состояния. Нужно, по-видимому, настраивать ВГ на генерирование запроса прерывания в конце каждого кадра.
Правильно, в РК-шном включении у ВГ есть неиспользуемые ноги, кои можно задействовать через механизм атрибутов так, как тебе вздумается, в том числе и для раскрашивания текста. Требуется навешивание небольшого кол-ва "логики" на выходе.
P.S. Русское описание ВГ75 имеется в первом томе двухтомника "Микропроцессоры и микропроцессорные комплекты интегральных микросхем" М., "Радио и связь", 1988 г. под ред. В.А.Шахнова. Довольно подробно, со схемами, эпюрами и т.п. (из него я и давал цитаты).
Значительно укороченное описание мне попадалось в журнале "Микропроцессорные средства и системы", номер 3 за 1988 год.
_________________ Кто мешает тебе выдумать порох непромокаемый?
Last edited by Ball Bess on 13 Aug 2006 18:18, edited 1 time in total.
|
13 Aug 2006 18:07 |
|
|
Shiru Otaku
Doomed
Joined: 16 Mar 2002 17:00 Posts: 490
|
Только в РК-шке это невозможно, там не используется запрос прерывания от ВГ, вообще никаких прерываний нет.
Отсканить-бы эти страницы?
Я пользуюсь только оригинальным даташитом на 8275, больше ничего не нашлось. На русском в инете есть маленькая статейка на http://www.computer-museum.ru, но там перевод выборочных мест даташита, и с ошибками.
|
13 Aug 2006 18:18 |
|
|
Ball Bess
Maniac
Joined: 14 Mar 2006 00:20 Posts: 211 Location: Иркутск
|
Насчёт отсканить - сканера пока нет под рукой...
Попробую цифровым фотоаппаратом, может быть получится... Мой выдаёт максимум 1600х1200 точек JPG, а потом надобно объём файла уменьшить (для удобной передачи через Сеть). У меня стоит для фоток прога XnView, вроде как может конвертировать, попробую...
Да и радиоконструктор надобно бы заодно сфотать, как ты говорил - "для истории"...
Короче, смотри личное сообщение.
_________________ Кто мешает тебе выдумать порох непромокаемый?
|
13 Aug 2006 18:34 |
|
|
Shiru Otaku
Doomed
Joined: 16 Mar 2002 17:00 Posts: 490
|
Ball Bess отфоткал странички из книжки, и с его разрешения я их выкладываю, если кому надо (jpg'и в архиве, полтора мегабайта):
http://rapidshare.de/files/29434072/vg75.rar.html
Описание похоже на вольный пересказ datasheet'а на 8275 - таблички и некоторые картинки похожи. Зато на родном языке, и не дословный перевод, всё-таки понимали, о чём пишут - может пригодится кому-нибудь, кроме меня.
|
14 Aug 2006 18:59 |
|
|
DDp
Novelist
Joined: 24 Aug 2006 02:14 Posts: 46 Location: pуcвoceмьнадцaть
|
Я думаю, они сделали достаточную эмуляцию для использования с существующим ПО. Но всё равно это оччень интересно. Инверсия появилась "благодаря" схеме цвета. Так же должен был появиться курсор "блок". Вот кстати моя схема. (которую, я считаю, более правильной ) (Кнопочкой можно инвертировать цвета) RK_COLOR.RAR
Вот результат прогона твоих тестов на моём РК (Радиоконструктор "Электроника КР-02". Отличается от описанного в журнале "Радио" только матрицей клавиатуры и соответствующей процедурой обработки в Мониторе.)
RK_TEST1_50p.7z (~66k)
RK_TEST2_50p.7z (~170k)
RK_TEST3_50p.7z (~780k)
Сигнал снят с оригинального выхода (не цветного).
Проверка с чередующимися знакорядами вызвала срыв синхронизации у caprute device. А на экране выглядит примерно также как у тебя.
- Подчёркивание через знакоместо! Даже не знаю, почему в Спектре сплошное
(надо будет разобраться). Анализировал схемы (мою, оригинала, Спектра и Микроши) - у всех выходная часть CRT сделана абсолютно одинаково.
- Замечание к проверкам с изменением размера экранного буфера в большую сторону.
Вопрос на засыпку: откуда будет DMA брать байты, если ОЗУ "внезапно" кончиться?
(А кончается "внезапно" ОЗУ после адреса 7FFF)
Правильно! Из клавиатурного ВВ55 !!!
Для таких проверок нужно выбрать другой адрес начала экрана.
Я тут поиздевался над програмками...
src_TEST123_v02.7z
Все тесты в одном. Мнемоники родного i8080 (компилятор прилагается).
P.S. Интересно ещё по исследовать подробнее проверки с чередующимися знакорядами и конец строки и кадра с остановкой DMA.
P.S.S. А вот размер знакоряда по вертикали ты не потестировал, а он используется в играх и эмулируется Emu80.
P.S.S.S. Спасибо Ball Bess за доку по ВГ75.
Last edited by DDp on 14 Jun 2008 10:00, edited 1 time in total.
|
26 Aug 2006 03:52 |
|
|
Shiru Otaku
Doomed
Joined: 16 Mar 2002 17:00 Posts: 490
|
Не спорю, но ведь приятно получить 100% точный эмулятор, а не просто РК-совместимое нечто:) Благо, современные PC уже давно позволяют этого добиться. Но ведь Emu80 не эмулирует цвет, разве не так? А если нет эмуляции схемы цвета, то и инверсии быть не должно. А софт под неё есть? Спасибо! Да, возможно, у меня тоже происходит срыв синхронизации. Надо будет проверить на телевизоре. Тут будет более уместно "даже не знаю, почему в КР-02 через знакоместо":) В даташите нет ни слова про прерывистое подчёркивание, оно должно быть сплошным (как и действие всех других атрибутов). Я даже не представляю, как оно может быть прерывистым. Я посчитал это непринципиальным, хотя по хорошему, конечно, надо переносить буфер пониже. Спасибо. Я писал под кроссасмом Z80, что довольно неудобно (и чуток накосячил, как ты правильно заметил). Да, и ещё надо проверить, что будет, если курсор находится на пустом знакоряде (будет-ли он виден, или загасится).
Не затестил, потому-что этот момент у меня особых вопросов не вызвал. Единственная тонкость там - учесть, что из 4-ёх выходов выбора линии пикселей символа в РК используются только младшие 3. Кстати, Lode Runner использует изменение высоты знакоряда, и у меня изображение в нём начинает мощно мигать (при подключении через тюнер). При этом курсор с экрана не пропадает в моменты мигания.
Даташиты на 8275 и 8257: http://rapidshare.de/files/31061299/8257_8275.7z.html (4 мегабайта)
|
28 Aug 2006 06:40 |
|
|
DDp
Novelist
Joined: 24 Aug 2006 02:14 Posts: 46 Location: pуcвoceмьнадцaть
|
2 Shiru Otaku: Огромное спасибо за даташиты.
Emu80 эмулирует цвет в текстовом режиме эмулятора, в графическом режиме цвет не реализован. Вообще можно (и нужно было) сказать, что Emu80 эмулирует оригинальный "Радио-86РК" плюс доработки (цвет, ВИ53), которые только добавляют функции и никак не влияют на совместимоть с ПО_для_оригинальной_схемы. Она совместима с приведённой выше и поддерживаемой Emu80. Я её сделал в 2000 году, после того как цвет появилася в эмуляторе. Но реализована более правильно (imho). Вот ещё про цвет... Хе! Я скажу более: оно прерывисто и в Микроше! Программировать такие устройства, как ВГ75, нужно очень осторожно. Пример ниже. А я знаю! Высота знакоряда особо не при чём... В LodeRunner-е количество знакорядов 38, адрес начала экрана 4000h, его размер 78*38=2967 (0B94h). Смотрим (на реальном компьютере) конец видеобуфера:
В РК86 (и подобных ему) при сбросе и включении питания ОЗУ не очищается.
Содержимое не очищеного динамического ОЗУ чаще всего выглядит как чередующиеся FF 00 FF 00 FF 00.
Эта комбинация знакома тому, кто включал Спектрум[48] без ROM или без CPU. На экране это выглядит как "шахматка".
В наше случае FF это (официально) запрещённый атрибут для ВГ75.
Выход: или отчистить память (директива "F" монитора) перед использованием LodeRunner, или подкоррекрировать игрушку, чтобы она затирала буфер экрана полностью.
(С сарказмом) ПРЕДЛАГАЮ эмулировать запрещённые атрибуты, глюки и мусор в динамическом ОЗУ! А "до кучи", что б эмулировалось "осыпающееся" ОЗУ при отключенном контроллере ПДП (читай: отключенной регенерации).
P.S. Вспомнилось: Буратино дали три яблока...
|
29 Aug 2006 01:08 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Хехе, хаотичные FF/00 вперемежку с битыми битами я эмулировал в своем эмуляторе Спеца - ибо там они классно смотрятся. Вот алгоритм, прост до безобразия:
|
29 Aug 2006 10:26 |
|
|
DDp
Novelist
Joined: 24 Aug 2006 02:14 Posts: 46 Location: pуcвoceмьнадцaть
|
НАШЁЛ почему в "Радио-86РК" и "Микроше" подчёркивание пунктиром.
Это цепь от 20 вывода ИР13 до 13 вывода ТМ2.
Перерезал. Подчёркивание стало сплошное (на курсор никак не повлияло).
Вопрос (разработчикам): ЗАЧЕМ...
to Shiru Otaku: посмотри эту цепь на "Спектре". На схеме она есть, на фотографии платы дорожку видно.
Last edited by DDp on 14 Jun 2008 10:02, edited 1 time in total.
|
30 Aug 2006 02:23 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Выкидываем сканы Ball Bess'а (ему все равно отдельное спасибо) и качаем полную книгу тут: http://www.nedopc.org/forum/viewtopic.php?t=8406
|
02 Sep 2006 19:48 |
|
|
Ball Bess
Maniac
Joined: 14 Mar 2006 00:20 Posts: 211 Location: Иркутск
|
Да выкидывайте, я и не вынуждаю никого ими пользоваться. Если эти фотки подтолкнули вас порыться в Сети и найти книжку - это уже хорошо. Своего рода реклама книги получилась... :-|
_________________ Кто мешает тебе выдумать порох непромокаемый?
|
04 Sep 2006 08:57 |
|
|
micko
Novelist
Joined: 26 Mar 2008 23:21 Posts: 40 Location: Serbia
|
Может ли кто-нибудь, пожалуйста загрузить тестовые файлы, поскольку они не доступны.
|
05 Jun 2008 07:38 |
|
|
DDp
Novelist
Joined: 24 Aug 2006 02:14 Posts: 46 Location: pуcвoceмьнадцaть
|
Обновил ссылки в своих постах.
Вот оригинальные тесты Shiru (без видео).
|
14 Jun 2008 10:06 |
|
|
micko
Novelist
Joined: 26 Mar 2008 23:21 Posts: 40 Location: Serbia
|
Спасибо DDP.
|
17 Jun 2008 02:14 |
|
|
DDp
Novelist
Joined: 24 Aug 2006 02:14 Posts: 46 Location: pуcвoceмьнадцaть
|
Обнаружились(нашлись) игрушки для Микроши заслуживающие внимания в плане более точной эмуляции. ( games hit-parade N 1)
Здесь в более компактном виде+ скриншоты.
( Для получения WAV, воспользуйтесь утилитой CSW ).
А основная проблема - они имеют автостарт и записаны не стандартным способом. Защита использует (как минимум) не документированные команды процессора, фальш-импульсы и фальш-блоки в сигнале. Основной код и загрузчик расположены в адресам стандартного буфера экрана.
Я был шокирован тем, что во время загрузки не отключается дисплей.
Оказалось, что контроллер дисплея настраивается на более короткий пакет DMA запросов, и процессор "тормозится" чаще и на более короткий промежуток времени. Таким образом достигается более равномерная скорость работы процессора.
На данный момент не удалось загрузить эти игрушки ни в одном эмуляторе (из поддерживающих WAV я знаю только MESS и Башкирия2М).
У меня имеется реальный Микроша, могу помочь прояснить некоторые детали его работы...
|
24 Aug 2008 00:34 |
|
|
Who is online |
Users browsing this forum: No registered users and 4 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
|
|