improve debugging, fix a lot, add basic op test, heap allocation, dear god
This commit is contained in:
parent
24f5fd49fa
commit
6d2cb973d1
3 changed files with 193 additions and 115 deletions
15
src/main.zig
15
src/main.zig
|
@ -3,6 +3,8 @@ const std = @import("std");
|
|||
const Uxn = @import("uxn.zig");
|
||||
const Varvara = @import("varvara.zig");
|
||||
|
||||
const DEBUG = true;
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -19,16 +21,17 @@ pub fn main() !void {
|
|||
const rom = try file.readToEndAlloc(allocator, 0xFF00);
|
||||
defer allocator.free(rom);
|
||||
|
||||
var varvara = Varvara.init(rom);
|
||||
Uxn.setDebug(DEBUG);
|
||||
|
||||
var running = true;
|
||||
while (running) {
|
||||
std.debug.print("pc={X} code={X} op={s}\n", .{
|
||||
var varvara = try Varvara.init(allocator, rom);
|
||||
defer varvara.deinit();
|
||||
|
||||
while (varvara.uxn.eval()) {
|
||||
if (DEBUG) std.debug.print("{s}\t\tpc {X}, code {X}\n", .{
|
||||
Uxn.fmtInstrs(varvara.uxn.mem.m[varvara.uxn.pc .. varvara.uxn.pc +% 1]),
|
||||
varvara.uxn.pc,
|
||||
varvara.uxn.mem.m[varvara.uxn.pc],
|
||||
Uxn.fmtInstrs(varvara.uxn.mem.m[varvara.uxn.pc .. varvara.uxn.pc +% 1]),
|
||||
});
|
||||
if (varvara.uxn.eval()) running = false;
|
||||
}
|
||||
} else return error.NoRom;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue