А у ВМ80 сколько? или лучше в мкс. сразу?
А у ВМ80 сколько? или лучше в мкс. сразу?
Здесь можно скачать актуальные версии Virtual Vector (VV)
0.4 мкс. должно хватать, но мало ли, попробуй поставить кварц на атмегу 32МГц, если глюки пропадут, значит просто атмега неуспевает за сигналами.
Здесь можно скачать актуальные версии Virtual Vector (VV)
Увеличил длительность импульса более чем в 10 раз (до 0,5 мс) с помощью ждущего мультивибратора (не двух свободных элементах ЛА3)
артефакты изредка проскакивают, зато fancy.rom нормально играть стал (против временного решения в #5 посте).
Что-то явно не так работает.
ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC
Попробовал взять сигнал записи в порт не с системного разъема. Взял с вывода 4 D15.2 - уже лучше.
Но индикаторы в демке
http://asdasd.rpg.fi/~svo/scalar/ware/339/ не работают
ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC
А исходники на Asm-e или Си от этого чуда есть?
Я про исходник спросил к чему. Предполагаю, что чтение шины "эмулятором" происходит по прерыванию, которое вызывается сигналом ЗПВВ. Но для того, чтобы у процессора дошли "руки" до чтения шины, ему нужно сначала закончить операцию, которую он выполняет, потом записать в стек адрес следующей операции, потом перейти к выполнению процедуры на векторе прерывания, и возможно даже перейти к подпрограмме, которая и считает данные с шины... А это всё драгоценное время, и не факт, что на шине к тому времени будут актуальные данные.
Не помню уже, читается ли чего-нибудь из этого "музыкального сопроцессора". Если не читается, то было-бы просто класс. Нужно просто на шине между портом и "эмулятором" поставить "регистр с защелкой", который по сигналу ЗПВВ будет фиксировать состояние шины (до нового ЗПВВ), и пусть "эмулятор" считывает шину хоть с какой задержкой (утрирую), данные на шине будут актуальны значительно дольше.
А вот если ещё и читается чего-сь, вот тут уже сложнее...
Последний раз редактировалось KTSerg; 20.11.2014 в 18:32.
Подизасмил демку из моего предыдущего поста - из порта реально читается. Перекомпилировать пока не получилось (асм i8080 для меня как темный лес), но там сразу после записи в 15h порт следует чтение из 14h порта.
Реплика из http://www.avray.ru тоже не справляется
ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC
Да, посмотрел дешифратор адреса, ЧТВВ используется, значит для "ускорения" один выход - ставить два регистра
У AVR со схемы с первого сообщения, куча портов, можно один использовать для чтения из промежуточного регистра, другой для записи во второй регистр данных которые могут быть запрошены из эмулятора
Но всё снова упирается в наличие исходников, которые нужно подправить...
Кстати, есть ещё одно подозрение, а успевает ли эмулятор полностью обработать все операции с изменяемыми "регистрами" при их быстром (с минимальными интервалами) изменении? Организован ли в софте FIFO буфер для принимаемых значений регистров?
Может "артефакты" следствие того, что эмулятор не успев обработать изменение одного "регистра", уже получает значение для следующего "регистра"?
Последний раз редактировалось KTSerg; 23.11.2014 в 13:09.
Исходники раньше лежали на сайте Тимохи, теперь их нигде нет кроме как у меня, надо будет куда нить выложить...
на какую атмегу нужен исходник?
емуль написан на алгоритм билдере.
Последний раз редактировалось Ramiros; 23.11.2014 в 20:22.
Здесь можно скачать актуальные версии Virtual Vector (VV)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)