Тест RAM-диска точно не работает, посмотрю всё строки связанные с обращением к дополнительной памяти. Как советовал Ewgeny7 попробую инвертировать clk в соответствующих процессах.
Вид для печати
Тест RAM-диска точно не работает, посмотрю всё строки связанные с обращением к дополнительной памяти. Как советовал Ewgeny7 попробую инвертировать clk в соответствующих процессах.
Специалист на u10 готов. Правда выводимый звук в режиме МХ очень слабый. Вроде, придерживался схемы от Шевцова. Использовал исходники 8253 от ПК Вектор на ПЛМ от svofski.
Напоминаю ещё раз клавиши управления:
Scrool Lock - Тест вкл./выкл.;
Pause или Num Lock - режим: Стандарт/МХ;
Delete - сброс;
Alt - РУС/LAT;
Shift -НР.
Остальные клавиши как в эмуляторе от b2m.
Зашитые коды в память плисины: Тест-М, Тест_МХ, BIOS Loader V.5 HardWareManа (для загрузки образа ПЗУ (BIOS.BIN) с SD карты) и RAMFOS с ROM-диском пользователя с тестовыми программами.
Всё - звук в МХ появился, после переделки ROM-диска пользователя представлю прошивки.
Проект потом можно будет портировать на u8, u9 и другие платформы. Минимальные требования - 512 кБайт SRAM ОЗУ, от 4 до 51 кБайта для прошивок, не менее 2200 ячеек. Я собираюсь перенести проект на свою плату.
Пока нашлась ещё одна работа для u10 (какой универсальный конструктор!), а именно - PS/2 адаптер для Специалиста. Идея такова. Взять эмуляцию 8255 и PS/2 драйвер от отлаженной выше конструкции и засунуть в отдельную ПЛИС в виде небольшой платы вставляемой в панельку К580ВВ55 ППА клавиатуры. Т.к. проект занимает около 180 ячеек, то будущая плисина должна быть более вместительная чем EPM7128SLC84, например EPM240T100C5 с 3,3 вольтовым питанием. Вот схема.
http://s017.radikal.ru/i440/1201/73/ca77c3f35a81t.jpg
u10 Reverse будет отладочной платкой адаптера. Жаль что на ней не хватает ног GPIO для всех входов/выходов 8255 (необходимо 19). Схема формирует сигнал инверсного сброса для подачи на Специалист. Планирую также ввести вход для переключения режима Стандарт/МХ для переключения раскладок верхней строки функциональных клавиш клавиатуры Специалиста. Присутствует также пищалка для вывода звука и для работы требуется внешний кварцевый генератор на 50 МГц (вернее 32 МГц - от такой частоты работает драйвер клавиатуры в самом Специалисте_МХ_FPGA).
Жду пожеланий, советов.
Если что, вот проект под u10, назначение некоторых пинов потом изменится. Пока паяю переходник для подключения к реальному Специалисту_МХ2.
Проект почти доделан. Может использоваться для портирования на другие DevBoard. Таймер подключен, RAM - диск увеличен до 512 кБайт.
Для U10 назначение задействованных GPIO такового:
Звук - использован зуммер от материнских плат, подключён через электролит 10 мкФ (+ - на плату) - пин #128 (GPIO2).
Красный светодиод - Operate - работа с SD картой - пин #126 (GPIO4).
Зелёный светодиод - Insert - работа с SD картой - пин #121 (GPIO7).
Светодиоды подключены катодами через резистор 1 кОм. Аноды - на +5 В.
После большого перерыва опять зашил проект Специалиста_МХ на u10. Включил ... и забыл назначенные мною клавиши на ps/2 клаве. Посмотрел свою же шпаргалку. Да звук в МХ через таймер как-то не очень. Буду искать другие исходники таймера, экспериментировать с выводом звука.
Хочу подключить к u10 через 74LVC245 Flash-диск на ВВ55 для Специалиста_МХ2 от HardWareMan'а и загружать игры под стандартный Специалист с диска.
До этого DevBoard u10 хотел задействовать в PS/2 адаптере. Ничего не вышло, теперь знаю почему. Не было развязки между 5-ти вольтовыми выводами ВВ55 и самой ПЛИС. Теперь схема адаптера будет такой. ПЛИС (EPM240T100) надыбал, нужно заказать плату - только в новом году.
http://photo.qip.ru/photo/fifan72/20.../212716713.gif
Мне нужно более 170 ячеек для эмуляции. Все подпрограммы опроса PS/2 клавиатуры взяты мною с данного проекта темы. Вот исходники, если нужно.
Цитата:
Fitter Status : Successful - Sun Dec 09 15:39:42 2012
Quartus II Version : 9.1 Build 222 10/21/2009 SJ Full Version
Revision Name : ps2spets_epm240
Top-level Entity Name : ps2spets
Family : MAX II
Device : EPM240T100C5
Timing Models : Final
Total logic elements : 171 / 240 ( 71 % )
Total pins : 25 / 80 ( 31 % )
Total virtual pins : 0
UFM blocks : 0 / 1 ( 0 % )
На u9 есть SRAM, нужно только пины переназначить.
У меня сейчас тоже нет девятки :(
Евгений, на форуме был " Мануал по проектированию ZX-Spectrum на ПЛИС (девборда U9_Reverse)". - не могу найти, вроде вы автор,
может кинете ссылкой или мануалом. Попробую разобраться в переназначении пинов.
- - - Добавлено - - -
Судя по схемам U9 и U10 переназначать пины надо не только SRAM, но и клавиатуры, VGA и SD карты.
Если мне не изменяет память, там еще и SRAM за пределами 512 Кб используется
В последней редакции на u10 используется SRAM на 1 МБайт. Хотя это кажется многовато, но это сделано для простого прямого доступа ко всему ОЗУ. Поясню:
1. стандартное ОЗУ Специалиста 48 кБайт;
2. видео ОЗУ цвета 16 кБайт;
3. RAM-диск на 512 кБайт.
1 и 2 достаточно для "стандартного" Специалиста, 3 добавляется в Специалисте_МХ. Для лучшей адресации под 1 и 2 отведено по 64 кБайт (лишнее не используется).
Для повторения исходников от u10 для "стандартного" Специалиста первых двух страниц достаточно. И под него сделан считыватель SD карты от HardWareMan'а. Под МХ пока ещё SD карта не подключена. Если нужен ещё и Специалист_МХ, то RAM-диск можно сократить до 256 кБайт. Напомню, что на u10 "стандартный" и МХ переключаются с клавиатуры.
Т.е. микросхему SRAM 512х8 U9 можно использовать без переделки программы?
- - - Добавлено - - -
В исходниках U10 ps2_clk - PIN_75
ps2_data - PIN_74
А на принципиальной схеме U10 - наоборот. Это правильно?
На схеме U10 сигнал SRAM_CE0# идет с 49 пина, а в U9 - сидит на земле через R5.
Как с этим быть?
За давностью лет точно не помню, но на схеме вроде как перепутаны сигналы были...
http://zx-pk.ru/attachment.php?attac...2&d=1447017410
- - - Добавлено - - -
Это само собой разумеется. Нужно будет менять все лапы.
Сначала определите что Вам нужно - Специалист или Специалист_МХ?
Да, извини, это я хожу по удаленным сообщениям, как по живым...
Вот тут забирай.
В софте для работы с sd рекомендую исправить процедуру SHL_D (b2m давно уже про это написал, и я поправил в т.ч. для специалиста, но только в версиях с картинками). Надо заменить фрагмент
наКод:MOV A,C
ADD A
MOV C,A
- - - Добавлено - - -Код:MOV A,C
ADC A
MOV C,A
Выложил исправленный rom (и hex) и jic. Реверса у меня нет, поэтому jic я не проверял, т.ч. тут без гарантий или можно подождать пока MVV перекомпилирует.
Удвоение (арифметический сдвиг влево) двойного слова [BCDE]?
Ага. После написания 6-ти строчек скопировал их, регистры поменял, а про ADC забыл :)