very early wip
This commit is contained in:
parent
408d0267ad
commit
d5ceb5cdbe
|
@ -0,0 +1,88 @@
|
|||
.\" Manpage reference for varvara.
|
||||
.\" by Eiríkr Åsheim
|
||||
.\" Contact d_m@plastic-idolatry.com to correct errors or typos.
|
||||
.TH varvara 7 "14 Nov 2024" "1.0" "Varvara Reference Guide"
|
||||
.SH NAME
|
||||
varvara \- virtual machine for the Uxn CPU
|
||||
.SH DESCRIPTION
|
||||
Varvara is a virtual machine for the Uxn CPU. It provides devices that allow
|
||||
ROMs to perform effects such as I/O, drawing to the screen, playing sounds,
|
||||
and more.
|
||||
|
||||
.SH DEVICES
|
||||
Each device consists of 16 ports, each of which are one byte of device memory. Data can be read from ports with \fBDEI\fP and written to them with \fBDEO\fP.
|
||||
|
||||
.SH TERMS
|
||||
|
||||
.SS Devices
|
||||
|
||||
.SS Ports
|
||||
|
||||
.SS Vectors
|
||||
|
||||
.SS Banks
|
||||
|
||||
.SH DEVICE LAYOUT
|
||||
0x00 \fBSystem\fP 0x80 \fBController\fP
|
||||
0x10 \fBConsole\fP 0x90 \fBMouse\fP
|
||||
0x20 \fBScreen\fP 0xa0 \fBFile 0\fP
|
||||
0x30 \fBAudio 0\fP 0xb0 \fBFile 1\fP
|
||||
0x40 \fBAudio 1\fP 0xc0 \fBDateTime\fP
|
||||
0x50 \fBAudio 2\fP 0xd0 \fB(reserved)\fP
|
||||
0x60 \fBAudio 3\fP 0xe0 \fB(reserved)\fP
|
||||
0x70 \fB(unused)\fP 0xf0 \fB(unused)\fP
|
||||
|
||||
.SH SYSTEM (0x00)
|
||||
|
||||
0x00 \fBvector*\fP 0x08 \fBred*\fP
|
||||
0x01 0x09
|
||||
0x02 \fBexpansion*\fP 0x0a \fBgreen*\fP
|
||||
0x03 0x0b
|
||||
0x04 \fBwst\fP 0x0c \fBblue*\fP
|
||||
0x05 \fBrst\fP 0x0d
|
||||
0x06 \fBmetadata*\fP 0x0e \fBdebug\fP
|
||||
0x07 0x0f \fBstate\fP
|
||||
|
||||
.SS System/vector
|
||||
Currently unused.
|
||||
|
||||
.SS System/expansion
|
||||
Values written to the expansion port will be interpreted as an absolute address pointing to memory containing an expansion command.
|
||||
|
||||
\fBCODE NAME DATA\fP
|
||||
00 \fBfill\fP 00 length* bank* addr* const
|
||||
01 \fBcpyl\fP 01 length* src-bank* src-addr* dst-bank* dst-addr*
|
||||
02 \fBcpyr\fP 02 length* src-bank* src-addr* dst-bank* dst-addr*
|
||||
|
||||
\fBCODE NAME DESC\fP
|
||||
00 \fBfill\fP fill a range of memory with a constant value.
|
||||
01 \fBcpyl\fP copy a range of memory starting from the first byte.
|
||||
02 \fBcpyr\fP copy a range of memory starting from the last byte.
|
||||
|
||||
Each bank contains 64k (65536 bytes) of data. Bank 0 is main memory. Banks are optional but emulators are encouraged to support at least 16 of them when possible.
|
||||
|
||||
.SH CONSOLE (0x10)
|
||||
|
||||
.SH SCREEN (0x20)
|
||||
|
||||
.SH AUDIO (0x30, 0x40, 0x50, 0x60)
|
||||
|
||||
.SH CONTROLLER (0x80)
|
||||
|
||||
.SH MOUSE (0x90)
|
||||
|
||||
.SH FILE (0xa0, 0xb0)
|
||||
|
||||
.SH DATETIME (0xc0)
|
||||
|
||||
.SH RESERVED (0xd0, 0xe0)
|
||||
|
||||
.SH UNUSED (0x70, 0xf0)
|
||||
|
||||
.SH SEE ALSO
|
||||
|
||||
https://wiki.xxiivv.com/site/uxntal_opcodes.html \fIUxntal Opcodes\fP
|
||||
https://wiki.xxiivv.com/site/uxntal_syntax.html \fIUxntal Syntax\fP
|
||||
https://wiki.xxiivv.com/site/uxntal_modes.html \fIUxntal Modes\fP
|
||||
https://wiki.xxiivv.com/site/uxntal_immediate.html \fIImmediate opcodes\fP
|
||||
https://wiki.xxiivv.com/site/varvara.html \fIVarvara\fP
|
Loading…
Reference in New Issue