name mode size
..
blank.usm 100644 915B
dev.audio.usm 100644 2.08kB
dev.console.usm 100644 310B
dev.controller.buttons.usm 100644 1.91kB
dev.controller.keys.usm 100644 3.66kB
dev.file.usm 100644 1.38kB
dev.mouse.usm 100644 2.96kB
gui.animation.usm 100644 1.8kB
gui.hover.usm 100644 3.17kB
gui.label.usm 100644 5.27kB
gui.picture.usm 100644 2.95kB
gui.shapes.usm 100644 5.17kB
gui.wallpaper.usm 100644 1.62kB
README.md
# Uxn A [stack-based VM](https://wiki.xxiivv.com/site/uxn.html), written in ANSI C. ## Build To build the Uxn emulator, you must have [SDL2](https://wiki.libsdl.org/). ```sh ./build.sh --debug # Add debug flags to compiler --cli # Run rom without graphics ``` ## Emulator Controls - `ctrl+h` toggle debugger - `alt+h` toggle zoom ## Uxambly Read more in the [Uxambly Guide](https://wiki.xxiivv.com/site/uxambly.html). ``` ( dev/console ) %RTN { JMP2r } ( devices ) |10 @Console [ &pad $8 &char $1 ] ( init ) |0100 ( -> ) ;hello-word ;print JSR2 BRK @print ( addr -- ) &loop ( send ) DUP2 GET .Console/char DEO ( incr ) #0001 ADD2 ( loop ) DUP2 GET #00 NEQ ,&loop JNZ POP2 RTN @hello-word "hello 20 "World! ``` ## TODOs - Shortcut to export/import disk state - Implement Uxambly REPL - Load disks at a different place than 0x0000. - Curl device? 8-bit web browser? ## Palettes - `#6a03` `#4a0d` `#aa0c`, purple/cyan - `#a1f3` `#a14d` `#a16c`, grey-pink/teal - `#8c4b` `#884b` `#e8bb`, commodore64 ## Refs https://code.9front.org/hg/plan9front/file/a7f9946e238f/sys/src/games/nes/cpu.c http://www.w3group.de/stable_glossar.html http://www.emulator101.com/6502-addressing-modes.html http://forth.works/8f0c04f616b6c34496eb2141785b4454 https://justinmeiners.github.io/lc3-vm/