feat: create emulator thread

This commit is contained in:
2022-01-28 16:33:38 -04:00
parent b1cc985230
commit 24f0922f86
3 changed files with 38 additions and 11 deletions

View File

@@ -1,7 +1,10 @@
const std = @import("std");
const Bus = @import("Bus.zig");
const Scheduler = @import("scheduler.zig").Scheduler;
const Arm7tdmi = @import("cpu.zig").Arm7tdmi;
const Atomic = std.atomic.Atomic;
const cycles_per_frame: u64 = 160 * (308 * 4);
pub fn runFrame(sched: *Scheduler, cpu: *Arm7tdmi, bus: *Bus) void {
@@ -15,3 +18,9 @@ pub fn runFrame(sched: *Scheduler, cpu: *Arm7tdmi, bus: *Bus) void {
}
}
}
pub fn runEmuThread(quit: *Atomic(bool), sched: *Scheduler, cpu: *Arm7tdmi, bus: *Bus) void {
while (!quit.load(.Unordered)) {
runFrame(sched, cpu, bus);
}
}