Цитата Сообщение от fan
Внимание вопрос в студии - куда делся пятый и нулевой банк ??? %)
Иными словами почему получается линейно , а не так как принято обозначать ?...С мультиплексора идёт всего три адресные линии а не такая куча %) Но даже из этой таблицы мне не понятно почему пятый банк сидит во втором %)
Попытаюсь объяснить, если я сам понял, что требуется объяснить. То что будет сказано это мои догадки. Итак, первым делом вспоминаем историю, а точнее такие модели, как фирменные Spectrum-16 и Spectrum-48. В первом было 16Кб RAM-памяти по адресам #4000-#7FFF. Доступ к памяти имели проц и видеоконтроллер и память была состязательная. Потом появился апгрейд в виде модуля памяти на 32Кб и доступ в нее имел только проц, соответственно обращение к памяти #8000-#FFFF происходило быстрее, чем к #4000-#7FFF. В Spectrum-128 эту особенность учли и одна линейка RAM была состязательной (банки 4-7), а другая (банки 0-3) принадлежала исключительно процу.
К вопросу о том, почему 5 банка лежит там, где по логике должна находиться 1, с одной стороны смотри выше (экран находится в ней), а с другой стороны поставь два ряда цифр рядом и увидешь, что 1 соответствует 5.
Одним словом вместо 0 банки находится ROM, вместо 1 - 5, 2 банка находится на своем законном месте, ну а сама 0 банка находится в #С000-#FFFF, по простой причине - порт оверлея по сбросу обнуляется и биты D0-D2 становятся 000%.
Ну а в вопросе с SRAM - хочешь получить совместимость - повторяй особенности прототипов.