feat: implement ARM read open bus
This commit is contained in:
@@ -29,7 +29,7 @@ pub const Scheduler = struct {
|
||||
return self.tick;
|
||||
}
|
||||
|
||||
pub fn handleEvent(self: *Self, cpu: *Arm7tdmi, bus: *Bus) void {
|
||||
pub fn handleEvent(self: *Self, cpu: *Arm7tdmi) void {
|
||||
if (self.queue.removeOrNull()) |event| {
|
||||
const late = self.tick - event.tick;
|
||||
|
||||
@@ -40,19 +40,19 @@ pub const Scheduler = struct {
|
||||
},
|
||||
.Draw => {
|
||||
// The end of a VDraw
|
||||
bus.ppu.drawScanline();
|
||||
bus.ppu.handleHDrawEnd(cpu, late);
|
||||
cpu.bus.ppu.drawScanline();
|
||||
cpu.bus.ppu.handleHDrawEnd(cpu, late);
|
||||
},
|
||||
.TimerOverflow => |id| {
|
||||
switch (id) {
|
||||
0 => bus.tim._0.handleOverflow(cpu, late),
|
||||
1 => bus.tim._1.handleOverflow(cpu, late),
|
||||
2 => bus.tim._2.handleOverflow(cpu, late),
|
||||
3 => bus.tim._3.handleOverflow(cpu, late),
|
||||
0 => cpu.bus.tim._0.handleOverflow(cpu, late),
|
||||
1 => cpu.bus.tim._1.handleOverflow(cpu, late),
|
||||
2 => cpu.bus.tim._2.handleOverflow(cpu, late),
|
||||
3 => cpu.bus.tim._3.handleOverflow(cpu, late),
|
||||
}
|
||||
},
|
||||
.HBlank => bus.ppu.handleHBlankEnd(cpu, late), // The end of a HBlank
|
||||
.VBlank => bus.ppu.handleHDrawEnd(cpu, late), // The end of a VBlank
|
||||
.HBlank => cpu.bus.ppu.handleHBlankEnd(cpu, late), // The end of a HBlank
|
||||
.VBlank => cpu.bus.ppu.handleHDrawEnd(cpu, late), // The end of a VBlank
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user