Интересующимся вектором, плисами и zpu предлагаю обратить внимание на задачу замены сервисного проца в v06cc с 6502 на zpu. Не то, чтобы это очень надо, но возможно будет полезно для облегчения доработки и модификации сервисного софта
Интересующимся вектором, плисами и zpu предлагаю обратить внимание на задачу замены сервисного проца в v06cc с 6502 на zpu. Не то, чтобы это очень надо, но возможно будет полезно для облегчения доработки и модификации сервисного софта
6502 там гудэнаф. Единственная возможность чего-то выгадать — это использовать меньше blockram за счет более компактного кода. Но кому хоть раз его не хватало, если даже в самый дохленький Циклон все и так помещается?
Больше игр нет
Ты думаешь код zpu компактнее кода 6502? Я то из других побуждений, чтобы можно было использовать более современный компилятор. Мне памяти во втором циклоне не всегда хватало. Было бы здорово немного ужать, чтобы по крайней мере проект в полной конфигурации компилировался быстрее за счет отказа от памяти в LE
Я уверен в этом. На 6502 руками плетут чудеса может быть, но cc65 генерит очень рыхлый код.
Но да, для ZPU можно писать на нормальном современном C. Что до C++, что в gcc 3.8 сейчас C++ не назовут, но теоретически есть непроверенный gcc 4.7, а это уже все-таки c++11. Только применительно к Вектору все это такого же уровня полезности, как смена логотипа фирмы.
Больше игр нет
Переставил в PLL частоту кварца на 50МГц, удалил все внутренние папки проекта "wxeda", пересобрал, залил.
Перехват шины адресов показывает, что программа после "ввод"-а (чаще всего) крутится в диапазоне адресов 0400h...0440h.
Это адреса работы с дискетой.
Но экран остается чёрным, только меню появляется если нажать "ScrL".
После установки частоты 50МГц, меню съехало в самый низ экрана. Зато монитор показывает, что картинка 31.2КГц, 50Гц (а не 52Гц как раньше).
Ещё меня интересует как должно вести себя меню?
При нажатии клавиш курсора, выделение смещается в нужную сторону, но когда клавиша отпускается, то выделение сразу возвращается на "DISC". Это правильно, или при отпускании клавиш курсора, выделенным должен оставаться выбранный пункт?
- - - Добавлено - - -
Заменил загрузчик на свой тест Видео-области ОЗУ...
Вывел порт "ПУ" на 8-ми сигментник.
Тест показал, что не исправны все микросхемы ОЗУ во всех банках.
Не знаю, как загрузчик проскакивает проверку ОЗУ. Возможно запись и сразу чтение проходит нормально, а длительное хранение даёт сбой. Значит с регенерацией SDRAM нужно разбираться...![]()
Я бы посмотрел, как хороший контроллер встраивается в синхронную систему.
KTSerg, меню должно возвращаться на центр при отпускании стрелки, это правильно.
Судя по твоим симптомам, у тебя с PLL фарш cat5. Если там нет нормальной частоты основной системы, то и SDRAM-ный клок скорее всего левый. Я бы оставил сейчас твой тест, поскольку он надежно выявляет проблему, и разобрался внимательно со всеми частотами. Когда они встанут на место, если память по прежнему работать не будет, можно попробовать подобрать частоту SDRAM-ного клока, она может оказаться критичной, или повставлять IDLEы и-или REFRESHы. В Шадках например посмотри сколько REFRESH-ей. А оригинал почему-то обходится существенно меньшим их числом. Отчего так я не знаю наверняка. Рефрешей должно быть не меньше заданного числа на заданный интервал. Например у моей микросхемы их должно быть 4096 штук на 64 мс.
Больше игр нет
Что касается числа тактов в состоянии REFRESH. Это определяется параметром tRC, от команды REFRESH до ACTIVE должно пройти не меньше tRC времени. Если говорить про контроллер в v06cc, то там к тактам с названием REFRESH надо еще прилюсовать IDLE, т.к. путь от REFRESH к ACTIVE будет лежать через него. И все равно может быть легкий оверклок, по крайней мере я лично грешен.
Если есть подозрение именно на SDRAM, то можно попробовать увидеть картинку загрузчика и без SDRAM. Патчим загрузчик, чтобы не проверял память. Отрубаем в проекте все лишнее (fdd). По адресам C000-DFFF ставим двухпортовое внутриплисовое озу (пишет и читает проц и читает видеоконтроллер). Если все стало нормально, то разбираемся с SDRAMом или контроллером SDRAMа.
KTSerg(05.12.2020)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)