Device Type: 0x0003
To enable the keyboard, it must be initialized by assigning it an interrupt using message 1.
When any key is pressed, keyboard will raise it’s assigned interrupt. The interrupt handler should then send message 256, to which they key will be pushed to ES.
Device Type: 0x0002
Text only display, 80 columns by 25 rows. Screen buffer is a contiguous sequence of bytes, starting in top left corner, whole rows one after another.
The display automatically updates to reflect contents of the memory.
To enable the screen, it must be initialized by sending it a message. P0 - memory area which display should use (2000 bytes)
This api is a work in progress. It is not complete and is being changed regularly. This draft notice will be removed and document given version once it is finalized.
CPU API typedef struct cpu_t cpu_t; Opaque type representing cpu instance.
cpu_t* cpu_new(); void cpu_free(cpu_t* cpu); Create new CPU instance with cpu_new and free it using cpu_free().
bool cpu_load(cpu_t* cpu, FILE* in); Load program from file into CPU memory.