This commit is contained in:
Miloslav Ciz 2023-11-25 02:49:12 +01:00
parent 6766c52da6
commit 14fc271097
9 changed files with 158 additions and 10 deletions

5
uxn.md
View file

@ -16,8 +16,9 @@ Here is a kind of concise sum up of uxn "ecosystem"/terminology/specs/etc.:
- so called *one page computer* (can implement itself in at most 500 lines of own assembly)
- has **2 circular [stacks](stack.md)**: working stack and return stack, each one has size of 256 bytes.
- **memory**: total size 64 kb, memory map is following:
- 16 varvara devices, each one taking 16 bytes.
- 16 varvara devices, each one taking 16 bytes: the whole device section is called a **page**, the bytes inside it are called **ports**. A port that holds a [callback](callback.md) address is called **vector** (e.g. a mouse device will have a vector for *mouse click* callback).
- address 256: start of program instructions.
- extensible with so called *banks*.
- **instructions**: Each one takes 8 bits. Every value is a valid instruction. Instruction format is following:
- lowest 5 bits: instruction [opcode](opcode.md) (i.e. there are 32 instructions in total)
- following bit (*2*): if set, instruction works with 16 bit shorts (otherwise it works with 8 bit bytes).
@ -32,7 +33,7 @@ Here is a kind of concise sum up of uxn "ecosystem"/terminology/specs/etc.:
- **[rom](rom.md)**: Compiled binary executable that can be directly run by an *uxn CPU*. The rom files have `.rom` extension.
- **varvara**: A device, "frontend", peripheral that's connected to *uxn CPU* to perform [input/output](io.md), for example a screen, keyboard or terminal.
TODO: vectors, subroutines, ...
TODO: subroutines, ...
## See Also