~rabbits/uxn

fad574816dcaa93086414d84021b51c8bd4f0319 — Devine Lu Linvega a month ago bc26d9d
Removed errcode from stacks
2 files changed, 10 insertions(+), 8 deletions(-)

M src/devices/system.c
M src/uxn.h
M src/devices/system.c => src/devices/system.c +9 -7
@@ 42,13 42,15 @@ int
uxn_halt(Uxn *u, Uint8 instr, Uint8 err, Uint16 addr)
{
	Uint8 *d = &u->dev[0x00];
	if(instr & 0x40)
		u->rst->err = err;
	else
		u->wst->err = err;
	if(GETVEC(d))
		uxn_eval(u, GETVEC(d));
	else {
	Uint16 handler = GETVEC(d);
	if(handler) {
		u->wst->ptr = 4;
		u->wst->dat[0] = addr >> 0x8;
		u->wst->dat[1] = addr & 0xff;
		u->wst->dat[2] = instr;
		u->wst->dat[3] = err;
		return uxn_eval(u, handler);
	} else {
		system_inspect(u);
		fprintf(stderr, "%s %s, by %02x at 0x%04x.\n", (instr & 0x40) ? "Return-stack" : "Working-stack", errors[err - 1], instr, addr);
	}

M src/uxn.h => src/uxn.h +1 -1
@@ 26,7 26,7 @@ typedef unsigned int Uint32;
/* clang-format on */

typedef struct {
	Uint8 dat[254], err, ptr;
	Uint8 dat[255], ptr;
} Stack;

typedef struct Uxn {