This is an 1 bit per pixel mode with attributes at 4.5 cycles / pixel, what sets it apart from the slightly higher resolution Mode 40/41/42 group are two important things:
- RAM tiles! This mode can mix ROM and RAM tiles like most modes do for sprites.
- It has 4bpp attributes without the Palette Buffer, so 256 bytes of RAM saved.
There is no sprite engine yet, due to that this is 1bpp, sprites need different approaches. Much like on the ZX Spectrum or a Plus4 High-Res mode game. This mode indeed could be used for Spectrum or possibly Plus4 ports. Otherwise here is a concept of what I envision on this:
The source is up in my GitHub fork: https://github.com/Jubatian/uzebox/tree ... ideoMode45
RAM layout is interesting as due to the tight constraints each row has to take a 256 byte memory bank, so 2K of RAM is used for the RAM tiles. However as the demo shows, it is perfectly possible to interleave Video RAM or Attribute RAM rows into it if less than 256 RAM tiles are needed (the implemented kernel functions still make it easy to plot stuff if speed is not a huge concern).
For Attributes I already provided a 3bit FG + 3bit BG option (8 FG colors and 8 BG colors), which can also be exploited further by appropriate palettes to fine-tune memory usage by freeing up bits within the Attributes RAM (for example to store game state related to the tile, passibility, things like that).
My goal, like the concept art shows, is an RPG, one which loads most of its data from SD card as needed. With this mode individual areas finally could fit well while the versatility of the mode, especially attributes, allow more diversity than higher color modes.
Maybe you might also see some uses for this mode, so anyway, here it is, yet another possibility!