
Сообщение от
barsik
Если этого не сделать, то по адресу A002 байт не изменяется. Предположительно это не вина конфиг-файла, а дефект самого эмулятора.
Вряд-ли. Скорее всего, ты просто скопировал строку map[0][A000-BFFF]=tim.data, чтобы вставить map[0][F000-F7FF]=tim.data в нужное место, а исходную строку удалить забыл. Если есть перекрывающиеся области для одной и той же карты, поведение эмулятора не определено.

Сообщение от
barsik
Но я по аналогии с другим участком ОЗУ использовал следующую строку
map[0][8400-BFFF]=mem8400[0000]
Предполагаю, что цифра в квадратных скобках указывает номер конфигурации, в котором этот кусок ОЗУ "виден" в адресном пространстве. В связи с этим домыслом появились следующие вопросы.
Нет, в скобках опциональное смещение к области памяти, т.е. чтобы ссылаться на эту память не от начала, а со смещением. Например, файл шрифта symgen.bin грузится полностью, но используется часть со смещением 0C00h. Таким образом mem8400[0000] и просто mem8400 эквивалентны.

Сообщение от
barsik
Как задать управляющий порт (адрес в ОЗУ) и управляющие биты в этом порту, которые задают конфигурацию памяти?
В частности, мне надо, чтобы бит D0 порта C дополнительного ППА D14 (который у меня не по адресу A000, т.к там ОЗУ) управлял страницей ОЗУ в 15 Кб, включаемой в окне 8400...BFFF.
К памяти можно адресоваться через окно (их может быть несколько, каждое со своим размером). Примерно так:
Код:
mem8400 : Memory {
size=8000
frame[0].size=4000
frame[0].page=D14.portC[0]
}
D14 : K580ww55 {
}
...
map[0][8400-BFFF]=mem8400.frame[0]
map[0][F000-F7FF]=D14.data
...
Размер страницы я тут увеличил до 4000h, но это не принципиально. Дополнительная ВВ55 подключена к области F000-F7FF.

Сообщение от
barsik
Можно ли программно управлять фонтом в ПЗУ знакогенератора?
Можно. Для этого память, где расположен шрифт, нужно подключить тоже через MemMap. Пример есть в конфиге Апогея.