From a4020400da23def2c00f76326ddb18421df5e9a2 Mon Sep 17 00:00:00 2001 From: Rekai Musuka Date: Fri, 21 Oct 2022 05:12:33 -0300 Subject: [PATCH] chore: log error on open bus in page 0x00 and 0x01 --- src/bus/Bios.zig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/bus/Bios.zig b/src/bus/Bios.zig index ec00bec..489ee2b 100644 --- a/src/bus/Bios.zig +++ b/src/bus/Bios.zig @@ -29,6 +29,11 @@ pub fn deinit(self: Self) void { pub fn read(self: *const Self, comptime T: type, addr: usize) T { if (self.buf) |buf| { + if (addr > buf.len) { + log.err("Tried to read {} from {X:0>8} (open bus)", .{ T, addr }); + return 0; + } + return switch (T) { u32 => (@as(u32, buf[addr + 3]) << 24) | (@as(u32, buf[addr + 2]) << 16) | (@as(u32, buf[addr + 1]) << 8) | (@as(u32, buf[addr])), u16 => (@as(u16, buf[addr + 1]) << 8) | @as(u16, buf[addr]),