From ec5b9644db2ff26cc6f0cc3d84854b714a25eff9 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Tue, 18 May 2021 18:18:18 +0200 Subject: Draw directly to the FRAMEBUFFER --- src/uxn/uxn.c | 46 +++------------------------------------------- 1 file changed, 3 insertions(+), 43 deletions(-) (limited to 'src/uxn/uxn.c') diff --git a/src/uxn/uxn.c b/src/uxn/uxn.c index 796a980..08b3b9b 100644 --- a/src/uxn/uxn.c +++ b/src/uxn/uxn.c @@ -116,14 +116,6 @@ void (*ops[])(Uxn *u) = { #pragma mark - Core -int -haltuxn(Uxn *u, char *name, int id) -{ - txt_printf("Halted: %s#%04x, at 0x%04x\n", name, id, u->ram.ptr); - u->ram.ptr = 0; - return 0; -} - void opcuxn(Uxn *u, Uint8 instr) { @@ -139,47 +131,15 @@ opcuxn(Uxn *u, Uint8 instr) (*ops[op])(u); } -int -stepuxn(Uxn *u, Uint8 instr) -{ - opcuxn(u, instr); - if(u->wst.error) - return haltuxn(u, u->wst.error == 1 ? "Working-stack underflow" : "Working-stack overflow", instr); - if(u->rst.error) - return haltuxn(u, u->rst.error == 1 ? "Return-stack underflow" : "Return-stack overflow", instr); - return 1; -} - int evaluxn(Uxn *u, Uint16 vec) { u->ram.ptr = vec; u->wst.error = 0; u->rst.error = 0; - while(u->ram.ptr) - if(!stepuxn(u, u->ram.dat[u->ram.ptr++])) - return 0; - return 1; -} - -int -bootuxn(Uxn *u) -{ - size_t i; - char *cptr = (char *)u; - for(i = 0; i < sizeof(*u); i++) - cptr[i] = 0; - return 1; -} - -int -loaduxn(Uxn *u, char *filepath) -{ - FILE *f; - if(!(f = fopen(filepath, "rb"))) - return haltuxn(u, "Missing input rom.", 0); - fread(u->ram.dat + PAGE_PROGRAM, sizeof(u->ram.dat) - PAGE_PROGRAM, 1, f); - txt_printf("Uxn loaded[%s].\n", filepath); + while(u->ram.ptr) { + opcuxn(u, u->ram.dat[u->ram.ptr++]); + } return 1; } -- cgit v1.2.1