This project has moved. For the latest updates, please go here.

Overview

Display

The display is a 32 x 32 matrix drawn using SVG rectangles that are mapped to a palette. The palette contains 256 colors and is built up by iterating from 0 to 5 for Red, 0 to 6 for Green, and 0 to 5 for Blue, then indexing those into various intensities. The 0 palette position is pure black, and positions 252 - 255 are shades of gray with 255 pure white.

The display is mapped to memory address $FC00. The bytes go left to right starting with the upper left corner, so as you place bytes in the memory range sequentially the display will draw left to right, top to bottom.

Memory overview

Memory is a standard 64 kilobytes with some zero-page functionality. All memory is free for software except the special display bank mapped at $FC00.

Special Memory Locations

$FD - (todo) read-only (writes ignored) - random number generator
$FE - (todo) read-only (writes ignored) - keyboard buffer - subsequent reads will generate key presses from a buffer, 0 read signifies no key
$FF - (todo) read/write console buffer - subsequent writes will buffer output for the console. Output will be buffered until a line feed, carriage return, end of transmission, or null is received (ASCII) and then it will be flushed. ASCII output only will be excepted, the high order bit will be ignored.

Last edited Jul 14, 2013 at 9:54 PM by jeremylikness, version 1

Comments

No comments yet.