From 2fd9b2ce1016f4774c1e21d7432e6b95c02ad378 Mon Sep 17 00:00:00 2001
From: sparky4 <sparky4@cock.li>
Date: Tue, 4 Oct 2016 12:20:48 -0500
Subject: [PATCH] VRSTEST.EXE NOW USES PAGE MANAGER! wwww

---
 DEBUG.16W       | 258 ++++++++++++++++++++++++------------------------
 HEAP.16W        | 104 ++++++++++---------
 src/lib/16_mm.c |   2 +
 src/lib/16_pm.c |  48 ++++-----
 src/vrstest.c   |  11 ++-
 5 files changed, 213 insertions(+), 210 deletions(-)

diff --git a/DEBUG.16W b/DEBUG.16W
index 72245a61..1b6087e1 100755
--- a/DEBUG.16W
+++ b/DEBUG.16W
@@ -1,212 +1,210 @@
-Seg:0	Size:11735	Owner:0x0
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000
-Seg:2e4c	Size:36	Owner:0x0
-+
-Seg:2e70	Size:256	Owner:0x1988
+Seg:0	Size:11718	Owner:0x0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00
+Seg:2e3b	Size:36	Owner:0x0
+++
+Seg:2e5f	Size:256	Owner:0x1988
 ++++
-Seg:2f70	Size:256	Owner:0x1776
+Seg:2f5f	Size:256	Owner:0x1776
 ++++
-Seg:3070	Size:256	Owner:0x1778
+Seg:305f	Size:256	Owner:0x1778
 ++++
-Seg:3170	Size:256	Owner:0x177a
+Seg:315f	Size:256	Owner:0x177a
++++++
+Seg:325f	Size:256	Owner:0x177c
 ++++
-Seg:3270	Size:256	Owner:0x177c
+Seg:335f	Size:256	Owner:0x177e
 ++++
-Seg:3370	Size:256	Owner:0x177e
+Seg:345f	Size:256	Owner:0x1780
 ++++
-Seg:3470	Size:256	Owner:0x1780
+Seg:355f	Size:256	Owner:0x1782
 ++++
-Seg:3570	Size:256	Owner:0x1782
+Seg:365f	Size:256	Owner:0x1784
++++++
+Seg:375f	Size:256	Owner:0x1786
 ++++
-Seg:3670	Size:256	Owner:0x1784
+Seg:385f	Size:256	Owner:0x1788
 ++++
-Seg:3770	Size:256	Owner:0x1786
+Seg:395f	Size:256	Owner:0x178a
 ++++
-Seg:3870	Size:256	Owner:0x1788
+Seg:3a5f	Size:256	Owner:0x178c
 ++++
-Seg:3970	Size:256	Owner:0x178a
+Seg:3b5f	Size:256	Owner:0x178e
++++++
+Seg:3c5f	Size:256	Owner:0x1790
 ++++
-Seg:3a70	Size:256	Owner:0x178c
+Seg:3d5f	Size:256	Owner:0x1792
 ++++
-Seg:3b70	Size:256	Owner:0x178e
+Seg:3e5f	Size:256	Owner:0x1794
 ++++
-Seg:3c70	Size:256	Owner:0x1790
+Seg:3f5f	Size:256	Owner:0x1796
 ++++
-Seg:3d70	Size:256	Owner:0x1792
+Seg:405f	Size:256	Owner:0x1798
++++++
+Seg:415f	Size:256	Owner:0x179a
 ++++
-Seg:3e70	Size:256	Owner:0x1794
+Seg:425f	Size:256	Owner:0x179c
 ++++
-Seg:3f70	Size:256	Owner:0x1796
+Seg:435f	Size:256	Owner:0x179e
 ++++
-Seg:4070	Size:256	Owner:0x1798
+Seg:445f	Size:256	Owner:0x17a0
 ++++
-Seg:4170	Size:256	Owner:0x179a
+Seg:455f	Size:256	Owner:0x17a2
++++++
+Seg:465f	Size:256	Owner:0x17a4
 ++++
-Seg:4270	Size:256	Owner:0x179c
+Seg:475f	Size:256	Owner:0x17a6
 ++++
-Seg:4370	Size:256	Owner:0x179e
+Seg:485f	Size:256	Owner:0x17a8
 ++++
-Seg:4470	Size:256	Owner:0x17a0
+Seg:495f	Size:256	Owner:0x17aa
 ++++
-Seg:4570	Size:256	Owner:0x17a2
+Seg:4a5f	Size:256	Owner:0x17ac
++++++
+Seg:4b5f	Size:256	Owner:0x17ae
 ++++
-Seg:4670	Size:256	Owner:0x17a4
+Seg:4c5f	Size:256	Owner:0x17b0
 ++++
-Seg:4770	Size:256	Owner:0x17a6
+Seg:4d5f	Size:256	Owner:0x17b2
 ++++
-Seg:4870	Size:256	Owner:0x17a8
+Seg:4e5f	Size:256	Owner:0x17b4
 ++++
-Seg:4970	Size:256	Owner:0x17aa
+Seg:4f5f	Size:256	Owner:0x17b6
++++++
+Seg:505f	Size:256	Owner:0x17b8
 ++++
-Seg:4a70	Size:256	Owner:0x17ac
+Seg:515f	Size:256	Owner:0x17ba
 ++++
-Seg:4b70	Size:256	Owner:0x17ae
+Seg:525f	Size:256	Owner:0x17bc
 ++++
-Seg:4c70	Size:256	Owner:0x17b0
+Seg:535f	Size:256	Owner:0x17be
 ++++
-Seg:4d70	Size:256	Owner:0x17b2
+Seg:545f	Size:256	Owner:0x17c0
++++++
+Seg:555f	Size:256	Owner:0x17c2
 ++++
-Seg:4e70	Size:256	Owner:0x17b4
+Seg:565f	Size:256	Owner:0x17c4
 ++++
-Seg:4f70	Size:256	Owner:0x17b6
+Seg:575f	Size:256	Owner:0x17c6
 ++++
-Seg:5070	Size:256	Owner:0x17b8
+Seg:585f	Size:256	Owner:0x17c8
 ++++
-Seg:5170	Size:256	Owner:0x17ba
+Seg:595f	Size:256	Owner:0x17ca
++++++
+Seg:5a5f	Size:256	Owner:0x17cc
 ++++
-Seg:5270	Size:256	Owner:0x17bc
+Seg:5b5f	Size:256	Owner:0x17ce
 ++++
-Seg:5370	Size:256	Owner:0x17be
+Seg:5c5f	Size:256	Owner:0x17d0
 ++++
-Seg:5470	Size:256	Owner:0x17c0
+Seg:5d5f	Size:256	Owner:0x17d2
 ++++
-Seg:5570	Size:256	Owner:0x17c2
+Seg:5e5f	Size:256	Owner:0x17d4
++++++
+Seg:5f5f	Size:256	Owner:0x17d6
 ++++
-Seg:5670	Size:256	Owner:0x17c4
+Seg:605f	Size:256	Owner:0x17d8
 ++++
-Seg:5770	Size:256	Owner:0x17c6
+Seg:615f	Size:256	Owner:0x17da
 ++++
-Seg:5870	Size:256	Owner:0x17c8
+Seg:625f	Size:256	Owner:0x17dc
 ++++
-Seg:5970	Size:256	Owner:0x17ca
+Seg:635f	Size:256	Owner:0x17de
++++++
+Seg:645f	Size:256	Owner:0x17e0
 ++++
-Seg:5a70	Size:256	Owner:0x17cc
+Seg:655f	Size:256	Owner:0x17e2
 ++++
-Seg:5b70	Size:256	Owner:0x17ce
+Seg:665f	Size:256	Owner:0x17e4
 ++++
-Seg:5c70	Size:256	Owner:0x17d0
+Seg:675f	Size:256	Owner:0x17e6
 ++++
-Seg:5d70	Size:256	Owner:0x17d2
+Seg:685f	Size:256	Owner:0x17e8
++++++
+Seg:695f	Size:256	Owner:0x17ea
 ++++
-Seg:5e70	Size:256	Owner:0x17d4
+Seg:6a5f	Size:256	Owner:0x17ec
 ++++
-Seg:5f70	Size:256	Owner:0x17d6
+Seg:6b5f	Size:256	Owner:0x17ee
 ++++
-Seg:6070	Size:256	Owner:0x17d8
+Seg:6c5f	Size:256	Owner:0x17f0
 ++++
-Seg:6170	Size:256	Owner:0x17da
+Seg:6d5f	Size:256	Owner:0x17f2
++++++
+Seg:6e5f	Size:256	Owner:0x17f4
 ++++
-Seg:6270	Size:256	Owner:0x17dc
+Seg:6f5f	Size:256	Owner:0x17f6
 ++++
-Seg:6370	Size:256	Owner:0x17de
+Seg:705f	Size:256	Owner:0x17f8
 ++++
-Seg:6470	Size:256	Owner:0x17e0
+Seg:715f	Size:256	Owner:0x17fa
 ++++
-Seg:6570	Size:256	Owner:0x17e2
+Seg:725f	Size:256	Owner:0x17fc
++++++
+Seg:735f	Size:256	Owner:0x17fe
 ++++
-Seg:6670	Size:256	Owner:0x17e4
+Seg:745f	Size:256	Owner:0x1800
 ++++
-Seg:6770	Size:256	Owner:0x17e6
+Seg:755f	Size:256	Owner:0x1802
 ++++
-Seg:6870	Size:256	Owner:0x17e8
+Seg:765f	Size:256	Owner:0x1804
 ++++
-Seg:6970	Size:256	Owner:0x17ea
+Seg:775f	Size:256	Owner:0x1806
++++++
+Seg:785f	Size:256	Owner:0x1808
 ++++
-Seg:6a70	Size:256	Owner:0x17ec
+Seg:795f	Size:256	Owner:0x180a
 ++++
-Seg:6b70	Size:256	Owner:0x17ee
+Seg:7a5f	Size:256	Owner:0x180c
 ++++
-Seg:6c70	Size:256	Owner:0x17f0
+Seg:7b5f	Size:256	Owner:0x180e
 ++++
-Seg:6d70	Size:256	Owner:0x17f2
+Seg:7c5f	Size:256	Owner:0x1810
++++++
+Seg:7d5f	Size:256	Owner:0x1812
 ++++
-Seg:6e70	Size:256	Owner:0x17f4
+Seg:7e5f	Size:256	Owner:0x1814
 ++++
-Seg:6f70	Size:256	Owner:0x17f6
+Seg:7f5f	Size:256	Owner:0x1816
 ++++
-Seg:7070	Size:256	Owner:0x17f8
+Seg:805f	Size:256	Owner:0x1818
 ++++
-Seg:7170	Size:256	Owner:0x17fa
+Seg:815f	Size:256	Owner:0x181a
++++++
+Seg:825f	Size:256	Owner:0x181c
 ++++
-Seg:7270	Size:256	Owner:0x17fc
+Seg:835f	Size:256	Owner:0x181e
 ++++
-Seg:7370	Size:256	Owner:0x17fe
+Seg:845f	Size:256	Owner:0x1820
 ++++
-Seg:7470	Size:256	Owner:0x1800
+Seg:855f	Size:256	Owner:0x1822
 ++++
-Seg:7570	Size:256	Owner:0x1802
+Seg:865f	Size:256	Owner:0x1824
++++++
+Seg:875f	Size:256	Owner:0x1826
 ++++
-Seg:7670	Size:256	Owner:0x1804
+Seg:885f	Size:256	Owner:0x1828
 ++++
-Seg:7770	Size:256	Owner:0x1806
+Seg:895f	Size:256	Owner:0x182a
 ++++
-Seg:7870	Size:256	Owner:0x1808
+Seg:8a5f	Size:256	Owner:0x182c
 ++++
-Seg:7970	Size:256	Owner:0x180a
+Seg:8b5f	Size:256	Owner:0x182e
++++++
+Seg:8c5f	Size:256	Owner:0x1830
 ++++
-Seg:7a70	Size:256	Owner:0x180c
+Seg:8d5f	Size:256	Owner:0x1832
 ++++
-Seg:7b70	Size:256	Owner:0x180e
+Seg:8e5f	Size:256	Owner:0x1834
 ++++
-Seg:7c70	Size:256	Owner:0x1810
+Seg:8f5f	Size:256	Owner:0x1836
 ++++
-Seg:7d70	Size:256	Owner:0x1812
+Seg:905f	Size:256	Owner:0x1838
++++++
+Seg:915f	Size:256	Owner:0x183a
 ++++
-Seg:7e70	Size:256	Owner:0x1814
+Seg:925f	Size:256	Owner:0x183c
 ++++
-Seg:7f70	Size:256	Owner:0x1816
-++++
-Seg:8070	Size:256	Owner:0x1818
-++++
-Seg:8170	Size:256	Owner:0x181a
-++++
-Seg:8270	Size:256	Owner:0x181c
-++++
-Seg:8370	Size:256	Owner:0x181e
-++++
-Seg:8470	Size:256	Owner:0x1820
-++++
-Seg:8570	Size:256	Owner:0x1822
-++++
-Seg:8670	Size:256	Owner:0x1824
-++++
-Seg:8770	Size:256	Owner:0x1826
-++++
-Seg:8870	Size:256	Owner:0x1828
-++++
-Seg:8970	Size:256	Owner:0x182a
-++++
-Seg:8a70	Size:256	Owner:0x182c
-++++
-Seg:8b70	Size:256	Owner:0x182e
-++++
-Seg:8c70	Size:256	Owner:0x1830
-++++
-Seg:8d70	Size:256	Owner:0x1832
-++++
-Seg:8e70	Size:256	Owner:0x1834
-++++
-Seg:8f70	Size:256	Owner:0x1836
-++++
-Seg:9070	Size:256	Owner:0x1838
-++++
-Seg:9170	Size:256	Owner:0x183a
-++++
-Seg:9270	Size:256	Owner:0x183c
-++++
-Seg:9370	Size:401	Owner:0xf45a
+Seg:935f	Size:401	Owner:0xf45a
 ++++++
-Seg:be70	Size:8592	Owner:0x0
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-Seg:e000	Size:8191	Owner:0x0
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
\ No newline at end of file
+Seg:be5f	Size:16800	Owner:0x0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
\ No newline at end of file
diff --git a/HEAP.16W b/HEAP.16W
index 78ae75ec..f4d0768f 100755
--- a/HEAP.16W
+++ b/HEAP.16W
@@ -1,57 +1,71 @@
 
 	== default ==
 
-  FREE block at 2e6e0016 of size 18
-  USED block at 2e6e0028 of size 136
-  USED block at 2e6e00b0 of size 50
-  USED block at 2e6e00e2 of size 50
-  USED block at 2e6e0114 of size 50
-  USED block at 2e6e0146 of size 50
-  USED block at 2e6e0178 of size 50
-  USED block at 2e6e01aa of size 50
-  USED block at 2e6e01dc of size 50
-  USED block at 2e6e020e of size 50
-  USED block at 2e6e0240 of size 50
-  USED block at 2e6e0272 of size 50
-  USED block at 2e6e02a4 of size 50
-  USED block at 2e6e02d6 of size 50
-  USED block at 2e6e0308 of size 50
-  FREE block at 2e6e033a of size 14
-  USED block at 2e6e0348 of size 20
-  FREE block at 2e6e035c of size 7328
+  FREE block at 2e5d0016 of size 18
+  USED block at 2e5d0028 of size 50
+  USED block at 2e5d005a of size 50
+  USED block at 2e5d008c of size 50
+  USED block at 2e5d00be of size 50
+  USED block at 2e5d00f0 of size 50
+  USED block at 2e5d0122 of size 50
+  USED block at 2e5d0154 of size 50
+  USED block at 2e5d0186 of size 50
+  USED block at 2e5d01b8 of size 50
+  USED block at 2e5d01ea of size 50
+  USED block at 2e5d021c of size 50
+  USED block at 2e5d024e of size 50
+  USED block at 2e5d0280 of size 50
+  FREE block at 2e5d02b2 of size 14
+  USED block at 2e5d02c0 of size 20
+  USED block at 2e5d02d4 of size 136
+  FREE block at 2e5d035c of size 7328
 OK - end of heap
 
 	== near ==
 
-  USED block at 1e6df4a6 of size 12
-  USED block at 1e6df4b2 of size 330
-  USED block at 1e6df5fc of size 52
-  USED block at 1e6df630 of size 20
-  USED block at 1e6df644 of size 20
-  USED block at 1e6df658 of size 20
-  USED block at 1e6df66c of size 20
-  USED block at 1e6df680 of size 20
-  USED block at 1e6df694 of size 2408
+  USED block at 1e5cf4a6 of size 12
+  USED block at 1e5cf4b2 of size 330
+  USED block at 1e5cf5fc of size 52
+  USED block at 1e5cf630 of size 20
+  USED block at 1e5cf644 of size 20
+  USED block at 1e5cf658 of size 20
+  USED block at 1e5cf66c of size 20
+  USED block at 1e5cf680 of size 20
+  USED block at 1e5cf694 of size 2408
 OK - end of heap
 
 	== far ==
 
-  USED block at 2e6e0016 of size 18
-  USED block at 2e6e0028 of size 136
-  USED block at 2e6e00b0 of size 50
-  USED block at 2e6e00e2 of size 50
-  USED block at 2e6e0114 of size 50
-  USED block at 2e6e0146 of size 50
-  USED block at 2e6e0178 of size 50
-  USED block at 2e6e01aa of size 50
-  USED block at 2e6e01dc of size 50
-  USED block at 2e6e020e of size 50
-  USED block at 2e6e0240 of size 50
-  USED block at 2e6e0272 of size 50
-  USED block at 2e6e02a4 of size 50
-  USED block at 2e6e02d6 of size 50
-  USED block at 2e6e0308 of size 50
-  USED block at 2e6e033a of size 14
-  USED block at 2e6e0348 of size 20
-  USED block at 2e6e035c of size 7328
+  USED block at 2e5d0016 of size 18
+  USED block at 2e5d0028 of size 50
+  USED block at 2e5d005a of size 50
+  USED block at 2e5d008c of size 50
+  USED block at 2e5d00be of size 50
+  USED block at 2e5d00f0 of size 50
+  USED block at 2e5d0122 of size 50
+  USED block at 2e5d0154 of size 50
+  USED block at 2e5d0186 of size 50
+  USED block at 2e5d01b8 of size 50
+  USED block at 2e5d01ea of size 50
+  USED block at 2e5d021c of size 50
+  USED block at 2e5d024e of size 50
+  USED block at 2e5d0280 of size 50
+  USED block at 2e5d02b2 of size 14
+  USED block at 2e5d02c0 of size 20
+  USED block at 2e5d02d4 of size 136
+  USED block at 2e5d035c of size 7328
 OK - end of heap
+
+Memory Type         Total      Used       Free
+----------------  --------   --------   --------
+Default		   8166		806	  7360
+Near		   2902		494	  2408
+Far		   8166		806	  7360
+----------------  --------   --------   --------
+coreleft = 2406
+farcoreleft = 1400
+GetFreeSize = 64548
+GetNearFreeSize = 2408
+GetFarFreeSize = 64548
+memavl = 2406
+stackavail = 31519
diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c
index 7402bf2a..9a4ae187 100755
--- a/src/lib/16_mm.c
+++ b/src/lib/16_mm.c
@@ -940,8 +940,10 @@ void MM_Shutdown(global_game_variables_t *gvar)
 #ifdef __DEBUG__
 	if(!dbg_debugpm) {
 #endif
+#ifndef __16_PM__
 	if(MML_CheckForEMS()){ MML_ShutdownEMS(gvar); }//printf("		EMS freed\n"); }
 	if(MML_CheckForXMS()){ MML_ShutdownXMS(gvar); }//printf("		XMS freed\n"); }
+#endif
 #ifdef __DEBUG__
 	}
 #endif
diff --git a/src/lib/16_pm.c b/src/lib/16_pm.c
index 3b37ec62..9cbed569 100755
--- a/src/lib/16_pm.c
+++ b/src/lib/16_pm.c
@@ -354,17 +354,15 @@ PML_ShutdownEMS(global_game_variables_t *gvar)
 boolean
 PML_StartupXMS(global_game_variables_t *gvar)
 {
+//TODO: translate the _REG into working assembly
 //#define STARTUPXMSASM
 	byte err;
-	#define BRACKETXMS
 	word XMSAvail, XMSHandle;
-#define XMSAVI	XMSAvail
-#define XMSHAN XMSHandle
 //++++	word XMSVer;
 	boolean errorflag=false;
 	word e=0;
 	gvar->pm.xmm.XMSPresent = false;					// Assume failure
-	XMSAVI = gvar->mmi.XMSmem = 0;
+	XMSAvail = gvar->mmi.XMSmem = 0;
 
 	__asm {
 		mov	ax,0x4300
@@ -385,11 +383,7 @@ PML_StartupXMS(global_game_variables_t *gvar)
 #ifdef STARTUPXMSASM
 		mov	ah,XMS_QUERYFREE			// Find out how much XMS is available
 		call	[DWORD PTR XMSDriver]//DWORD PTR
-#ifndef BRACKETXMS
-		mov	XMSAVI,ax
-#else
-		mov	[XMSAVI],ax
-#endif
+		mov	XMSAvail,ax
 		or	ax,ax				// AJR: bugfix 10/8/92
 		jz	error1
 		mov	e,3
@@ -415,7 +409,7 @@ End1:
 	if(errorflag==true) goto error;
 #ifndef STARTUPXMSASM
 	XMS_CALL(XMS_QUERYFREE);			// Find out how much XMS is available
-	XMSAVI = _AX;
+	XMSAvail = _AX;
 	if (!_AX)				// AJR: bugfix 10/8/92
 	{
 		errorflag = true;
@@ -427,28 +421,20 @@ End1:
 
 #ifdef __DEBUG_PM__
 //++++	printf("XMSVer=%02X	", XMSVer);
-	printf("XMSAvail=%u\n", XMSAVI);
+	printf("XMSAvail=%u\n", XMSAvail);
 #endif
-	XMSAVI &= ~(PMPageSizeKB - 1);	// Round off to nearest page size
-	if (XMSAVI < (PMPageSizeKB * 2))	// Need at least 2 pages
+	XMSAvail &= ~(PMPageSizeKB - 1);	// Round off to nearest page size
+	if (XMSAvail < (PMPageSizeKB * 2))	// Need at least 2 pages
 	{
 		errorflag=true;
 		goto error;
 	}
 #ifdef STARTUPXMSASM
 	__asm {
-#ifndef BRACKETXMS
-		mov	dx,XMSAVI
-#else
-		mov	dx,[XMSAVI]
-#endif
+		mov	dx,XMSAvail
 		mov	ah,XMS_ALLOC				// And do the allocation
 		call	[DWORD PTR XMSDriver]//DWORD PTR
-#ifndef BRACKETXMS
-		mov	XMSHAN,dx
-#else
-		mov	[XMSHAN],dx
-#endif
+		mov	XMSHandle,dx
 		or	ax,ax				// AJR: bugfix 10/8/92
 		jz	error2
 		mov	e,4
@@ -471,9 +457,9 @@ End2:
 	}
 #endif
 #else
-	_DX = XMSAVI;
+	_DX = XMSAvail;
 	XMS_CALL(XMS_ALLOC);				// And do the allocation
-	XMSHAN = _DX;
+	XMSHandle = _DX;
 	if (!_AX)				// AJR: bugfix 10/8/92
 	{
 		errorflag=true;
@@ -485,13 +471,13 @@ End2:
 error:
 	if(errorflag==false)
 	{
-		gvar->mmi.XMSmem = (dword)(XMSAVI) * 1024;
-		gvar->pm.xmm.XMSAvail = XMSAVI;
-		gvar->pm.xmm.XMSHandle = XMSHAN;
+		gvar->mmi.XMSmem = (dword)(XMSAvail) * 1024;
+		gvar->pm.xmm.XMSAvail = XMSAvail;
+		gvar->pm.xmm.XMSHandle = XMSHandle;
 //++++		gvar->pm.xmm.XMSVer = XMSVer;
 		gvar->pm.xmm.XMSPresent = true;
 #ifdef __DEBUG_PM__
-		printf("	XMSmem=%lu	XMSAvail=%u\n", gvar->mmi.XMSmem, XMSAVI);
+		printf("	XMSmem=%lu	XMSAvail=%u\n", gvar->mmi.XMSmem, XMSAvail);
 #endif
 	}
 	else
@@ -501,7 +487,7 @@ error:
 		//printf("	1=%u	2=%u	3=%u	4=%u\n", XMSHandle1, XMSHandle2, XMSHandle3, XMSHandle4);
 		//printf("	2=%u	", XMSHandle);
 		//printf("	%u", gvar->pm.xmm.XMSHandle);
-		printf("err=%02X	e=%u\n", err, e);
+		printf("	err=%02X	e=%u\n", err, e);
 #endif
 	}
 	return(gvar->pm.xmm.XMSPresent);
@@ -1565,7 +1551,7 @@ PM_Shutdown(global_game_variables_t *gvar)
 	if (!gvar->pm.PMStarted)
 		return;
 
-	PML_ClosePageFile(gvar);
+	//PML_ClosePageFile(gvar);
 
 	PML_ShutdownMainMem(gvar);
 }
diff --git a/src/vrstest.c b/src/vrstest.c
index 5dd2ffef..ccf1e810 100755
--- a/src/vrstest.c
+++ b/src/vrstest.c
@@ -50,6 +50,9 @@ void main() {
 	struct vrl_container *vrl;
 	word w=0;
 
+	gvar.mm.mmstarted=0;
+	dbg_debugpm=1;
+
 	// DOSLIB: check our environment
 	probe_dos();
 
@@ -73,7 +76,6 @@ void main() {
 
 	//gvar.video.page[0]=modexDefaultPage(&gvar.video.page[0]);
 
-	gvar.mm.mmstarted=0;
 	MM_Startup(&gvar);
 	PM_Startup(&gvar);
 	PM_UnlockMainMem(&gvar);
@@ -141,7 +143,7 @@ void main() {
 	t2 = (*clockw-start)/18.2;
 
 	for (i = 0; i < 5; i++){
-	spri.delay = 1; animate_spri(&spri); spri.x += 20; sleep(1); }
+	spri.delay = 1; animate_spri(&spri); spri.x += 20; /*sleep(1);*/ }
 
 	while(!kbhit())
 	{
@@ -158,6 +160,7 @@ void main() {
 	VGAmodeX(0, 1, &gvar);
 	MM_ShowMemory(&gvar);
 	MM_DumpData(&gvar);
+	MM_Report_(&gvar);
 	free(spri.sprite_vrl_cont);
 	MM_FreePtr(&bigbuffer, &gvar);
 	//MM_FreePtr(&((void __based(sega)*)spri.spritesheet->buffer), &mm);
@@ -171,8 +174,8 @@ void main() {
 	printf("version %s\n", VERSION);
 	printf("t1: %f\n", t1);
 	printf("t2: %f\n", t2);
-	printf("gvar.video.page[0].width: %u\n", gvar.video.page[0].width);
-	printf("gvar.video.page[0].height: %u\n", gvar.video.page[0].height);
+//0000	printf("gvar.video.page[0].width: %u\n", gvar.video.page[0].width);
+//0000	printf("gvar.video.page[0].height: %u\n", gvar.video.page[0].height);
 	printf("Num %d", num_of_vrl);
 	if(baka) printf("\nyay!\n");
 	else printf("\npoo!\n");
-- 
2.39.5