This commit is contained in:
Jeeves 2025-03-04 22:01:36 -07:00
parent 8cb37452fb
commit 43d7b290fd
3 changed files with 70 additions and 8 deletions

View file

@ -1,6 +1,7 @@
const std = @import("std");
const Uxn = @import("uxn.zig");
const Varvara = @import("varvara.zig");
// TODO combine with uxn.zig
const UxnFmt = @import("uxn-instructions.zig");
@ -20,13 +21,16 @@ pub fn main() !void {
const rom = try file.readToEndAlloc(allocator, 0xFF00);
defer allocator.free(rom);
var uxn = Uxn{ .pc = 0x100 };
@memcpy(uxn.mem.m[0x100 .. rom.len + 0x100], rom);
var varvara = Varvara.init(rom);
var running = true;
while (running) {
std.debug.print("pc={X} code={X} op={s}\n", .{ uxn.pc, uxn.mem.m[uxn.pc], UxnFmt.fmtInstrs(uxn.mem.m[uxn.pc .. uxn.pc +% 1]) });
if (uxn.eval()) running = false;
std.debug.print("pc={X} code={X} op={s}\n", .{
varvara.uxn.pc,
varvara.uxn.mem.m[varvara.uxn.pc],
UxnFmt.fmtInstrs(varvara.uxn.mem.m[varvara.uxn.pc .. varvara.uxn.pc +% 1]),
});
if (varvara.uxn.eval()) running = false;
}
} else return error.NoRom;
}