We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 6eb0abb commit a6d69e9Copy full SHA for a6d69e9
bios/stage-2/src/vesa.rs
@@ -95,7 +95,12 @@ impl<'a> VesaInfo<'a> {
95
}
96
97
fn get_mode(&self, index: usize) -> Option<u16> {
98
- let video_mode_ptr = self.info_block.video_mode_ptr;
+ let (segment, offset) = {
99
+ let raw = self.info_block.video_mode_ptr;
100
+ ((raw >> 16) as u16, raw as u16)
101
+ };
102
+ let video_mode_ptr = ((segment as u32) << 4) + offset as u32;
103
+
104
let base_ptr = video_mode_ptr as *const u16;
105
let ptr = unsafe { base_ptr.add(index) };
106
let mode = unsafe { *ptr };
0 commit comments