Если у кого-нибудь есть карта адресов "Крохи", выложите, пожалуйста.
Если у кого-нибудь есть карта адресов "Крохи", выложите, пожалуйста.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
что есть карта адресов?
вот из конфига emu:
mm : MemMap {
map[0][0000-DFFF]=game
map[0][E000-EFFF]=mem1[000]
map[0][F000-F6FF]=00
map[0][F700-F7FF]=sysreg
}
те game - ПЗУ, mem1 - ОЗУ, sysreg - клавиатура(чтение из этой области) и динамик(запись в эту область)
плюс у Крохи RST7 задействовано прерывание.
Здесь ее еще обсуждали и изучали...
Reobne (23.07.2019)
Ссылки на схему и пзу протухли. может как-то увековечить их?
Zx-Evolution rev.c
ZS Scorpion 1024K rev.2013
По схеме у меня получилась другая картина:
0000 - E7FF - ROM GAME
E800 - EFFF - RAM
F000 - F7FF - управление
F800 - FFFF - пока не понял
Используя первые два диапазона адресов, запустил схему (т.е. увидел стартовое меню), правда, пока что без прерываний, с которыми ещё не разобрался (в частности, с INTE).
- - - Добавлено - - -
Да, вроде бы, уже сделано. Насчёт веков не знаю, но сейчас есть: http://alemorf.ru/comps/kroha/index.html
согласен, так правильнее, ОЗУ на 2КБ у Крохи, те диапазон 000-7FF.
Да и по схеме, на дешифраторе для адресов выше С000 (А14=1 и А15=8) нарезается 8 выборок по 2КБ, те E800 - EFFF - ОЗУ и F000 - F7FF - управление.
Тк схемы картриджа ПЗУ нет(я не встречал), то непонятно как выбирается ПЗУ, но на картридж заводятся 3 выборки, E800 - EFFF, F000 - F7FF и F800 - FFFF. На первых двух выборках ПЗУ должно отключаться, а вот с третьей вопрос.
Схема запущена в реале?
Не могу понять, как работает прерывание, что за сигнал /BLK, где он формируется?
На вход INT(14) процессора сигнал прерывания подается с выхода элемента D15.3 на котором суммируются сигналы прерывания от КСИ (Кадровый Cинхро Импульс) и внешнего сигнала прерывания /INT, подаваемый с разьема расширения (7 вывод разьема X4).
Сигнал /BLK является выходным сигналом с разьема расширения X4 (16 вывод).
Низким уровнем /BLK отключает дешифратор D17, что позволяет с внешнего модуля блокировать выборку внутренних модулей памяти и портов, для исключения конфликта на системной шине.
На софтядре Т80 (режим 8080) не могу завести прерывание. Без прерывания компьютер запускается нормально, но часы не идут и нет реакции на управление (хотя, возможно, с управлением я что-то не так сделал). Делаю схему прерывания по принципиальной схеме - компьютер запускается, но старт такой, будто в РС случайный адрес - может запуститься игра (с порченным изображением), может появиться надпись "конец игры"... Я даже схему тактирования нарисовал в схемном вводе, проверил частотомером - все частоты правильные. Буду ещё пробовать другое ядро, может, с Т80 что-то не так в плане прерывания...
а в этом софтядре как обстоит дело с словом состояния STATUS и, соответственно, ножкой SYNC, которая в Крохе задействуется, чтобы из слова состояния вытащить подтверждение прерывания?
Кнопки в прерывании опрашиваются, насколько я помню из схемы в протеусе.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)