feat: implement PPU Timings in Scheduler

This commit is contained in:
2022-01-05 21:18:33 -04:00
parent f709458638
commit c6123d8a6d
3 changed files with 59 additions and 7 deletions

View File

@@ -5,13 +5,15 @@ const Bitfield = bitfield.Bitfield;
const Bit = bitfield.Bit;
pub const Io = struct {
dispcnt: Dispcnt,
dispstat: Dispstat,
dispcnt: DispCnt,
dispstat: DispStat,
vcount: VCount,
pub fn init() @This() {
return .{
.dispcnt = .{ .raw = 0x0000_0000 },
.dispstat = .{ .raw = 0x0000_0000 },
.vcount = .{ .raw = 0x0000_0000 },
};
}
@@ -48,7 +50,7 @@ pub const Io = struct {
}
};
const Dispcnt = extern union {
const DispCnt = extern union {
bg_mode: Bitfield(u16, 0, 3),
frame_select: Bit(u16, 4),
hblank_interraw_free: Bit(u16, 5),
@@ -61,7 +63,7 @@ const Dispcnt = extern union {
raw: u16,
};
const Dispstat = extern union {
const DispStat = extern union {
vblank: Bit(u16, 0),
hblank: Bit(u16, 1),
vcount: Bit(u16, 2),
@@ -71,3 +73,8 @@ const Dispstat = extern union {
vcount_setting: Bitfield(u16, 8, 7),
raw: u16,
};
const VCount = extern union {
scanline: Bitfield(u16, 0, 8),
raw: u16,
};