Display Peripheral - MARIE-js/MARIE.js GitHub Wiki
MARIE.js has a 15-bit RGB 16x16 display as an output device, which can be accessed by clicking on "Display" tab on the right side. This allows you to draw pixels to screen using assembly code.
The display reads from the last 256 memory cells, that is between addresses 0xF00 and 0xFFF inclusive.
| Memory address | Row number | Column number |
|---|---|---|
| 0xF00 | 1 | 1 |
| 0xF01 | 1 | 2 |
| ... | ... | ... |
| 0xF0F | 1 | 16 |
| 0xF10 | 2 | 1 |
| 0xF11 | 2 | 2 |
| ... | ... | ... |
| 0xF1F | 2 | 16 |
| ... | ... | ... |
| ... | ... | ... |
| 0xFFF | 16 | 16 |
Each memory cell reads 5 bits for each colour channel, with the most significant bit unused.
| Unused | Red | Green | Blue |
|---|---|---|---|
| 1 bit (most significant bit) | 5 bits | 5 bits | 5 bits (least significant bits) |
This feature is to help explain memory-mapped I/O, which is one of two ways to connect between CPU and peripheral device.