Enhance documentation on screen modes and memory layout#280
Enhance documentation on screen modes and memory layout#280indigodarkwolf wants to merge 3 commits intomasterfrom
Conversation
Added information about video memory addresses for text and bitmap modes.
Added details about tile mode dimensions for text modes.
|
Could it be an idea to also add a link to the memory map, instead of only mentioning their start addresses without any context? https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2009%20-%20VERA%20Programmer's%20Reference.md#vram-address-space-layout |
Added references to relevant commands for editing text and bitmap data in screen modes.
|
How does that look? |
|
Looks good. One thing that may be still missing though, is which layer is used for bitmap and charset by default. E.g layer 0, rendered first, with 320x240 bitmap, and layer 1 with a 80x60 (128x64) tilemap for characters, rendered after and on top of bitmap, below sprites. (This is probably not accurate, please replace with the correct explanation). This could e.g be added to the vram memory map, and/or to the SCREEN command documentation. Sorry for feature-creeping your documentation effort though, I guess this can also be added later if relevant. |
mooinglemur
left a comment
There was a problem hiding this comment.
I think we can have the same effect (repo-relative) without hardcoding GitHub URLs. In fact within the same document, you don't even need the base, you can just start it with the anchor #.
| * [CHAR](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#char) | ||
| * [COLOR](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#color) | ||
| * [LOCATE](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#locate) | ||
| * [POS](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#pos) | ||
| * [TATTR](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#tattr) | ||
| * [TDATA](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#tdata) | ||
| * [TILE](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#tile) |
There was a problem hiding this comment.
| * [CHAR](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#char) | |
| * [COLOR](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#color) | |
| * [LOCATE](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#locate) | |
| * [POS](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#pos) | |
| * [TATTR](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#tattr) | |
| * [TDATA](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#tdata) | |
| * [TILE](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#tile) | |
| * [CHAR](X16%20Reference%20-%2004%20-%20BASIC.md#char) | |
| * [COLOR](X16%20Reference%20-%2004%20-%20BASIC.md#color) | |
| * [LOCATE](X16%20Reference%20-%2004%20-%20BASIC.md#locate) | |
| * [POS](X16%20Reference%20-%2004%20-%20BASIC.md#pos) | |
| * [TATTR](X16%20Reference%20-%2004%20-%20BASIC.md#tattr) | |
| * [TDATA](X16%20Reference%20-%2004%20-%20BASIC.md#tdata) | |
| * [TILE](X16%20Reference%20-%2004%20-%20BASIC.md#tile) |
| * [FRAME](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#frame) | ||
| * [LINE](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#line) | ||
| * [OVAL](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#oval) | ||
| * [PSET](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#pset) | ||
| * [RECT](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#rect) | ||
| * [RING](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#ring) |
There was a problem hiding this comment.
| * [FRAME](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#frame) | |
| * [LINE](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#line) | |
| * [OVAL](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#oval) | |
| * [PSET](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#pset) | |
| * [RECT](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#rect) | |
| * [RING](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#ring) | |
| * [FRAME](X16%20Reference%20-%2004%20-%20BASIC.md#frame) | |
| * [LINE](X16%20Reference%20-%2004%20-%20BASIC.md#line) | |
| * [OVAL](X16%20Reference%20-%2004%20-%20BASIC.md#oval) | |
| * [PSET](X16%20Reference%20-%2004%20-%20BASIC.md#pset) | |
| * [RECT](X16%20Reference%20-%2004%20-%20BASIC.md#rect) | |
| * [RING](X16%20Reference%20-%2004%20-%20BASIC.md#ring) |
| * [RECT](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#rect) | ||
| * [RING](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#ring) | ||
|
|
||
| Direct writing of the VERA's memory can be performed via [VPOKE](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#vpoke). |
There was a problem hiding this comment.
| Direct writing of the VERA's memory can be performed via [VPOKE](https://github.com/X16Community/x16-docs/blob/master/X16%20Reference%20-%2004%20-%20BASIC.md#vpoke). | |
| Direct writing of the VERA's memory can be performed via [VPOKE](X16%20Reference%20-%2004%20-%20BASIC.md#vpoke). |
|
Please ignore my previous comment regarding increasing the scope of this PR to also document which layer is used for which screen mode. I have included this in #286 |
Had a conversation with a user on Discord after they complained about the difficulty in finding documentation regarding the proper way to VPOKE memory for different SCREEN modes. The heart of their problem seemed to be understanding that the tilemaps from SCREEN all start at $1B000, followed by understanding the VERA memory layout for those tilemaps.