chore(cpu): add inline fn isHalted()
This commit is contained in:
		@@ -148,6 +148,10 @@ pub const Arm7tdmi = struct {
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub inline fn isHalted(self: *const Self) bool {
 | 
			
		||||
        return self.bus.io.haltcnt == .Halt;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn setCpsr(self: *Self, value: u32) void {
 | 
			
		||||
        if (value & 0x1F != self.cpsr.raw & 0x1F) self.changeModeFromIdx(@truncate(u5, value & 0x1F));
 | 
			
		||||
        self.cpsr.raw = value;
 | 
			
		||||
 
 | 
			
		||||
@@ -52,7 +52,7 @@ pub fn runFrame(sched: *Scheduler, cpu: *Arm7tdmi) void {
 | 
			
		||||
 | 
			
		||||
    while (true) {
 | 
			
		||||
        while (sched.tick < std.math.min(frame_end, sched.nextTimestamp())) {
 | 
			
		||||
            if (cpu.bus.io.haltcnt == .Execute) cpu.step() else sched.tick += 1;
 | 
			
		||||
            if (!cpu.isHalted()) cpu.step() else sched.tick += 1;
 | 
			
		||||
            cpu.handleDMATransfers();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user