94 lines
1.9 KiB
Org Mode
94 lines
1.9 KiB
Org Mode
* machine
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: machine
|
|
:END:
|
|
I like uxn's idea of it being 16 bit because its 0 to 65535 or -32768 to
|
|
32767 which fits in your head nicely.
|
|
|
|
** memory
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: memory
|
|
:END:
|
|
ideas for memory (ram) is going to be a giant hashmap of some kind, or
|
|
maybe like picolisp?
|
|
|
|
picolisp has 64 bit machine words, a cell is 2 words
|
|
|
|
** types
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: types
|
|
:END:
|
|
number (fixed point numbers), symbols (string), cons-pairs (lists)
|
|
|
|
0000 0000 0000 0000 0000 0000 0000 0000
|
|
|
|
tfff xxxx yyyy zzzz
|
|
|
|
0rgb xxxx yyyy zzzz
|
|
|
|
mmrr rrrg ggb0 0000 {xxxx xxxx yyyy yyyy zzzz zzzz} {xxxx xxxx yyyy yyyy
|
|
zzzz zzzz} vz{xxxx xxxx yyyy yyyy zzzz zzzz}
|
|
|
|
rrrx gggy bbbz xxxx yyyy zzzz
|
|
|
|
**** 3-3-2 bit rgb
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: bit-rgb
|
|
:END:
|
|
rrrg ggbb xxxx yyyy
|
|
|
|
triangles
|
|
|
|
textures
|
|
|
|
** devices
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: devices
|
|
:END:
|
|
*** screen
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: screen
|
|
:END:
|
|
default screen is a single 2 triangle square face with a single dynamic
|
|
texture that can be drawn on it
|
|
|
|
*** keyboard
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: keyboard
|
|
:END:
|
|
ASCII/UTF8 encoded values
|
|
|
|
*** mouse/joystick
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: mousejoystick
|
|
:END:
|
|
Theoretically a modern controller could be mapped into 3 mouse/joystick
|
|
devices
|
|
|
|
A nes controller could be mapped onto 1 mouse/joystick device
|
|
|
|
x axis -> J1 -> J2 -> Dpad left/right y axis -> J1 -> J2 -> Dpad up/down
|
|
button 1 -> A -> t1 -> select button 2 -> B -> t2 -> start button 3 -> X
|
|
-> b2 -> "meta button like controller start" button 4 -> Y -> b2 ->
|
|
unused
|
|
|
|
xxxx yyyy 1234
|
|
|
|
x (4 bits) y (4 bits) 1 is button 1 pressed? 2 is button 2 pressed? 3 is
|
|
button 3 pressed? 4 is button 4 pressed?
|
|
|
|
*** sound/music
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: soundmusic
|
|
:END:
|
|
This one is going to be the hardest most likely, but its prolly going to
|
|
be something like the backend dac for ORCA.
|
|
|
|
*** network/filesystem
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: networkfilesystem
|
|
:END:
|
|
9p filesystem/network by default.
|
|
|
|
Have an easy way to network.
|