На MSX ближе всего к спековскому режиму:
Screen2 (G1)(256x192, тайлмод 32х24 тайла, 2 цвета на тайл, 1 набор из 256 тайлов на весь экран, спрайтмод1 - 4 спрайта в строке, одноцвет, graphic1)
или Screen4 (G2,G3)(256х192, тайлмод 32х24, 2 цвета на строку тайла, 1 набор из 256 тайлов на каждую треть экрана, спрайтмод2 - 8 спрайтов в строке, многоцветные спрайты с операциями сложения цветов). graphic2 & graphic3)
Задача выглядит как инициализация видеопроцессора с загрузкой даты в нужные таблицы:
1. Установка видеорежима (запись указанных в таблице режима бит в регистры R0 и R1)
2. Установка адреса таблицы имен (регистр R2)
3. Установка адреса таблицы цветогенератора (регистры R3 и R10)
4. Установка адреса таблицы знакогенератора (регистр R4)
5. Загрузка данных по адресам:
5.1 Установка старших бит адреса в R14
5.2 Установка младших бит адреса, записью в порт #1 (0x99)
5.3 Установка оставшихся бит адреса и направления операции обмена данными, записью в порт #1 (0x99)
После установки адреса, запись производится отправкой данных в порт #0 (0x98), после записи байта, адрес инкрементируется автоматически.
Доступ к VRAM
Yamaha v9938 русская редакция с исправлениями и дополнениями (в разработке)
V9938-programmers-guide.pdf
PS: все выше относится к MSX2. В MSX1 памяти меньше, установка адреса происходит проще, старшие регистры адреса не используются, режимы совпадают, кроме наличия спрайтмода2.
TMS9918A_TMS9928A_TMS9929A_Video_Display_Processor s_Data_Manual_Nov82.pdf




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