-
Notifications
You must be signed in to change notification settings - Fork 50
Display Peripheral
Saurabh Joshi edited this page Nov 16, 2025
·
1 revision
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.
MARIE.js Wiki | License
Copyright © 2018 Jason Nguyen, Saurabh Joshi, Eric Jiang, Felix Salim, Guido Tack, Monash University
Copyright © 2018 Jason Nguyen, Saurabh Joshi, Eric Jiang, Felix Salim, Guido Tack, Monash University
Documentation
MARIE Instructions Set with Opcode
Register Transfer Language (RTL)
More Reading
The Essentials of Computer Organization and Architecture-Chapter 4.2
Tutorials
MARIE.js Documentation