]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_mm.c
the memory management stuff is not working on the XT. and it is odd in xcroll.exe
[16.git] / src / lib / 16_mm.c
index a3d0e92c0a3ed25b245436207fbf26ca079352ce..dc807cbd1a0daf49985c0b743e0838e48908fcc6 100755 (executable)
@@ -1361,7 +1361,7 @@ extern char global_temp_status_text2[512];
 void MM_ShowMemory (global_game_variables_t *gvar)\r
 {\r
        mmblocktype far *scan;\r
-       unsigned color,temp,x,y         ,w,width;\r
+       unsigned color,temp,x,y         ,w,width,sw;\r
        sdword  end,owner;\r
        byte            scratch[160],scratch0[4096],str[16];\r
 #ifdef MMSMSCANINFO\r
@@ -1387,7 +1387,7 @@ reset:
 \r
        end = -1; w = 0;\r
 \r
-       width = gvar->video.page[0].sw;\r
+       width = gvar->video.page[0].width; sw = gvar->video.page[0].sw;\r
 \r
        CA_OpenDebug (gvar);\r
        while (scan)\r
@@ -1419,8 +1419,8 @@ reset:
                        Quit (gvar, "MM_ShowMemory: Memory block order currupted!");\r
                }\r
                end = scan->length-1;\r
-               y = scan->start/width;\r
-               x = scan->start%width;\r
+               y = gvar->video.page[0].dx+(scan->start/sw);\r
+               x = gvar->video.page[0].dy+(scan->start%sw);\r
 #if 0\r
 //def MMSMSCANINFO\r
                if(restarted){\r
@@ -1505,6 +1505,7 @@ reset:
        }\r
 \r
        CA_CloseDebug (gvar);\r
+       if (gvar->video.VL_Started) IN_Ack(gvar);\r
 \r
 #ifdef MMSMPANVID\r
        {\r
@@ -1549,8 +1550,10 @@ reset:
        else q = 0;\r
        restarted = false;\r
 \r
-       IN_Ack(gvar);\r
-//     VL_ClearVideo (8);\r
+       while (!(scancode = gvar->in.inst->LastScan)){}\r
+//     IN_ClearKey(scancode);\r
+//     IN_Ack(gvar);\r
+\r
        for (done = false;!done;)\r
        {\r
                if(scaninfo[q].scan->attributes & PURGEBITS)\r
@@ -1591,8 +1594,8 @@ reset:
                }else   ypos+=8;\r
                if(gvar->video.VL_Started)\r
                {\r
-                       y = scaninfo[q].scan->start/width;\r
-                       x = scaninfo[q].scan->start%width;\r
+                       y = scaninfo[q].scan->start/sw;\r
+                       x = scaninfo[q].scan->start%sw;\r
                        if(!mmsmscaninfoxyposinew)\r
                        {\r
                                y = ypos;\r
@@ -1683,8 +1686,8 @@ reset:
                        break;\r
                }\r
        }\r
-#else\r
-       if(gvar->video.VL_Started) IN_Ack(gvar);\r
+//#else\r
+//     if(gvar->video.VL_Started) IN_Ack(gvar);\r
 #endif\r
 \r
        gvar->video.BOFS = (byte __far *)temp;\r