На данный момент используются первые три окна по 16Кб, последнее фиксировано (не считая, что через него производится доступ к экрану). К сожалению, общую область F000-F2FF, которая теоретически тоже должна переключаться, приходится постоянно (вместе со стеком в адресах EB00-EFFF) перекидывать в область задачи B800-BFFF и обратно. Аналогично мы делали и для ZX.
Основные проблемы:
- в окно C000-FFFF нельзя включить произвольную 16Кб страницу
- ядро вместе с данными примерно 44Кб (плюс 2Кб общая область), пока помещается в три страницы, но на область кучи остаётся очень мало места (хотя я не знаю, используется ли она сейчас)
Что можно сделать. Можно было бы перенести общую область в первое окно 0000-3FFF, тогда не надо было бы копировать её туда-обратно при переключении процессов, но тогда придётся располагать ядро с адреса 4000, т.е. ему достанется максимум 48Кб. Хватит ли?
Алан вроде бы предусмотрел расположение ядра в разных страницах (есть модифицированный линковщик и обработчик собранного модуля, который делит код на страницы), но я пока не смотрел, как там всё делается.





Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
