Последний раз редактировалось b2m; 12.10.2008 в 15:05.
Дешифрация пока будет отдельно для каждого устройства. Если же делать одноплатник со всеми изысками на борту, то естественно будет все ужиматься. И для простоты сборки и отладки будет так - каждая плата, законченное устройство. На эмуляции это не скажется.
И я так понял вы ужаснулись от размера диска, что захотели разделить странички с соотношением примерно 1 метр ПЗУ к 3 метрам ОЗУ
Вот мое предположение:
как думает b2m - сраницы с 0 по 63 - ПЗУ (1метр - для нужных прог и Ось хватит) страницы с 64 по 256 - ОЗУ (3 метра - все изващенные мечты смогут быть реализованы).
Посему оставляется порт 10 с двумя битами, ну и порт 11 без изменений. Бит блокировки соответственно за ненадобностью уберется.
Если я правильно выразил вашу идею, то если что перерисую.
P.S. А интересно, после ресета ведь ИР32 или РУ2 может и не содержать нули и мы с ПЗУ фиг стартанем.Вот как раз и нужен будет бит блокировки. При сбросе он принудительно выбирает ПЗУ с Осью, а там уже идет инициализация страничек и разрешение совместной работы. После этого рам и ром диски станут доступны в страничном режиме.
Последний раз редактировалось Mick; 12.10.2008 в 16:31. Причина: Добавлено сообщение
Может все-таки сделать как предложил b2m - пусть номер области выбирается не через отдельный порт, а двумя младшими битами номера порта (т.е. например порты 10h-13h)?
Может проще выбирать по одному самому старшему биту адреса и тогда ПЗУ и ОЗУ будут одинакового размера?
порт 10h - 00010000b - определяет № страницы для области 0000-3FFFh
порт 11h - 00010001b - определяет № страницы для области 4000-7FFFh
порт 12h - 00010010b - определяет № страницы для области 8000-BFFFh
порт 13h - 00010011b - определяет № страницы для области C000-FFFFh
Младшие два бита номера порта являются адресом либо в РУ2 либо в одной из предложенных тобой микросхем.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Хорошо, теперь я понял. Но в чем выигрыш, только в в простоте программирования и все. Но вот ответьте на вопрос. Если мы разделяем номера страниц на ПЗУ и ОЗУ(что вполне понятно), как вы собираетесь стартовать из ПЗУ. Ведь в РУ2 и ИР32 при сбросе устанавливаются наверняка не нули. И как вводить еще один порт для режима работы.
Или вот такое неудобное решение - чтобы в области 4000-7FFF всегда была доступна одна и та же страница. Но лучше уж выбирать страницу в 2 этапа, чем так.
Да, в три этапа не есть опимально. Можно попробовать тогда перенести порты с 10h...13h в адреса 40h...43h. И оставить 10h, как системный регистр управления. И будет 7 бит рулить стартапом.
Тогда ваши идеи остануться приделах.
Но все же оставлю соотношение 1 метр ПЗУ и 3 метра ОЗУ в максимальной конфигурации.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)