У каждой точки свой цвет. На каждую точку отдельный байт.
Если по 4 бита на точку, то цвета RGBI как в Спектруме. На экране 15 цветов. По 2 бита на каналы RGB.
Если 8 бит на точку, то цвета как у MSX2 256-color screen mode 8. На экране 256 цветов. По 3 бита на каналы RGB.
Если 8 бит на точку + ОЗУ палитры, то цвета как у MSX2+ Screen mode 10 & 11 Screen mode 12. На экране 256 цветов из палитры. По 5 битов на каналы RGB.
Для изображения на мониторе надо читать сразу по 4 или 8 бит на точку.
Можно по-другому. Читать сразу 8 байтов для 8 точек. Для этого надо 8 микросхем памяти. Но их можно использовать медленные. В которые записывать одновременно 8 цветов с учетом прозрачного цвета. В соответствуюющие прозрачному цвету микросхемы не записывать. То есть цвета накладыаются поверх старых без клешинга.
Если выводить на телевизор через SCART, то читать можно в 2 раза реже, то есть память можно использовть медленную. Но тут надо видеоконвертер для вывода на VGA.
Можно читать сразу по 8 точек. Записывать в 8 регистров сдвига.
При чтении по 1 точке регистры сдвига не нужны.
- - - Добавлено - - -
А аргументы есть ?
- - - Добавлено - - -
Кроме скорости нужно учитывать еще объем памяти для экрана. Для 256х256 точек надо 64 Кбайта. Для 512х256 надо 128 Кбайт.
Так как у нас экран 320х240 точек, то для него надо 128 Кбайт. А так как экранов 2, но надо 256 Кбайт. То есть хорошо подходит микросхема статики 256Кх16 бит. Так как у нас точки по 8 бит, то можно сделать второй слой. Или на точку выделить по 16 бит, тогда палитру не надо будет делать. Сразу HICOLOR.
- - - Добавлено - - -
Почитал про мэппер MSX2. Давайте для расширения ОЗУ сделаем так же:
Maximum size An MSX memory mapper contains up to 256 (2^8) blocks of 16 KiB (16384 bytes) each. Thus the maximum size for a mapper is 4 MiB (4096 KiB).
I/O ports It occupies a single cartridge slot, which can be a primary or secondary slot, internal or external. Its configuration is controlled via 4 I/O ports:
- A write to I/O port 252 (FCh) determines which block is accessible in address range 0000-3FFFh of the cartridge slot.
- A write to I/O port 253 (FDh) determines which block is accessible in address range 4000-7FFFh of the cartridge slot.
- A write to I/O port 254 (FEh) determines which block is accessible in address range 8000-BFFFh of the cartridge slot.
- A write to I/O port 255 (FFh) determines which block is accessible in address range C000-FFFFh of the cartridge slot.
Initialisation During bootup, the MSX2 bios initializes memory mapper(s) by writing to these I/O ports. Default configuration is as follows:
- Block 3 is selected for 0000-3FFFh area.
- Block 2 is selected for 4000-7FFFh area.
- Block 1 is selected for 8000-BFFFh area.
- Block 0 is selected for C000-FFFFh area.