Вот помаленьку пишу прошивку и мысль посетила. Ведь в карте 256кб ОЗУ и я подумал, а что не разбить эту память на 16кб страницы и отобразить их как бы на страницы порта 7FFDh. Потом добавлю порт видеостраниц и можно будет любую страницу порта 7FFDh использовать как видео.
Итого имеем 16кб страницу, всего страниц 16. Так как карта в первую очередь расчитывается под Феникс, то задействуются биты D0,D1,D2,D7. Бит D3 служит для того, какая страница памяти задействована в выводе видео 5 (с адреса 4000h) или 7 (с адреса С000h). Так вот, чтобы не терялась совместимость, этот бит является также D0 битом порту видеостраниц. Тоесть при записи в порт видеостраниц, автоматом бит D0 будет записываться в D3 порта 7FFDh. Ну и наоборот.
Таким образом при запись в область памяти 4000...7FFFh будет записано в 5 видеостраницу, а при записи в С000...FFFFh, то в зависимости от содержимого страниц порта 7FFDh.
Поток сознания вроде иссяк, надо все это зарисовать.![]()




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