From c76bc3c65bd311b23d3670d931065c4b82b49a6f Mon Sep 17 00:00:00 2001
From: sparky4 <sparky4@cock.li>
Date: Wed, 28 Sep 2016 16:05:19 -0500
Subject: [PATCH] ====ems was broke on previous builds of this day so reverted
 something back====

---
 DEBUG.16W       | 214 ++++++++++++++++++++++++------------------------
 HEAP.16W        |  42 +++++-----
 src/lib/16_mm.h |   4 +-
 src/lib/16_pm.c |   8 +-
 4 files changed, 134 insertions(+), 134 deletions(-)

diff --git a/DEBUG.16W b/DEBUG.16W
index 0d535963..6bbbce7f 100755
--- a/DEBUG.16W
+++ b/DEBUG.16W
@@ -1,210 +1,210 @@
-Seg:0	Size:9830	Owner:0x0
+Seg:0	Size:9834	Owner:0x0
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0
-Seg:2666	Size:256	Owner:0x18a8
+Seg:266a	Size:256	Owner:0x18a8
 +++++
-Seg:27e2	Size:44	Owner:0x0
+Seg:27e6	Size:44	Owner:0x0
 ++
-Seg:280e	Size:256	Owner:0x1696
+Seg:2812	Size:256	Owner:0x1696
 ++++
-Seg:290e	Size:256	Owner:0x1698
+Seg:2912	Size:256	Owner:0x1698
 ++++
-Seg:2a0e	Size:256	Owner:0x169a
+Seg:2a12	Size:256	Owner:0x169a
 ++++
-Seg:2b0e	Size:256	Owner:0x169c
-++++
-Seg:2c0e	Size:256	Owner:0x169e
+Seg:2b12	Size:256	Owner:0x169c
 +++++
-Seg:2d0e	Size:256	Owner:0x16a0
+Seg:2c12	Size:256	Owner:0x169e
 ++++
-Seg:2e0e	Size:256	Owner:0x16a2
+Seg:2d12	Size:256	Owner:0x16a0
 ++++
-Seg:2f0e	Size:256	Owner:0x16a4
+Seg:2e12	Size:256	Owner:0x16a2
 ++++
-Seg:300e	Size:256	Owner:0x16a6
+Seg:2f12	Size:256	Owner:0x16a4
 ++++
-Seg:310e	Size:256	Owner:0x16a8
+Seg:3012	Size:256	Owner:0x16a6
 +++++
-Seg:320e	Size:256	Owner:0x16aa
+Seg:3112	Size:256	Owner:0x16a8
 ++++
-Seg:330e	Size:256	Owner:0x16ac
+Seg:3212	Size:256	Owner:0x16aa
 ++++
-Seg:340e	Size:256	Owner:0x16ae
+Seg:3312	Size:256	Owner:0x16ac
 ++++
-Seg:350e	Size:256	Owner:0x16b0
+Seg:3412	Size:256	Owner:0x16ae
 ++++
-Seg:360e	Size:256	Owner:0x16b2
+Seg:3512	Size:256	Owner:0x16b0
 +++++
-Seg:370e	Size:256	Owner:0x16b4
+Seg:3612	Size:256	Owner:0x16b2
 ++++
-Seg:380e	Size:256	Owner:0x16b6
+Seg:3712	Size:256	Owner:0x16b4
 ++++
-Seg:390e	Size:256	Owner:0x16b8
+Seg:3812	Size:256	Owner:0x16b6
 ++++
-Seg:3a0e	Size:256	Owner:0x16ba
+Seg:3912	Size:256	Owner:0x16b8
 ++++
-Seg:3b0e	Size:256	Owner:0x16bc
+Seg:3a12	Size:256	Owner:0x16ba
 +++++
-Seg:3c0e	Size:256	Owner:0x16be
+Seg:3b12	Size:256	Owner:0x16bc
 ++++
-Seg:3d0e	Size:256	Owner:0x16c0
+Seg:3c12	Size:256	Owner:0x16be
 ++++
-Seg:3e0e	Size:256	Owner:0x16c2
+Seg:3d12	Size:256	Owner:0x16c0
 ++++
-Seg:3f0e	Size:256	Owner:0x16c4
+Seg:3e12	Size:256	Owner:0x16c2
 ++++
-Seg:400e	Size:256	Owner:0x16c6
+Seg:3f12	Size:256	Owner:0x16c4
 +++++
-Seg:410e	Size:256	Owner:0x16c8
+Seg:4012	Size:256	Owner:0x16c6
 ++++
-Seg:420e	Size:256	Owner:0x16ca
+Seg:4112	Size:256	Owner:0x16c8
 ++++
-Seg:430e	Size:256	Owner:0x16cc
+Seg:4212	Size:256	Owner:0x16ca
 ++++
-Seg:440e	Size:256	Owner:0x16ce
+Seg:4312	Size:256	Owner:0x16cc
 ++++
-Seg:450e	Size:256	Owner:0x16d0
+Seg:4412	Size:256	Owner:0x16ce
 +++++
-Seg:460e	Size:256	Owner:0x16d2
+Seg:4512	Size:256	Owner:0x16d0
 ++++
-Seg:470e	Size:256	Owner:0x16d4
+Seg:4612	Size:256	Owner:0x16d2
 ++++
-Seg:480e	Size:256	Owner:0x16d6
+Seg:4712	Size:256	Owner:0x16d4
 ++++
-Seg:490e	Size:256	Owner:0x16d8
+Seg:4812	Size:256	Owner:0x16d6
 ++++
-Seg:4a0e	Size:256	Owner:0x16da
+Seg:4912	Size:256	Owner:0x16d8
 +++++
-Seg:4b0e	Size:256	Owner:0x16dc
+Seg:4a12	Size:256	Owner:0x16da
 ++++
-Seg:4c0e	Size:256	Owner:0x16de
+Seg:4b12	Size:256	Owner:0x16dc
 ++++
-Seg:4d0e	Size:256	Owner:0x16e0
+Seg:4c12	Size:256	Owner:0x16de
 ++++
-Seg:4e0e	Size:256	Owner:0x16e2
+Seg:4d12	Size:256	Owner:0x16e0
 ++++
-Seg:4f0e	Size:256	Owner:0x16e4
+Seg:4e12	Size:256	Owner:0x16e2
 +++++
-Seg:500e	Size:256	Owner:0x16e6
+Seg:4f12	Size:256	Owner:0x16e4
 ++++
-Seg:510e	Size:256	Owner:0x16e8
+Seg:5012	Size:256	Owner:0x16e6
 ++++
-Seg:520e	Size:256	Owner:0x16ea
+Seg:5112	Size:256	Owner:0x16e8
 ++++
-Seg:530e	Size:256	Owner:0x16ec
+Seg:5212	Size:256	Owner:0x16ea
 ++++
-Seg:540e	Size:256	Owner:0x16ee
+Seg:5312	Size:256	Owner:0x16ec
 +++++
-Seg:550e	Size:256	Owner:0x16f0
+Seg:5412	Size:256	Owner:0x16ee
 ++++
-Seg:560e	Size:256	Owner:0x16f2
+Seg:5512	Size:256	Owner:0x16f0
 ++++
-Seg:570e	Size:256	Owner:0x16f4
+Seg:5612	Size:256	Owner:0x16f2
 ++++
-Seg:580e	Size:256	Owner:0x16f6
+Seg:5712	Size:256	Owner:0x16f4
 ++++
-Seg:590e	Size:256	Owner:0x16f8
+Seg:5812	Size:256	Owner:0x16f6
 +++++
-Seg:5a0e	Size:256	Owner:0x16fa
+Seg:5912	Size:256	Owner:0x16f8
 ++++
-Seg:5b0e	Size:256	Owner:0x16fc
+Seg:5a12	Size:256	Owner:0x16fa
 ++++
-Seg:5c0e	Size:256	Owner:0x16fe
+Seg:5b12	Size:256	Owner:0x16fc
 ++++
-Seg:5d0e	Size:256	Owner:0x1700
+Seg:5c12	Size:256	Owner:0x16fe
 ++++
-Seg:5e0e	Size:256	Owner:0x1702
+Seg:5d12	Size:256	Owner:0x1700
 +++++
-Seg:5f0e	Size:256	Owner:0x1704
+Seg:5e12	Size:256	Owner:0x1702
 ++++
-Seg:600e	Size:256	Owner:0x1706
+Seg:5f12	Size:256	Owner:0x1704
 ++++
-Seg:610e	Size:256	Owner:0x1708
+Seg:6012	Size:256	Owner:0x1706
 ++++
-Seg:620e	Size:256	Owner:0x170a
+Seg:6112	Size:256	Owner:0x1708
 ++++
-Seg:630e	Size:256	Owner:0x170c
+Seg:6212	Size:256	Owner:0x170a
 +++++
-Seg:640e	Size:256	Owner:0x170e
+Seg:6312	Size:256	Owner:0x170c
 ++++
-Seg:650e	Size:256	Owner:0x1710
+Seg:6412	Size:256	Owner:0x170e
 ++++
-Seg:660e	Size:256	Owner:0x1712
+Seg:6512	Size:256	Owner:0x1710
 ++++
-Seg:670e	Size:256	Owner:0x1714
+Seg:6612	Size:256	Owner:0x1712
 ++++
-Seg:680e	Size:256	Owner:0x1716
+Seg:6712	Size:256	Owner:0x1714
 +++++
-Seg:690e	Size:256	Owner:0x1718
+Seg:6812	Size:256	Owner:0x1716
 ++++
-Seg:6a0e	Size:256	Owner:0x171a
+Seg:6912	Size:256	Owner:0x1718
 ++++
-Seg:6b0e	Size:256	Owner:0x171c
+Seg:6a12	Size:256	Owner:0x171a
 ++++
-Seg:6c0e	Size:256	Owner:0x171e
+Seg:6b12	Size:256	Owner:0x171c
 ++++
-Seg:6d0e	Size:256	Owner:0x1720
+Seg:6c12	Size:256	Owner:0x171e
 +++++
-Seg:6e0e	Size:256	Owner:0x1722
+Seg:6d12	Size:256	Owner:0x1720
 ++++
-Seg:6f0e	Size:256	Owner:0x1724
+Seg:6e12	Size:256	Owner:0x1722
 ++++
-Seg:700e	Size:256	Owner:0x1726
+Seg:6f12	Size:256	Owner:0x1724
 ++++
-Seg:710e	Size:256	Owner:0x1728
+Seg:7012	Size:256	Owner:0x1726
 ++++
-Seg:720e	Size:256	Owner:0x172a
+Seg:7112	Size:256	Owner:0x1728
 +++++
-Seg:730e	Size:256	Owner:0x172c
+Seg:7212	Size:256	Owner:0x172a
 ++++
-Seg:740e	Size:256	Owner:0x172e
+Seg:7312	Size:256	Owner:0x172c
 ++++
-Seg:750e	Size:256	Owner:0x1730
+Seg:7412	Size:256	Owner:0x172e
 ++++
-Seg:760e	Size:256	Owner:0x1732
+Seg:7512	Size:256	Owner:0x1730
 ++++
-Seg:770e	Size:256	Owner:0x1734
+Seg:7612	Size:256	Owner:0x1732
 +++++
-Seg:780e	Size:256	Owner:0x1736
+Seg:7712	Size:256	Owner:0x1734
 ++++
-Seg:790e	Size:256	Owner:0x1738
+Seg:7812	Size:256	Owner:0x1736
 ++++
-Seg:7a0e	Size:256	Owner:0x173a
+Seg:7912	Size:256	Owner:0x1738
 ++++
-Seg:7b0e	Size:256	Owner:0x173c
+Seg:7a12	Size:256	Owner:0x173a
 ++++
-Seg:7c0e	Size:256	Owner:0x173e
+Seg:7b12	Size:256	Owner:0x173c
 +++++
-Seg:7d0e	Size:256	Owner:0x1740
+Seg:7c12	Size:256	Owner:0x173e
 ++++
-Seg:7e0e	Size:256	Owner:0x1742
+Seg:7d12	Size:256	Owner:0x1740
 ++++
-Seg:7f0e	Size:256	Owner:0x1744
+Seg:7e12	Size:256	Owner:0x1742
 ++++
-Seg:800e	Size:256	Owner:0x1746
+Seg:7f12	Size:256	Owner:0x1744
 ++++
-Seg:810e	Size:256	Owner:0x1748
+Seg:8012	Size:256	Owner:0x1746
 +++++
-Seg:820e	Size:256	Owner:0x174a
+Seg:8112	Size:256	Owner:0x1748
 ++++
-Seg:830e	Size:256	Owner:0x174c
+Seg:8212	Size:256	Owner:0x174a
 ++++
-Seg:840e	Size:256	Owner:0x174e
+Seg:8312	Size:256	Owner:0x174c
 ++++
-Seg:850e	Size:256	Owner:0x1750
+Seg:8412	Size:256	Owner:0x174e
 ++++
-Seg:860e	Size:256	Owner:0x1752
+Seg:8512	Size:256	Owner:0x1750
 +++++
-Seg:870e	Size:256	Owner:0x1754
+Seg:8612	Size:256	Owner:0x1752
 ++++
-Seg:880e	Size:256	Owner:0x1756
+Seg:8712	Size:256	Owner:0x1754
 ++++
-Seg:890e	Size:256	Owner:0x1758
+Seg:8812	Size:256	Owner:0x1756
 ++++
-Seg:8a0e	Size:256	Owner:0x175a
+Seg:8912	Size:256	Owner:0x1758
 ++++
-Seg:8b0e	Size:256	Owner:0x175c
+Seg:8a12	Size:256	Owner:0x175a
 +++++
-Seg:8c0e	Size:273	Owner:0xe400
+Seg:8b12	Size:256	Owner:0x175c
+++++
+Seg:8c12	Size:273	Owner:0xe400
 ++++
-Seg:b80e	Size:18417	Owner:0x0
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
\ No newline at end of file
+Seg:b812	Size:18413	Owner:0x0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
\ No newline at end of file
diff --git a/HEAP.16W b/HEAP.16W
index 536fe06c..bb4671ba 100755
--- a/HEAP.16W
+++ b/HEAP.16W
@@ -1,35 +1,35 @@
 
 	== default ==
 
-  USED block at 28040016 of size 66
-  USED block at 28040058 of size 66
-  FREE block at 2804009a of size 18
-  USED block at 280400ac of size 136
-  USED block at 28040134 of size 20
-  FREE block at 28040148 of size 7860
+  USED block at 28080016 of size 66
+  USED block at 28080058 of size 66
+  FREE block at 2808009a of size 18
+  USED block at 280800ac of size 136
+  USED block at 28080134 of size 20
+  FREE block at 28080148 of size 7860
 OK - end of heap
 
 	== near ==
 
-  USED block at 1803e436 of size 12
-  USED block at 1803e442 of size 332
-  USED block at 1803e58e of size 52
-  USED block at 1803e5c2 of size 20
-  USED block at 1803e5d6 of size 20
-  USED block at 1803e5ea of size 20
-  USED block at 1803e5fe of size 20
-  USED block at 1803e612 of size 20
-  USED block at 1803e626 of size 6614
+  USED block at 1807e436 of size 12
+  USED block at 1807e442 of size 332
+  USED block at 1807e58e of size 52
+  USED block at 1807e5c2 of size 20
+  USED block at 1807e5d6 of size 20
+  USED block at 1807e5ea of size 20
+  USED block at 1807e5fe of size 20
+  USED block at 1807e612 of size 20
+  USED block at 1807e626 of size 6614
 OK - end of heap
 
 	== far ==
 
-  USED block at 28040016 of size 66
-  USED block at 28040058 of size 66
-  USED block at 2804009a of size 18
-  USED block at 280400ac of size 136
-  USED block at 28040134 of size 20
-  USED block at 28040148 of size 7860
+  USED block at 28080016 of size 66
+  USED block at 28080058 of size 66
+  USED block at 2808009a of size 18
+  USED block at 280800ac of size 136
+  USED block at 28080134 of size 20
+  USED block at 28080148 of size 7860
 OK - end of heap
 
 Memory Type         Total      Used       Free
diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h
index 59716d49..e4f41b4c 100755
--- a/src/lib/16_mm.h
+++ b/src/lib/16_mm.h
@@ -184,8 +184,8 @@ boolean MML_CheckForEMS(void);
 //byte MML_SetupEMS(mminfo_t *mm);
 //void MML_ShutdownEMS(mminfo_t *mm);
 byte MM_MapEMS(global_game_variables_t *gvar);
-byte MM_MapXEMS(global_game_variables_t *gvar);
-//boolean MML_CheckForXMS(mminfo_t *mm);
+//byte MM_MapXEMS(global_game_variables_t *gvar);
+boolean MML_CheckForXMS(global_game_variables_t *gvar);
 //void MML_SetupXMS(mminfo_t *mm, mminfotype *mmi);
 //void MML_ShutdownXMS(mminfo_t *mm);
 void MML_UseSpace(word segstart, dword seglength, global_game_variables_t *gvar);
diff --git a/src/lib/16_pm.c b/src/lib/16_pm.c
index 26acb3b5..a5bbb601 100755
--- a/src/lib/16_pm.c
+++ b/src/lib/16_pm.c
@@ -1472,9 +1472,9 @@ PM_Startup(global_game_variables_t *gvar)
 
 	//0000+=+=PML_OpenPageFile(gvar);
 
-	if (!noems)
+	if (!noems && MML_CheckForEMS())
 		PML_StartupEMS(gvar);
-	if (!noxms)
+	if (!noxms && MML_CheckForXMS(gvar))
 		PML_StartupXMS(gvar);
 
 	if (!nomain && !gvar->pm.emm.EMSPresent)
@@ -1496,8 +1496,8 @@ PM_Startup(global_game_variables_t *gvar)
 void
 PM_Shutdown(global_game_variables_t *gvar)
 {
-	PML_ShutdownXMS(gvar);
-	PML_ShutdownEMS(gvar);
+	if(MML_CheckForXMS(gvar)) PML_ShutdownXMS(gvar);
+	if(MML_CheckForEMS()) PML_ShutdownEMS(gvar);
 
 	if (!gvar->pm.PMStarted)
 		return;
-- 
2.39.5