:: commit 3a4ec45eec71c85184f3f564d1c7fdacdde9c2b9

mintsuki <mintsuki@protonmail.com> — 2020-04-10 16:21

parents: 375bdc6c94

Fixed EDID bug

diff --git a/qloader2.bin b/qloader2.bin
index 7269a98d..33d41e78 100644
Binary files a/qloader2.bin and b/qloader2.bin differ
diff --git a/src/drivers/vbe.c b/src/drivers/vbe.c
index cd24ab9d..e9fb0e82 100644
--- a/src/drivers/vbe.c
+++ b/src/drivers/vbe.c
@@ -98,7 +98,7 @@ static int get_edid_info(struct edid_info_struct *buf) {
     r.edi = (uint32_t)buf;
     rm_int(0x10, &r, &r);
 
-    if ((r.eax & 0x00ff) == 0x4f)
+    if ((r.eax & 0x00ff) != 0x4f)
         return -1;
     if ((r.eax & 0xff00) != 0)
         return -1;
@@ -126,11 +126,12 @@ int init_vbe(uint64_t *framebuffer, uint16_t *pitch, uint16_t *target_width, uin
             *target_width  = 1024;
             *target_height = 768;
         } else {
-            print("vbe: EDID detected screen resolution of %ux%u\n");
             *target_width   = (int)edid_info.det_timing_desc1[2];
             *target_width  += ((int)edid_info.det_timing_desc1[4] & 0xf0) << 4;
             *target_height  = (int)edid_info.det_timing_desc1[5];
             *target_height += ((int)edid_info.det_timing_desc1[7] & 0xf0) << 4;
+            print("vbe: EDID detected screen resolution of %ux%u\n",
+                  *target_width, *target_height);
         }
     } else {
         print("vbe: Requested resolution of %ux%ux%u\n",
tab: 248 wrap: offon