NEOPLASMA, ivagor, перечитал я "Вектор-User" -- грандиозные улучшения могли бы быть у Вектора, если бы появился турбо-плюс вариант, в части графики особенно. Но вернёмся к памяти. На странице 76 скана (в №18) упоминается, а на странице 85 (в №21) подробно описано, как его память работает. Да, программ для такой организации памяти не появилось, особого смысла делать также и правда нет.
Опишу пока, как сделано управление памятью сейчас в моём варианте. Я это подписал на схеме, но, думаю, повторить будет не лишним:
1. Т.к. на плате установлено 128кб, вся эта память распределена так:
Код:
Адреса в МС ОЗУ -- номер банка
00000h-07FFFh -- Банк 0
08000h-0FFFFh -- Банк 1
10000h-17FFFh -- Банк 2
18000h-1FFFFh -- Банк 3
2. При обращении Вектора к адресам 08000h-0FFFFh чтение/запись всегда осуществляется в Банк 3.
3. Переключение страниц памяти осуществляется через отправку байта в порт 13h. Младшие два бита отправленного байта определяют подключённый номер банка памяти, который будет использоваться при обращении Вектора по адресам 00000h-07FFFh, старшие биты отправляемого байта игнорируются. Соответственно имеем:
хххххх00 -- подключается Банк 0
хххххх01 -- подключается Банк 1
хххххх10 -- подключается Банк 2
хххххх11 -- подключается Банк 3
Самая фишка тут получается с банком 3, которая вышла сама собой -- на нижнюю половину памяти отображается верхняя половина, отличие при обращении к ним тут будет в том, что записываемые данные по адресам 00000h-07FFFh не будут попадать в память экрана, хотя будут влиять на область памяти 08000h-0FFFFh. Как это может пригодится -- пока не понятно, но забавно.
4. При сбросе (БЛК-ВВОД или БЛК-СБРОС) регистр порта 013h сбрасывается на нулевой банк памяти. Все Векторовские программы с такой памятью должны работать без проблем, если, конечно, в них случайно не встретится обращение к порту 013h.
В общем, всё просто... При наличии квази-диска можно менять верхние 32кб, а тут нижние, в результате получаем возможность полной замены всех 64кб памяти. Можно даже организовать некую многозадачность, исполняя три программы поочереди.