]> 4ch.mooo.com Git - 16.git/commitdiff
xms still being worked on
authorsparky4 <sparky4@cock.li>
Thu, 29 Sep 2016 15:50:20 +0000 (10:50 -0500)
committersparky4 <sparky4@cock.li>
Thu, 29 Sep 2016 15:50:20 +0000 (10:50 -0500)
DEBUG.16W
HEAP.16W
src/exmmtest.c
src/lib/16_mm.c
src/lib/16_mm.h
src/lib/16_pm.c
src/lib/typdefst.h
src/vrstest.c

index 6bbbce7f70e1158a263cb401d367b11d6952d7b2..66a0f5a33714eb7bc8899b57ac21744ed6d7d1f2 100755 (executable)
--- a/DEBUG.16W
+++ b/DEBUG.16W
-\e[0mSeg:0      Size:9834       Owner:0x0\r
-\e[41;31m+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\e[0m\e[42;32m0\r
-\e[0m\e[0mSeg:266a       Size:256        Owner:0x18a8\r
-\e[44;34m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:27e6       Size:44 Owner:0x0\r
+\e[0mSeg:0      Size:9845       Owner:0x0\r
+\e[41;31m++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2675       Size:256        Owner:0x18a8\r
+\e[44;34m++++\e[0m\e[42;32m\r
+\e[0m\e[0mSeg:27f1       Size:44 Owner:0x0\r
 \e[41;31m++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2812       Size:256        Owner:0x1696\r
+\e[0m\e[0mSeg:281d       Size:256        Owner:0x1696\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2912       Size:256        Owner:0x1698\r
+\e[0m\e[0mSeg:291d       Size:256        Owner:0x1698\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2a12       Size:256        Owner:0x169a\r
+\e[0m\e[0mSeg:2a1d       Size:256        Owner:0x169a\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2b12       Size:256        Owner:0x169c\r
+\e[0m\e[0mSeg:2b1d       Size:256        Owner:0x169c\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2c12       Size:256        Owner:0x169e\r
+\e[0m\e[0mSeg:2c1d       Size:256        Owner:0x169e\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2d12       Size:256        Owner:0x16a0\r
+\e[0m\e[0mSeg:2d1d       Size:256        Owner:0x16a0\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2e12       Size:256        Owner:0x16a2\r
+\e[0m\e[0mSeg:2e1d       Size:256        Owner:0x16a2\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2f12       Size:256        Owner:0x16a4\r
+\e[0m\e[0mSeg:2f1d       Size:256        Owner:0x16a4\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3012       Size:256        Owner:0x16a6\r
+\e[0m\e[0mSeg:301d       Size:256        Owner:0x16a6\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3112       Size:256        Owner:0x16a8\r
+\e[0m\e[0mSeg:311d       Size:256        Owner:0x16a8\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3212       Size:256        Owner:0x16aa\r
+\e[0m\e[0mSeg:321d       Size:256        Owner:0x16aa\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3312       Size:256        Owner:0x16ac\r
+\e[0m\e[0mSeg:331d       Size:256        Owner:0x16ac\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3412       Size:256        Owner:0x16ae\r
+\e[0m\e[0mSeg:341d       Size:256        Owner:0x16ae\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3512       Size:256        Owner:0x16b0\r
+\e[0m\e[0mSeg:351d       Size:256        Owner:0x16b0\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3612       Size:256        Owner:0x16b2\r
+\e[0m\e[0mSeg:361d       Size:256        Owner:0x16b2\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3712       Size:256        Owner:0x16b4\r
+\e[0m\e[0mSeg:371d       Size:256        Owner:0x16b4\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3812       Size:256        Owner:0x16b6\r
+\e[0m\e[0mSeg:381d       Size:256        Owner:0x16b6\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3912       Size:256        Owner:0x16b8\r
+\e[0m\e[0mSeg:391d       Size:256        Owner:0x16b8\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3a12       Size:256        Owner:0x16ba\r
+\e[0m\e[0mSeg:3a1d       Size:256        Owner:0x16ba\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3b12       Size:256        Owner:0x16bc\r
+\e[0m\e[0mSeg:3b1d       Size:256        Owner:0x16bc\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3c12       Size:256        Owner:0x16be\r
+\e[0m\e[0mSeg:3c1d       Size:256        Owner:0x16be\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3d12       Size:256        Owner:0x16c0\r
+\e[0m\e[0mSeg:3d1d       Size:256        Owner:0x16c0\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3e12       Size:256        Owner:0x16c2\r
+\e[0m\e[0mSeg:3e1d       Size:256        Owner:0x16c2\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3f12       Size:256        Owner:0x16c4\r
+\e[0m\e[0mSeg:3f1d       Size:256        Owner:0x16c4\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4012       Size:256        Owner:0x16c6\r
+\e[0m\e[0mSeg:401d       Size:256        Owner:0x16c6\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4112       Size:256        Owner:0x16c8\r
+\e[0m\e[0mSeg:411d       Size:256        Owner:0x16c8\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4212       Size:256        Owner:0x16ca\r
+\e[0m\e[0mSeg:421d       Size:256        Owner:0x16ca\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4312       Size:256        Owner:0x16cc\r
+\e[0m\e[0mSeg:431d       Size:256        Owner:0x16cc\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4412       Size:256        Owner:0x16ce\r
+\e[0m\e[0mSeg:441d       Size:256        Owner:0x16ce\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4512       Size:256        Owner:0x16d0\r
+\e[0m\e[0mSeg:451d       Size:256        Owner:0x16d0\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4612       Size:256        Owner:0x16d2\r
+\e[0m\e[0mSeg:461d       Size:256        Owner:0x16d2\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4712       Size:256        Owner:0x16d4\r
+\e[0m\e[0mSeg:471d       Size:256        Owner:0x16d4\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4812       Size:256        Owner:0x16d6\r
+\e[0m\e[0mSeg:481d       Size:256        Owner:0x16d6\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4912       Size:256        Owner:0x16d8\r
+\e[0m\e[0mSeg:491d       Size:256        Owner:0x16d8\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4a12       Size:256        Owner:0x16da\r
+\e[0m\e[0mSeg:4a1d       Size:256        Owner:0x16da\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4b12       Size:256        Owner:0x16dc\r
+\e[0m\e[0mSeg:4b1d       Size:256        Owner:0x16dc\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4c12       Size:256        Owner:0x16de\r
+\e[0m\e[0mSeg:4c1d       Size:256        Owner:0x16de\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4d12       Size:256        Owner:0x16e0\r
+\e[0m\e[0mSeg:4d1d       Size:256        Owner:0x16e0\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4e12       Size:256        Owner:0x16e2\r
+\e[0m\e[0mSeg:4e1d       Size:256        Owner:0x16e2\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4f12       Size:256        Owner:0x16e4\r
+\e[0m\e[0mSeg:4f1d       Size:256        Owner:0x16e4\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5012       Size:256        Owner:0x16e6\r
+\e[0m\e[0mSeg:501d       Size:256        Owner:0x16e6\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5112       Size:256        Owner:0x16e8\r
+\e[0m\e[0mSeg:511d       Size:256        Owner:0x16e8\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5212       Size:256        Owner:0x16ea\r
+\e[0m\e[0mSeg:521d       Size:256        Owner:0x16ea\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5312       Size:256        Owner:0x16ec\r
+\e[0m\e[0mSeg:531d       Size:256        Owner:0x16ec\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5412       Size:256        Owner:0x16ee\r
+\e[0m\e[0mSeg:541d       Size:256        Owner:0x16ee\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5512       Size:256        Owner:0x16f0\r
+\e[0m\e[0mSeg:551d       Size:256        Owner:0x16f0\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5612       Size:256        Owner:0x16f2\r
+\e[0m\e[0mSeg:561d       Size:256        Owner:0x16f2\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5712       Size:256        Owner:0x16f4\r
+\e[0m\e[0mSeg:571d       Size:256        Owner:0x16f4\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5812       Size:256        Owner:0x16f6\r
+\e[0m\e[0mSeg:581d       Size:256        Owner:0x16f6\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5912       Size:256        Owner:0x16f8\r
+\e[0m\e[0mSeg:591d       Size:256        Owner:0x16f8\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5a12       Size:256        Owner:0x16fa\r
+\e[0m\e[0mSeg:5a1d       Size:256        Owner:0x16fa\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5b12       Size:256        Owner:0x16fc\r
+\e[0m\e[0mSeg:5b1d       Size:256        Owner:0x16fc\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5c12       Size:256        Owner:0x16fe\r
+\e[0m\e[0mSeg:5c1d       Size:256        Owner:0x16fe\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5d12       Size:256        Owner:0x1700\r
+\e[0m\e[0mSeg:5d1d       Size:256        Owner:0x1700\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5e12       Size:256        Owner:0x1702\r
+\e[0m\e[0mSeg:5e1d       Size:256        Owner:0x1702\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5f12       Size:256        Owner:0x1704\r
+\e[0m\e[0mSeg:5f1d       Size:256        Owner:0x1704\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6012       Size:256        Owner:0x1706\r
+\e[0m\e[0mSeg:601d       Size:256        Owner:0x1706\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6112       Size:256        Owner:0x1708\r
+\e[0m\e[0mSeg:611d       Size:256        Owner:0x1708\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6212       Size:256        Owner:0x170a\r
+\e[0m\e[0mSeg:621d       Size:256        Owner:0x170a\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6312       Size:256        Owner:0x170c\r
+\e[0m\e[0mSeg:631d       Size:256        Owner:0x170c\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6412       Size:256        Owner:0x170e\r
+\e[0m\e[0mSeg:641d       Size:256        Owner:0x170e\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6512       Size:256        Owner:0x1710\r
+\e[0m\e[0mSeg:651d       Size:256        Owner:0x1710\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6612       Size:256        Owner:0x1712\r
+\e[0m\e[0mSeg:661d       Size:256        Owner:0x1712\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6712       Size:256        Owner:0x1714\r
+\e[0m\e[0mSeg:671d       Size:256        Owner:0x1714\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6812       Size:256        Owner:0x1716\r
+\e[0m\e[0mSeg:681d       Size:256        Owner:0x1716\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6912       Size:256        Owner:0x1718\r
+\e[0m\e[0mSeg:691d       Size:256        Owner:0x1718\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6a12       Size:256        Owner:0x171a\r
+\e[0m\e[0mSeg:6a1d       Size:256        Owner:0x171a\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6b12       Size:256        Owner:0x171c\r
+\e[0m\e[0mSeg:6b1d       Size:256        Owner:0x171c\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6c12       Size:256        Owner:0x171e\r
+\e[0m\e[0mSeg:6c1d       Size:256        Owner:0x171e\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6d12       Size:256        Owner:0x1720\r
+\e[0m\e[0mSeg:6d1d       Size:256        Owner:0x1720\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6e12       Size:256        Owner:0x1722\r
+\e[0m\e[0mSeg:6e1d       Size:256        Owner:0x1722\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6f12       Size:256        Owner:0x1724\r
+\e[0m\e[0mSeg:6f1d       Size:256        Owner:0x1724\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7012       Size:256        Owner:0x1726\r
+\e[0m\e[0mSeg:701d       Size:256        Owner:0x1726\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7112       Size:256        Owner:0x1728\r
+\e[0m\e[0mSeg:711d       Size:256        Owner:0x1728\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7212       Size:256        Owner:0x172a\r
+\e[0m\e[0mSeg:721d       Size:256        Owner:0x172a\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7312       Size:256        Owner:0x172c\r
+\e[0m\e[0mSeg:731d       Size:256        Owner:0x172c\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7412       Size:256        Owner:0x172e\r
+\e[0m\e[0mSeg:741d       Size:256        Owner:0x172e\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7512       Size:256        Owner:0x1730\r
+\e[0m\e[0mSeg:751d       Size:256        Owner:0x1730\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7612       Size:256        Owner:0x1732\r
+\e[0m\e[0mSeg:761d       Size:256        Owner:0x1732\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7712       Size:256        Owner:0x1734\r
+\e[0m\e[0mSeg:771d       Size:256        Owner:0x1734\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7812       Size:256        Owner:0x1736\r
+\e[0m\e[0mSeg:781d       Size:256        Owner:0x1736\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7912       Size:256        Owner:0x1738\r
+\e[0m\e[0mSeg:791d       Size:256        Owner:0x1738\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7a12       Size:256        Owner:0x173a\r
+\e[0m\e[0mSeg:7a1d       Size:256        Owner:0x173a\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7b12       Size:256        Owner:0x173c\r
+\e[0m\e[0mSeg:7b1d       Size:256        Owner:0x173c\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7c12       Size:256        Owner:0x173e\r
+\e[0m\e[0mSeg:7c1d       Size:256        Owner:0x173e\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7d12       Size:256        Owner:0x1740\r
+\e[0m\e[0mSeg:7d1d       Size:256        Owner:0x1740\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7e12       Size:256        Owner:0x1742\r
+\e[0m\e[0mSeg:7e1d       Size:256        Owner:0x1742\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7f12       Size:256        Owner:0x1744\r
+\e[0m\e[0mSeg:7f1d       Size:256        Owner:0x1744\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8012       Size:256        Owner:0x1746\r
+\e[0m\e[0mSeg:801d       Size:256        Owner:0x1746\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8112       Size:256        Owner:0x1748\r
+\e[0m\e[0mSeg:811d       Size:256        Owner:0x1748\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8212       Size:256        Owner:0x174a\r
+\e[0m\e[0mSeg:821d       Size:256        Owner:0x174a\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8312       Size:256        Owner:0x174c\r
+\e[0m\e[0mSeg:831d       Size:256        Owner:0x174c\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8412       Size:256        Owner:0x174e\r
+\e[0m\e[0mSeg:841d       Size:256        Owner:0x174e\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8512       Size:256        Owner:0x1750\r
+\e[0m\e[0mSeg:851d       Size:256        Owner:0x1750\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8612       Size:256        Owner:0x1752\r
+\e[0m\e[0mSeg:861d       Size:256        Owner:0x1752\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8712       Size:256        Owner:0x1754\r
+\e[0m\e[0mSeg:871d       Size:256        Owner:0x1754\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8812       Size:256        Owner:0x1756\r
+\e[0m\e[0mSeg:881d       Size:256        Owner:0x1756\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8912       Size:256        Owner:0x1758\r
+\e[0m\e[0mSeg:891d       Size:256        Owner:0x1758\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8a12       Size:256        Owner:0x175a\r
+\e[0m\e[0mSeg:8a1d       Size:256        Owner:0x175a\r
 \e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8b12       Size:256        Owner:0x175c\r
+\e[0m\e[0mSeg:8b1d       Size:256        Owner:0x175c\r
 \e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8c12       Size:273        Owner:0xe400\r
+\e[0m\e[0mSeg:8c1d       Size:273        Owner:0xe400\r
 \e[44;34m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:b812       Size:18413      Owner:0x0\r
+\e[0m\e[0mSeg:b81d       Size:18402      Owner:0x0\r
 \e[41;31m+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\e[0m
\ No newline at end of file
index bb4671ba5bd9c72951d4cc808e61360f992a7050..c61787ab0ed3f63d2ffc3f3a93cc703d9640bf9b 100755 (executable)
--- a/HEAP.16W
+++ b/HEAP.16W
@@ -1,35 +1,35 @@
 \r
        == default ==\r
 \r
-  USED block at 28080016 of size 66\r
-  USED block at 28080058 of size 66\r
-  FREE block at 2808009a of size 18\r
-  USED block at 280800ac of size 136\r
-  USED block at 28080134 of size 20\r
-  FREE block at 28080148 of size 7860\r
+  USED block at 28130016 of size 66\r
+  USED block at 28130058 of size 66\r
+  FREE block at 2813009a of size 18\r
+  USED block at 281300ac of size 136\r
+  USED block at 28130134 of size 20\r
+  FREE block at 28130148 of size 7860\r
 OK - end of heap\r
 \r
        == near ==\r
 \r
-  USED block at 1807e436 of size 12\r
-  USED block at 1807e442 of size 332\r
-  USED block at 1807e58e of size 52\r
-  USED block at 1807e5c2 of size 20\r
-  USED block at 1807e5d6 of size 20\r
-  USED block at 1807e5ea of size 20\r
-  USED block at 1807e5fe of size 20\r
-  USED block at 1807e612 of size 20\r
-  USED block at 1807e626 of size 6614\r
+  USED block at 1812e436 of size 12\r
+  USED block at 1812e442 of size 332\r
+  USED block at 1812e58e of size 52\r
+  USED block at 1812e5c2 of size 20\r
+  USED block at 1812e5d6 of size 20\r
+  USED block at 1812e5ea of size 20\r
+  USED block at 1812e5fe of size 20\r
+  USED block at 1812e612 of size 20\r
+  USED block at 1812e626 of size 6614\r
 OK - end of heap\r
 \r
        == far ==\r
 \r
-  USED block at 28080016 of size 66\r
-  USED block at 28080058 of size 66\r
-  USED block at 2808009a of size 18\r
-  USED block at 280800ac of size 136\r
-  USED block at 28080134 of size 20\r
-  USED block at 28080148 of size 7860\r
+  USED block at 28130016 of size 66\r
+  USED block at 28130058 of size 66\r
+  USED block at 2813009a of size 18\r
+  USED block at 281300ac of size 136\r
+  USED block at 28130134 of size 20\r
+  USED block at 28130148 of size 7860\r
 OK - end of heap\r
 \r
 Memory Type         Total      Used       Free\r
index 47a13ea47a05fdad8efcef96d6afbcd529cb06b5..26bfc9648819924e7850f51464be8f17f5250438 100755 (executable)
        exmm test\r
 */\r
 #include "src/lib/16_head.h"\r
+#include "src/lib/16_tail.h"\r
 #include "src/lib/16_pm.h"\r
 #include "src/lib/16_ca.h"\r
 #include "src/lib/16_mm.h"\r
 #include "src/lib/16_hc.h"\r
-#include "src/lib/16_tail.h"\r
 //#include "src/lib/modex16.h"\r
 #pragma hdrstop\r
 \r
index a8c07017fcd00c4d046b87bcca6cead5e407f72f..c8cb9251190aaf9103422b28b1d5ef1a325df1ac 100755 (executable)
@@ -437,10 +437,9 @@ byte MM_MapXEMS(global_game_variables_t *gvar)
 =======================
 */
 
-boolean MML_CheckForXMS(global_game_variables_t *gvar)
+boolean MML_CheckForXMS(void)
 {
        boolean errorflag=false;
-       gvar->mm.numUMBs = 0;
 
        __asm {
                mov     ax,0x4300
@@ -898,7 +897,7 @@ goto xmsskip;//0000
                        ,ParmStringsexmm) == 0)
                        goto xmsskip;                           // param NOXMS
        }
-       if(MML_CheckForXMS(gvar))
+       if(MML_CheckForXMS())
        {
                MML_SetupXMS(gvar);                                     // allocate as many UMBs as possible
        }
@@ -942,7 +941,7 @@ void MM_Shutdown(global_game_variables_t *gvar)
        if(!dbg_debugpm) {
 #endif
        if(MML_CheckForEMS()){ MML_ShutdownEMS(gvar); }//printf("               EMS freed\n"); }
-       if(MML_CheckForXMS(gvar)){ MML_ShutdownXMS(gvar); }//printf("           XMS freed\n"); }
+       if(MML_CheckForXMS()){ MML_ShutdownXMS(gvar); }//printf("               XMS freed\n"); }
 #ifdef __DEBUG__
        }
 #endif
@@ -1622,13 +1621,13 @@ void MM_Report_(global_game_variables_t *gvar)
                printf("                totalEMSpages:  %u      ", gvar->pm.emm.totalEMSpages); printf("freeEMSpages:   %u\n", gvar->pm.emm.freeEMSpages);
                printf("                EMSPageFrame:   %x\n", gvar->pm.emm.EMSPageFrame);
        }
-       if(MML_CheckForXMS(gvar))
+       if(MML_CheckForXMS())
        {
                printf("        XMS\n");
-               printf("                XMSDriver:      %X\n", XMSDriver);
+               printf("                XMSDriver:      %X\n", gvar->pm.xmm.XMSDriver);
        }
        printf("nearheap:       %lu             ", gvar->mmi.nearheap); printf("farheap:        %lu\n", gvar->mmi.farheap);
-       if(MML_CheckForEMS()) printf("EMSmem:           %lu     ", gvar->mmi.EMSmem); if(MML_CheckForXMS(gvar)) printf("XMSmem:         %lu", gvar->mmi.XMSmem); printf("\n");
+       if(MML_CheckForEMS()) printf("EMSmem:           %lu     ", gvar->mmi.EMSmem); if(MML_CheckForXMS()) printf("XMSmem:             %lu", gvar->mmi.XMSmem); printf("\n");
        printf("convmem:\n"); DebugMemory_(gvar, 0);
        //printf("mainmem:      %lu\n", gvar->mmi.mainmem);
        //printf("Total convmem:        %lu     ", gvar->mmi.mainmem); printf("TotalFree:       %lu     ", MM_TotalFree(gvar)+gvar->mmi.EMSmem+gvar->mmi.XMSmem+gvar->mmi.XMSmem); printf("TotalUsed:   %lu\n", gvar->mmi.mainmem);
@@ -1803,6 +1802,15 @@ void MM_FreeBlock(mmblocktype *x, global_game_variables_t *gvar)
        gvar->mm.mmfree=x;
 }*/
 
+void xms_call(byte v, global_game_variables_t *gvar)
+{
+       dword XMSDriver = gvar->pm.xmm.XMSDriver;
+       __asm {
+               mov     ah,[v]
+               call [DWORD PTR XMSDriver]
+       }
+}
+
 /*void MM_seguin(void)
 {
        __asm {
index e4f41b4cd360a1444697855527ad8c9971010598..f7927dbc020a1195cf3ce127fb8d15f8a115d9a0 100755 (executable)
@@ -67,7 +67,7 @@ extern boolean dbg_debugpm;
 \r
 #define        XMS_INT                 0x2f\r
 #define        XMS_CALL(v)             _AH = (v);\\r
-                                               __asm call [WORD PTR XMSDriver]\r
+                                               __asm call [DWORD PTR XMSDriver]\r
 /*__asm { mov ah,[v]\*///}\r
 \r
 #define        XMS_VERSION             0x00\r
@@ -185,7 +185,7 @@ boolean MML_CheckForEMS(void);
 //void MML_ShutdownEMS(mminfo_t *mm);\r
 byte MM_MapEMS(global_game_variables_t *gvar);\r
 //byte MM_MapXEMS(global_game_variables_t *gvar);\r
-boolean MML_CheckForXMS(global_game_variables_t *gvar);\r
+boolean MML_CheckForXMS(void);\r
 //void MML_SetupXMS(mminfo_t *mm, mminfotype *mmi);\r
 //void MML_ShutdownXMS(mminfo_t *mm);\r
 void MML_UseSpace(word segstart, dword seglength, global_game_variables_t *gvar);\r
@@ -208,6 +208,7 @@ void MM_Report_(global_game_variables_t *gvar);
 void MM_BombOnError(boolean bomb, global_game_variables_t *gvar);\r
 //void MM_GetNewBlock(mminfo_t *mm);\r
 //void MM_FreeBlock(mmblocktype *x, mminfo_t *mm);\r
+void xms_call(byte v, global_game_variables_t *gvar);\r
 \r
 //==========================================================================\r
 \r
index a5bbb6010bb60ccca82c815786751565e59c0e0f..ae14303f5d13b43ad9ff4dcc241b00a61987498d 100755 (executable)
@@ -83,11 +83,11 @@ static      char            *ParmStrings[] = {"nomain","noems","noxms",nil};
 byte\r
 PML_MapEMS(word logical, byte physical, global_game_variables_t *gvar)\r
 {\r
-       byte    str[160];\r
+       byte    err, str[160];\r
        unsigned        EMShandle;\r
-       byte err;\r
-       boolean errorflag=false;\r
        int     i;\r
+\r
+       boolean errorflag=false;\r
        EMShandle=gvar->pm.emm.EMSHandle;\r
 \r
        __asm {\r
@@ -139,11 +139,10 @@ boolean
 PML_StartupEMS(global_game_variables_t *gvar)\r
 {\r
        int             i;\r
-       long    size;\r
-       byte    str[64];\r
-       byte err;\r
+       //long  size;\r
+       byte    err, str[64];\r
 \r
-       boolean errorflag=0;\r
+       boolean errorflag=false;\r
        static char     emmname[] = "EMMXXXX0"; //fix by andrius4669\r
        unsigned int EMSVer = 0;\r
        unsigned        totalEMSpages,freeEMSpages,EMSPageFrame,EMSHandle,EMSAvail;\r
@@ -299,10 +298,9 @@ void
 PML_ShutdownEMS(global_game_variables_t *gvar)\r
 {\r
        word EMSHandle;\r
-       byte err;\r
-       byte    str[64];\r
-       boolean errorflag=false;\r
+       byte err,str[64];\r
 \r
+       boolean errorflag=false;\r
        EMSHandle=gvar->pm.emm.EMSHandle;\r
 \r
        if (gvar->pm.emm.EMSPresent)\r
@@ -357,7 +355,12 @@ boolean
 PML_StartupXMS(global_game_variables_t *gvar)\r
 {\r
        boolean errorflag;\r
-       word XMSAvail, XMSHandle;\r
+       byte err;\r
+       word /*XMSAvail,*/ XMSHandle;\r
+\r
+       word XMSAvail1, XMSAvail2, XMSAvail3, XMSAvail4;\r
+\r
+       word e=0;\r
        errorflag=gvar->pm.xmm.XMSPresent = false;                                      // Assume failure\r
        gvar->pm.xmm.XMSAvail = gvar->mmi.XMSmem = 0;\r
 \r
@@ -365,83 +368,139 @@ PML_StartupXMS(global_game_variables_t *gvar)
                mov     ax,0x4300\r
                int     XMS_INT                                         // Check for presence of XMS driver\r
                cmp     al,0x80\r
-               jne     errorxu\r
+               jne     error1\r
+               mov     e,1\r
 \r
                mov     ax,0x4310\r
                int     XMS_INT                                                 // Get address of XMS driver\r
                mov     [WORD PTR XMSDriver],bx\r
                mov     [WORD PTR XMSDriver+2],es               // function pointer to XMS driver\r
+               mov     e,2\r
 \r
                //XMS_CALL(XMS_QUERYFREE);                      // Find out how much XMS is available\r
-               mov     ah,XMS_QUERYFREE\r
+               mov     ah,XMS_QUERYFREE                        // Find out how much XMS is available\r
                call    [DWORD PTR XMSDriver]\r
-               mov     [XMSAvail],ax\r
-               or      ax,ax                           // AJR: bugfix 10/8/92\r
-               jz      errorxu\r
-               jmp     Endxu\r
+               //mov   [XMSAvail],ax\r
+               //mov   XMSAvail1,ax\r
+               //mov   ax,XMSAvail2\r
+               //mov   [XMSAvail3],ax\r
+               mov     ax,[XMSAvail4]\r
+               mov     err,bl\r
+               cmp     ax,0                            // AJR: bugfix 10/8/92\r
+               je      error1\r
+               mov     e,3\r
+               jmp     End1\r
 #ifdef __BORLANDC__\r
        }\r
 #endif\r
-               errorxu:\r
+       error1:\r
 #ifdef __BORLANDC__\r
        __asm {\r
 #endif\r
-               //mov   err,ah\r
+               mov     err,bl\r
                mov     errorflag,1\r
-               jmp     Endxu\r
+               jmp End1\r
 #ifdef __BORLANDC__\r
        }\r
 #endif\r
-               Endxu:\r
+End1:\r
 #ifdef __WATCOMC__\r
        }\r
 #endif\r
-       XMSAvail &= ~(PMPageSizeKB - 1);        // Round off to nearest page size\r
-       if (XMSAvail < (PMPageSizeKB * 2)){     // Need at least 2 pages\r
-               printf("PISS! %u\n", XMSAvail);\r
+\r
+//     XMS_CALL(XMS_QUERYFREE);                        // Find out how much XMS is available\r
+//     XMSAvail = _AX;\r
+//     if (!_AX)                               // AJR: bugfix 10/8/92\r
+//             goto error;\r
+\r
+       printf("        XMSAvail=%u     e=%u\n", XMSAvail4, e);\r
+       //printf("      %u      %u      %u      %u\n", XMSAvail1, XMSAvail2, XMSAvail3, XMSAvail4);\r
+       XMSAvail4 &= ~(PMPageSizeKB - 1);       // Round off to nearest page size\r
+       if (XMSAvail4 < (PMPageSizeKB * 2)){    // Need at least 2 pages\r
+               printf("PISS! %u\n", XMSAvail4);\r
                goto error;\r
        }\r
 \r
        __asm {\r
-               mov     dx,[XMSAvail]\r
+               mov     dx,XMSAvail4\r
                //XMS_CALL(XMS_ALLOC);                          // And do the allocation\r
                mov     ah,XMS_ALLOC\r
-               call    [WORD PTR XMSDriver]\r
-               mov     [XMSHandle],dx\r
+               call    [DWORD PTR XMSDriver]\r
+               mov     XMSHandle,dx\r
                or      ax,ax                           // AJR: bugfix 10/8/92\r
-               jz      errorxuu\r
-               jmp     Endxuu\r
+               jz      error2\r
+               mov     e,4\r
+               jmp     End2\r
 #ifdef __BORLANDC__\r
-               }\r
+       }\r
 #endif\r
-               errorxuu:\r
+       error2:\r
 #ifdef __BORLANDC__\r
        __asm {\r
 #endif\r
-               //mov   err,ah\r
-               mov     [XMSAvail],0\r
+               mov     err,bl\r
                mov     errorflag,1\r
-               jmp     Endxuu\r
+               jmp End2\r
 #ifdef __BORLANDC__\r
        }\r
 #endif\r
-               Endxuu:\r
+End2:\r
 #ifdef __WATCOMC__\r
        }\r
 #endif\r
 \r
        if(errorflag==false)\r
        {\r
-               gvar->pm.xmm.XMSAvail = XMSAvail;\r
-               gvar->mmi.XMSmem += gvar->pm.xmm.XMSAvail * (dword)1024;\r
+               gvar->mmi.XMSmem = XMSAvail4 * (dword)1024;\r
+               gvar->pm.xmm.XMSAvail = XMSAvail4;\r
                gvar->pm.xmm.XMSHandle = XMSHandle;\r
 \r
                gvar->pm.xmm.XMSPresent = true;\r
-               printf("        %u      %u      %u\n", gvar->mmi.XMSmem, gvar->pm.xmm.XMSAvail, XMSAvail);\r
+               printf("        %u      %u      %u\n", gvar->mmi.XMSmem, gvar->pm.xmm.XMSAvail, XMSAvail4);\r
                getch();\r
-       }else printf("  errorflag\n");\r
+       }else printf("  %u      errorflag=%02X\n", XMSAvail4, err);\r
 error:\r
        return(gvar->pm.xmm.XMSPresent);\r
+/*\r
+       gvar->pm.xmm.XMSPresent = false;                                        // Assume failure\r
+       gvar->pm.xmm.XMSAvail = 0;\r
+\r
+__asm  mov     ax,0x4300\r
+__asm  int     XMS_INT                                         // Check for presence of XMS driver\r
+       if (_AL != 0x80)\r
+               goto error;\r
+\r
+\r
+__asm  mov     ax,0x4310\r
+__asm  int     XMS_INT                                                 // Get address of XMS driver\r
+__asm  mov     [WORD PTR XMSDriver],bx\r
+__asm  mov     [WORD PTR XMSDriver+2],es               // function pointer to XMS driver\r
+\r
+       XMS_CALL(XMS_QUERYFREE);                        // Find out how much XMS is available\r
+       gvar->pm.xmm.XMSAvail = _AX;\r
+       if (!_AX)                               // AJR: bugfix 10/8/92\r
+               goto error;\r
+\r
+       gvar->pm.xmm.XMSAvail &= ~(PMPageSizeKB - 1);   // Round off to nearest page size\r
+       if (gvar->pm.xmm.XMSAvail < (PMPageSizeKB * 2)) // Need at least 2 pages\r
+               goto error;\r
+\r
+       _DX = gvar->pm.xmm.XMSAvail;\r
+       XMS_CALL(XMS_ALLOC);                            // And do the allocation\r
+       gvar->pm.xmm.XMSHandle = _DX;\r
+\r
+       if (!_AX)                               // AJR: bugfix 10/8/92\r
+       {\r
+               gvar->pm.xmm.XMSAvail = 0;\r
+               goto error;\r
+       }\r
+\r
+       gvar->mmi.XMSmem = gvar->pm.xmm.XMSAvail * 1024;\r
+\r
+       gvar->pm.xmm.XMSPresent = true;\r
+error:\r
+       printf("XMSstart        %u      %u\n", gvar->mmi.XMSmem, gvar->pm.xmm.XMSAvail);\r
+       return(gvar->pm.xmm.XMSPresent);*/\r
 }\r
 \r
 //\r
@@ -529,7 +588,7 @@ PML_ShutdownXMS(global_game_variables_t *gvar)
                        mov     dx,[XMSHandle]\r
                        //XMS_CALL(XMS_FREE);\r
                        mov     ah,XMS_FREE\r
-                       call    [WORD PTR XMSDriver]\r
+                       call    [DWORD PTR XMSDriver]\r
                        or      bl,bl\r
                        jz      errorxs\r
                        jmp     Endxs\r
@@ -1474,7 +1533,7 @@ PM_Startup(global_game_variables_t *gvar)
 \r
        if (!noems && MML_CheckForEMS())\r
                PML_StartupEMS(gvar);\r
-       if (!noxms && MML_CheckForXMS(gvar))\r
+       if (!noxms && MML_CheckForXMS())\r
                PML_StartupXMS(gvar);\r
 \r
        if (!nomain && !gvar->pm.emm.EMSPresent)\r
@@ -1496,7 +1555,7 @@ PM_Startup(global_game_variables_t *gvar)
 void\r
 PM_Shutdown(global_game_variables_t *gvar)\r
 {\r
-       if(MML_CheckForXMS(gvar)) PML_ShutdownXMS(gvar);\r
+       if(MML_CheckForXMS()) PML_ShutdownXMS(gvar);\r
        if(MML_CheckForEMS()) PML_ShutdownEMS(gvar);\r
 \r
        if (!gvar->pm.PMStarted)\r
index 6aeed5248cbbfb0d5ac67e9b14f8e42d3cea5fa5..119d8677002de304740b2353f0e509b44b513928 100755 (executable)
@@ -258,7 +258,7 @@ typedef struct
 {\r
        boolean                 XMSPresent;\r
        word                    XMSAvail,XMSPagesAvail,XMSHandle;\r
-       dword                   XMSDriver;      //TODO: changed to word\r
+       dword                   XMSDriver;\r
        int                             XMSProtectPage;// = -1;\r
 } pm_xmmi_t;\r
 \r
index 05db59e14de7dfc9f976a1f617b2509e8e0f36e8..5dd2ffef6737938e77bd3f1b79781aaa6e0316e1 100755 (executable)
 \r
 #include "src/lib/modex16.h"\r
 #include "src/lib/16_sprit.h"\r
+#include "src/lib/16_tail.h"\r
+#include "src/lib/16_pm.h"\r
 #include "src/lib/16_ca.h"\r
 #include "src/lib/16_mm.h"\r
 \r
 void main() {\r
-       global_game_variables_t gvar;\r
+       static global_game_variables_t gvar;\r
        __segment sega;\r
        memptr bigbuffer;\r
        int i;\r
@@ -73,6 +75,8 @@ void main() {
 \r
        gvar.mm.mmstarted=0;\r
        MM_Startup(&gvar);\r
+       PM_Startup(&gvar);\r
+       PM_UnlockMainMem(&gvar);\r
        CA_Startup(&gvar);\r
        // What should be done by read_vrs:\r
        //sega = (mm.bufferseg);\r
@@ -157,6 +161,7 @@ void main() {
        free(spri.sprite_vrl_cont);\r
        MM_FreePtr(&bigbuffer, &gvar);\r
        //MM_FreePtr(&((void __based(sega)*)spri.spritesheet->buffer), &mm);\r
+       PM_Shutdown(&gvar);\r
        CA_Shutdown(&gvar);\r
        MM_Shutdown(&gvar);\r
        //printf("CPU to VGA: %f\n", t1);\r