vgabios: Minor - pass display address to stdvga_set_cursor_pos().
[seabios.git] / vgasrc / vgabios.c
index d00016685f884f9fb49e254b00c4fd4e046ef274..2f24e7828c91a99e16a8ac0f414754c2dc034473 100644 (file)
@@ -138,11 +138,9 @@ set_cursor_pos(struct cursorpos cp)
         return;
 
     // Calculate the memory address
-    u16 nbcols = GET_BDA(video_cols);
-    u16 address = (GET_BDA(video_pagesize) * cp.page
-                   + (cp.x + cp.y * nbcols) * 2);
-
-    stdvga_set_cursor_pos(address / 2);
+    int address = (GET_BDA(video_pagesize) * cp.page
+                   + (cp.x + cp.y * GET_BDA(video_cols)) * 2);
+    stdvga_set_cursor_pos(address);
 }
 
 static struct cursorpos
@@ -176,9 +174,8 @@ set_active_page(u8 page)
     struct cursorpos cp = get_cursor_pos(page);
 
     // Calculate memory address of start of page
-    u8 memmodel = GET_GLOBAL(vmode_g->memmodel);
-    u16 address = GET_BDA(video_pagesize) * page;
-    stdvga_set_active_page(memmodel == MM_TEXT ? address / 2 : address);
+    int address = GET_BDA(video_pagesize) * page;
+    vgahw_set_displaystart(vmode_g, address);
 
     // And change the BIOS page
     SET_BDA(video_pagestart, address);