Mick, если ты часами гоняешь тест, то 4-5 или хотя бы 3 намного лучше 2го в плане выявления возможных проблем.
Вид для печати
Mick, если ты часами гоняешь тест, то 4-5 или хотя бы 3 намного лучше 2го в плане выявления возможных проблем.
С 1531ЛН1 Днепр уже как 2 часа с РУ5Г отработал без сбоев.
- - - Добавлено - - -
Я как раз до обеда решил выяснить как Днепр 9010 будет себя вести с РУ5Г.
После обеда прошью новый тест
- - - Добавлено - - -
Прошил новую версию теста, идет непонятное мерцание, как будто переключаются экраны или сначала напечатает, а потом стирают.
Между такими экранами вижу что частоту показывает, но до часов еще не доходит
И так все процы. Похоже что то не так с тестом
В emu работает, поэтому я пока склоняюсь к особенностям zx8080. Есть два варианта:
1. Особенности обработки прерываний. Мельком я про это уже писал, но тогда мысленный эксперимент в худшем случае приводил к уменьшению полезного числа тактов в кадре без фатальных последствий. Пока не представляю, как воспроизвести описываемое поведение теста в эмуляторе.
2. Тест наткнулся на какие-то ранее не встречавшиеся проблемы с озу. 1 и 2 (и 3) версии теста только пишут в озу и читают оттуда, а 4-5 еще и исполняют код из озу. У 8080, в отличие от z80, циклы чтения из озу и выборки команды принципиально не отличиаются, но возможно всплыла какая-то мелкая но критичная деталь.
Если можешь попробовать предыдущие варианты, то:
1. Если работает 3, но не работает 4, значит проблема в исполнении кода из озу
2. Если работают 3 и 4 (и не работает, как уже известно, 5), то проблема в прерываниях
3. Если не работают 3-5, то идей пока нет
Я бы сейчас зашил бы 3 и 4 если бы -> Upd 17.11.2020: Убрал 3 и 4 версию, т.к. выложил пятую :)
Вернул 3 и 4 версии.
Ситуация довольно однозначная, проблема с выполнением кода из озу (с чтением кода команд, как я понимаю). Могу только предположить, что хотя на бумаге циклы чтения кода команды и чтения данных одинаковы, но в реале какие-то сигналы (адрес, DBIN, ...) формируются в цикле выборки команды с другими задержками. Оригинальных предложений нет, разве что попробовать уменьшить частоту до 3 МГц или подумать над введением торможения. Портированный NEO SPECTRUMANом бейсик в полном варианте тоже так работать не будет, т.к. у него часть кода в озу.
у бейсика и часть переменных в озу и без меня
без которых он работать не будет
а так он и с рабочей памятью работать не будет
есть подозрение что еще и что то пишотсо не туда куда надо ко всему прочему
и программа повреждается в процессе выполнения...
но часть таки ж в пзу
например там загружалка
с которой можно пытаться что нибудь грузить в экран
для *****го print по моему уже нужны процедуры из озу
На данный момент данные из озу читаются нормально, проблема только в чтении кодов команд из озу.
- - - Добавлено - - -
Чтобы не зацикливаться на одной версии - возможно проблема с чтением кодов команд связана не с временными различиями, а с логикой формирования каких-то сигналов, но мне самому этот вариант представляется менее вероятным, там вроде и ошибиться особо негде.