uxn

Varvara Ordinator, written in ANSI C(SDL2)
git clone https://git.eamoncaddigan.net/uxn.git
Log | Files | Refs | README | LICENSE

commit d7f355b0bedd99284d52e43028309ca4c717fccd
parent 6cea4d8c4ad64f63606b4836752b092f07a3c0b1
Author: neauoire <aliceffekt@gmail.com>
Date:   Sun, 21 Mar 2021 14:37:39 -0700

Fix issue in stack balance

Diffstat:
MREADME.md | 16+++++++++-------
Mbuild.sh | 2+-
Mprojects/software/noodle.usm | 7+++----
Muxn.c | 4++--
4 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/README.md b/README.md @@ -31,7 +31,15 @@ Read more in the [Uxambly Guide](https://wiki.xxiivv.com/site/uxambly.html). %RTN { JMP2r } -@RESET +( devices ) + +|0100 ;Console { pad 8 char 1 byte 1 short 2 } +|01F0 .RESET .FRAME .ERROR ( vectors ) +|01F8 [ 13fd 1ef3 1bf2 ] ( palette ) + +( program ) + +|0200 @RESET ,text1 ,print-label JSR2 ,text2 ,print-label JSR2 @@ -55,11 +63,6 @@ RTN |c000 @FRAME |d000 @ERROR - -|FF00 ;Console { pad 8 char 1 byte 1 short 2 } - -|FFF0 .RESET .FRAME .ERROR ( vectors ) -|FFF8 [ 13fd 1ef3 1bf2 ] ( palette ) ``` ## TODOs @@ -73,7 +76,6 @@ RTN - Includes - Defines - Jump helpers -- Don't brk when return stack is not zeroed - LDRS should load from the zeropage? - A fast way(2 bytes) to read from the zero page #aa LDR. diff --git a/build.sh b/build.sh @@ -20,5 +20,5 @@ cc -std=c89 -DDEBUG -Wall -Wno-unknown-pragmas -Wpedantic -Wshadow -Wextra -Werr # cc uxn.c emulator.c -std=c89 -Os -DNDEBUG -g0 -s -Wall -Wno-unknown-pragmas -L/usr/local/lib -lSDL2 -o bin/emulator # run -./bin/assembler projects/software/nasu.usm bin/boot.rom +./bin/assembler projects/software/left.usm bin/boot.rom ./bin/emulator bin/boot.rom diff --git a/projects/software/noodle.usm b/projects/software/noodle.usm @@ -695,7 +695,7 @@ RTN 007c 8280 f080 827c 007c 8280 f080 8080 ] -|2000 ;canvas { w 2 h 2 x1 2 y1 2 x2 2 y2 2 } -|3000 @data [ ] +@ERROR BRK -|F000 @ERROR BRK -\ No newline at end of file +;canvas { w 2 h 2 x1 2 y1 2 x2 2 y2 2 } +@data [ ] diff --git a/uxn.c b/uxn.c @@ -112,12 +112,12 @@ void (*ops[])(Uxn *u) = { Uint8 opr[][4] = { /* wstack-/+ rstack-/+ */ {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0}, {1,2,0,0}, {2,2,0,0}, {2,3,0,0}, {3,3,0,0}, {2,1,0,0}, {2,1,0,0}, {2,1,0,0}, {2,1,0,0}, {2,1,0,0}, {2,1,0,0}, {1,0,0,0}, {1,0,0,2}, - {1,1,0,0}, {2,0,0,0}, {2,1,0,0}, {3,0,0,0}, {0,0,0,0}, {0,0,0,0}, {1,2,0,0}, {1,0,0,1}, + {1,1,0,0}, {2,0,0,0}, {2,1,0,0}, {3,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,1,1,1}, {1,0,0,1}, {2,1,0,0}, {2,1,0,0}, {2,1,0,0}, {2,1,0,0}, {2,1,0,0}, {2,1,0,0}, {2,1,0,0}, {2,1,0,0}, /* 16-bit */ {0,0,0,0}, {2,0,0,0}, {0,0,0,0}, {2,0,0,0}, {2,4,0,0}, {4,4,0,0}, {4,6,0,0}, {6,6,0,0}, {4,1,0,0}, {4,1,0,0}, {4,1,0,0}, {4,1,0,0}, {4,1,0,0}, {4,1,0,0}, {2,0,0,0}, {2,0,0,2}, - {2,1,0,0}, {3,0,0,0}, {2,2,0,0}, {4,0,0,0}, {0,0,0,0}, {0,0,0,0}, {2,4,0,0}, {2,0,0,2}, + {2,1,0,0}, {3,0,0,0}, {2,2,0,0}, {4,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,2,2,2}, {2,0,0,2}, {4,2,0,0}, {4,2,0,0}, {4,2,0,0}, {4,2,0,0}, {4,2,0,0}, {4,2,0,0}, {4,2,0,0}, {4,2,0,0} };