Основная идея была такова: На плате имеется 512кБ памяти,которые имеют схемы управления по записи и чтению ЦП, регенерации и вывода данных в видео адаптер.
Таким образом, для того, чтобы добавить ещё 512кБ (условно назовём банк ОЗУ), необходимо для них организовать те же схемы управления, а также обеспечить выборку между двумя банками памяти. Учитывая,что видео находится в банке памяти старших адресов, то можно сделать вывод, что банку памяти младших адресов не требуется схема вывода данных в видео. Значит, для того, чтобы упростить схему можно вновь устанавливаемую память сделать в области младших адресов, а та,что на борту -в области старших, и выборку между ними производить по выводу А19. Далее можно несколькими способами проводить манипуляции с памятью,для того чтобы можно было делать выборку между банками.
В моём случае был выбран способ, когда схема регенерации и выбора адреса остаётся общей, но схему ввод и вывода данных приходится делать раздельной.
Таким образом необходимо сигналы записи в память старшего и младшего байтов разделить ещё на 2 каждый - для старего и младшего банка памяти соответственно, с выборкой по А19. Аналогично с сигналами вывода данных из ОЗУ на шину данных ЦП, т.е.сигналы разрешения вывода регистров D77 и D78.
И ещё остаётся доработать вывод сигнала MA8 так, чтобы запись в видео память происходила не в последие 32 кБ банка ОЗУ, а уже на положенное место.
На рис.1(файл 1) и рис. 2(файл 2) представлено распределение памяти для версии 512кБ и 1024кБ, где обозначены, в том числе, области памяти, при обращении к которым ЦП, будут присходить обращения к видео памяти. В файле 3 показано, как происходит адресация к памяти в режим регенерации (одновременно с адресацией для вывода данных на видеоадаптер)и в режиме обращения ЦП к ОЗУ.




Ответить с цитированием