Сообщения без ответов | Активные темы Текущее время: 28 июл 2017, 20:51



Ответить на тему  [ Сообщений: 384 ]  На страницу Пред.  1 ... 16, 17, 18, 19, 20
 Очень низкоуровневый эмулятор 6502 / NES 
Автор Сообщение
Сообщение 05 фев 2015, 02:00
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 388
Откуда: Мытищи
Я немного не то подтверждал. Я прогнал тест OAM DECAY на денди, и получил результат аналогичный NTSC NES\FC.
Оригинальная ПАЛка проваливала тест и не разрушала "синюю линию" в кашу. Это "неправильное поведение", т.е. косяк ПАЛки

OAM reading on PAL NES
OAM reading on DENDY

Насчет использования DRAM, это предположение Drag'a.
Для меня темный лес как там всё это в потрохах микросхем работает.

Я рад, что теперь в этой табличке больше нет белых пятен насчет денди.
Хотя может быть я что-то упустил, о чем не знаю.

_________________
Nestopia 1.36/1.37 Dendy-mode


Сообщение 13 фев 2015, 00:41
Профиль
Аватара пользователя

Зарегистрирован:
05 ноя 2014, 23:03
Сообщения: 29
Нужна помощь. Проверьте, правильно ли я понял, как выполняется опкод с типом адресации ABS/ABX/ABY

Вот что у меня выходит, на примере ORA. Ориентируюсь на Хенсона в названиях.
T1, phi1 прошлого опкода - фетч опкода
T2, phi1 - извлечение младших 8 бит операнда, их подают в BI. На AI подают X/Y если ABX/ABY, 0/ADD если ABS. Результат, полагаю, должен быть в регистре ADD.
T3, phi1 - извлечение старших 8 бит операнда, и тут начинается уличная магия. Если нет переноса, то, полагаю, старшие операнды подаются на ADH из Data Latch. Следующий такт - T0. А вот если есть перенос...Тогда нужно подавать на DB в BI, а на AI - 0/ADD. Но вот незадача - в AI уже хранится результат предыдущего суммирования, и с ним надо что-то делать. Четкого свидетельства того, что именно происходит, у меня нет, а единственная моя идея плохо сочетается со схемой Хенсона. Идея в том, что 1 доп. такт T4 нужен на то, чтобы записать первый результат в ABL, а затем второй уже в ABH на доп. такте. Что думаете?

T0, phi1 - извлечение операнда из памяти
T1, phi1 - непосредственно операция + установка флагов + фетч следующего опкода.


Сообщение 27 мар 2015, 00:03
Профиль
Аватара пользователя

Зарегистрирован:
05 ноя 2014, 23:03
Сообщения: 29
Возможно нашел косяк в logisim-схеме диспатчера. Во время выполнения команды с адресацией ABS.

Для примера возьмем команду 01101101 (ADC ABS).
Если верить Visual6502, то в определенный момент должен появиться сигнал ADD/ADL. Конкретно - в момент ф2 Т3 и ф1 Т0.
В logisim-схеме этого не происходит. Более того, если верить Visual6502, то к ABS-адресации имеют отношение сигналы T2‑abs, T2‑abs‑access, T3‑abs/idx/ind и T3‑mem‑abs. Это D31, D83, D90 и D122. Влияние ни одного из них я не смог отследить явным образом до выхода ADD/ADL.


Сообщение 08 янв 2017, 14:38
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 388
Откуда: Мытищи
Visual Nes: C++ / C# port of Visual 2A03 + 2C02
http://forums.nesdev.com/viewtopic.php?f=3&t=15334

_________________
Nestopia 1.36/1.37 Dendy-mode


Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 384 ]  На страницу Пред.  1 ... 16, 17, 18, 19, 20

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF (mod by Zeru-j).
Русская поддержка phpBB