--- /dev/null
+\e[0mSeg:0 Size:5524 Owner:0x0\r
+\e[41;31m++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:1594 Size:256 Owner:0x6d31\r
+\e[44;34m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:1694 Size:256 Owner:0x3316\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:1794 Size:256 Owner:0x3318\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:1894 Size:256 Owner:0x331a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:1994 Size:256 Owner:0x331c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:1a94 Size:256 Owner:0x331e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:1b94 Size:256 Owner:0x3320\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:1c94 Size:256 Owner:0x3322\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:1d94 Size:256 Owner:0x3324\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:1e94 Size:256 Owner:0x3326\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m00\r
+\e[0m\e[0mSeg:1fde Size:34 Owner:0x0\r
+\e[41;31m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2000 Size:256 Owner:0x3328\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2100 Size:256 Owner:0x332a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2200 Size:256 Owner:0x332c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2300 Size:256 Owner:0x332e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2400 Size:256 Owner:0x3330\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2500 Size:256 Owner:0x3332\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2600 Size:256 Owner:0x3334\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2700 Size:256 Owner:0x3336\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2800 Size:256 Owner:0x3338\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2900 Size:256 Owner:0x333a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2a00 Size:256 Owner:0x333c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2b00 Size:256 Owner:0x333e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2c00 Size:256 Owner:0x3340\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2d00 Size:256 Owner:0x3342\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2e00 Size:256 Owner:0x3344\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2f00 Size:256 Owner:0x3346\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3000 Size:256 Owner:0x3348\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3100 Size:256 Owner:0x334a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3200 Size:256 Owner:0x334c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3300 Size:256 Owner:0x334e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3400 Size:256 Owner:0x3350\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3500 Size:256 Owner:0x3352\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3600 Size:256 Owner:0x3354\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3700 Size:256 Owner:0x3356\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3800 Size:256 Owner:0x3358\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3900 Size:256 Owner:0x335a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3a00 Size:256 Owner:0x335c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3b00 Size:256 Owner:0x335e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3c00 Size:256 Owner:0x3360\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3d00 Size:256 Owner:0x3362\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3e00 Size:256 Owner:0x3364\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3f00 Size:256 Owner:0x3366\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4000 Size:256 Owner:0x3368\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4100 Size:256 Owner:0x336a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4200 Size:256 Owner:0x336c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4300 Size:256 Owner:0x336e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4400 Size:256 Owner:0x3370\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4500 Size:256 Owner:0x3372\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4600 Size:256 Owner:0x3374\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4700 Size:256 Owner:0x3376\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4800 Size:256 Owner:0x3378\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4900 Size:256 Owner:0x337a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4a00 Size:256 Owner:0x337c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4b00 Size:256 Owner:0x337e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4c00 Size:256 Owner:0x3380\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4d00 Size:256 Owner:0x3382\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4e00 Size:256 Owner:0x3384\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4f00 Size:256 Owner:0x3386\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5000 Size:256 Owner:0x3388\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5100 Size:256 Owner:0x338a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5200 Size:256 Owner:0x338c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5300 Size:256 Owner:0x338e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5400 Size:256 Owner:0x3390\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5500 Size:256 Owner:0x3392\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5600 Size:256 Owner:0x3394\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5700 Size:256 Owner:0x3396\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5800 Size:256 Owner:0x3398\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5900 Size:256 Owner:0x339a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5a00 Size:256 Owner:0x339c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5b00 Size:256 Owner:0x339e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5c00 Size:256 Owner:0x33a0\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5d00 Size:256 Owner:0x33a2\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5e00 Size:256 Owner:0x33a4\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5f00 Size:256 Owner:0x33a6\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6000 Size:256 Owner:0x33a8\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6100 Size:256 Owner:0x33aa\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6200 Size:256 Owner:0x33ac\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6300 Size:256 Owner:0x33ae\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6400 Size:256 Owner:0x33b0\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6500 Size:256 Owner:0x33b2\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6600 Size:256 Owner:0x33b4\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6700 Size:256 Owner:0x33b6\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6800 Size:256 Owner:0x33b8\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6900 Size:256 Owner:0x33ba\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6a00 Size:256 Owner:0x33bc\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6b00 Size:256 Owner:0x33be\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6c00 Size:256 Owner:0x33c0\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6d00 Size:256 Owner:0x33c2\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6e00 Size:256 Owner:0x33c4\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6f00 Size:256 Owner:0x33c6\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7000 Size:256 Owner:0x33c8\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7100 Size:256 Owner:0x33ca\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7200 Size:256 Owner:0x33cc\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7300 Size:256 Owner:0x33ce\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7400 Size:256 Owner:0x33d0\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7500 Size:256 Owner:0x33d2\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7600 Size:256 Owner:0x33d4\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7700 Size:256 Owner:0x33d6\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7800 Size:256 Owner:0x33d8\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7900 Size:256 Owner:0x33da\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7a00 Size:256 Owner:0x33dc\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7b00 Size:273 Owner:0x6d31\r
+\e[44;34m\e[0m\e[47;37m_\e[0m\e[42;32m00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r
+\e[0m\e[0mSeg:9f3f Size:24768 Owner:0x0\r
+\e[41;31m\e[0m\e[47;37m_\e[0m
\ No newline at end of file
--- /dev/null
+\e[0mSeg:0 Size:11373 Owner:0x0\r
+\e[41;31m+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\e[0m\e[47;37m_\e[0m\e[42;32m000\r
+\e[0m\e[0mSeg:2d30 Size:36 Owner:0x0\r
+\e[41;31m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2d54 Size:256 Owner:0x5772\r
+\e[44;34m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2e54 Size:256 Owner:0x1dc0\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:2f54 Size:256 Owner:0x1dc2\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3054 Size:256 Owner:0x1dc4\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3154 Size:256 Owner:0x1dc6\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3254 Size:256 Owner:0x1dc8\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3354 Size:256 Owner:0x1dca\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3454 Size:256 Owner:0x1dcc\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3554 Size:256 Owner:0x1dce\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3654 Size:256 Owner:0x1dd0\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3754 Size:256 Owner:0x1dd2\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3854 Size:256 Owner:0x1dd4\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3954 Size:256 Owner:0x1dd6\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3a54 Size:256 Owner:0x1dd8\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3b54 Size:256 Owner:0x1dda\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3c54 Size:256 Owner:0x1ddc\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3d54 Size:256 Owner:0x1dde\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3e54 Size:256 Owner:0x1de0\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:3f54 Size:256 Owner:0x1de2\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4054 Size:256 Owner:0x1de4\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4154 Size:256 Owner:0x1de6\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4254 Size:256 Owner:0x1de8\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4354 Size:256 Owner:0x1dea\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4454 Size:256 Owner:0x1dec\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4554 Size:256 Owner:0x1dee\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4654 Size:256 Owner:0x1df0\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4754 Size:256 Owner:0x1df2\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4854 Size:256 Owner:0x1df4\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4954 Size:256 Owner:0x1df6\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4a54 Size:256 Owner:0x1df8\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4b54 Size:256 Owner:0x1dfa\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4c54 Size:256 Owner:0x1dfc\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4d54 Size:256 Owner:0x1dfe\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4e54 Size:256 Owner:0x1e00\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:4f54 Size:256 Owner:0x1e02\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5054 Size:256 Owner:0x1e04\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5154 Size:256 Owner:0x1e06\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5254 Size:256 Owner:0x1e08\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5354 Size:256 Owner:0x1e0a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5454 Size:256 Owner:0x1e0c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5554 Size:256 Owner:0x1e0e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5654 Size:256 Owner:0x1e10\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5754 Size:256 Owner:0x1e12\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5854 Size:256 Owner:0x1e14\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5954 Size:256 Owner:0x1e16\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5a54 Size:256 Owner:0x1e18\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5b54 Size:256 Owner:0x1e1a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5c54 Size:256 Owner:0x1e1c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5d54 Size:256 Owner:0x1e1e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5e54 Size:256 Owner:0x1e20\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:5f54 Size:256 Owner:0x1e22\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6054 Size:256 Owner:0x1e24\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6154 Size:256 Owner:0x1e26\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6254 Size:256 Owner:0x1e28\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6354 Size:256 Owner:0x1e2a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6454 Size:256 Owner:0x1e2c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6554 Size:256 Owner:0x1e2e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6654 Size:256 Owner:0x1e30\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6754 Size:256 Owner:0x1e32\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6854 Size:256 Owner:0x1e34\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6954 Size:256 Owner:0x1e36\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6a54 Size:256 Owner:0x1e38\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6b54 Size:256 Owner:0x1e3a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6c54 Size:256 Owner:0x1e3c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6d54 Size:256 Owner:0x1e3e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6e54 Size:256 Owner:0x1e40\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:6f54 Size:256 Owner:0x1e42\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7054 Size:256 Owner:0x1e44\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7154 Size:256 Owner:0x1e46\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7254 Size:256 Owner:0x1e48\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7354 Size:256 Owner:0x1e4a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7454 Size:256 Owner:0x1e4c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7554 Size:256 Owner:0x1e4e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7654 Size:256 Owner:0x1e50\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7754 Size:256 Owner:0x1e52\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7854 Size:256 Owner:0x1e54\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7954 Size:256 Owner:0x1e56\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7a54 Size:256 Owner:0x1e58\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7b54 Size:256 Owner:0x1e5a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7c54 Size:256 Owner:0x1e5c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7d54 Size:256 Owner:0x1e5e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7e54 Size:256 Owner:0x1e60\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:7f54 Size:256 Owner:0x1e62\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8054 Size:256 Owner:0x1e64\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8154 Size:256 Owner:0x1e66\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8254 Size:256 Owner:0x1e68\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8354 Size:256 Owner:0x1e6a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8454 Size:256 Owner:0x1e6c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8554 Size:256 Owner:0x1e6e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8654 Size:256 Owner:0x1e70\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8754 Size:256 Owner:0x1e72\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8854 Size:256 Owner:0x1e74\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8954 Size:256 Owner:0x1e76\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8a54 Size:256 Owner:0x1e78\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8b54 Size:256 Owner:0x1e7a\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8c54 Size:256 Owner:0x1e7c\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8d54 Size:256 Owner:0x1e7e\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8e54 Size:256 Owner:0x1e80\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:8f54 Size:256 Owner:0x1e82\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:9054 Size:256 Owner:0x1e84\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:9154 Size:256 Owner:0x1e86\r
+\e[45;35m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:9254 Size:882 Owner:0x17f8\r
+\e[44;34m\e[0m\e[47;37m_\e[0m\e[42;32m0\r
+\e[0m\e[0mSeg:95c6 Size:401 Owner:0x1da6\r
+\e[44;34m\e[0m\e[47;37m_\e[0m\e[42;32m000000000000000000000000000\r
+\e[0m\e[0mSeg:9f93 Size:24684 Owner:0x0\r
+\e[41;31m\e[0m\e[47;37m_\e[0m
\ No newline at end of file
--- /dev/null
+\r
+ == default ==\r
+\r
+ USED block at 284e0016 of size 136\r
+ FREE block at 284e009e of size 22530\r
+ USED block at 284e58a0 of size 20\r
+ FREE block at 284e58b4 of size 8024\r
+OK - end of heap\r
+\r
+ == near ==\r
+\r
+ USED block at 184dea96 of size 12\r
+ USED block at 184deaa2 of size 364\r
+ USED block at 184dec0e of size 52\r
+ USED block at 184dec42 of size 20\r
+ USED block at 184dec56 of size 20\r
+ USED block at 184dec6a of size 20\r
+ USED block at 184dec7e of size 20\r
+ USED block at 184dec92 of size 20\r
+ USED block at 184deca6 of size 4950\r
+OK - end of heap\r
+\r
+ == far ==\r
+\r
+ USED block at 284e0016 of size 136\r
+ USED block at 284e009e of size 22530\r
+ USED block at 284e58a0 of size 20\r
+ USED block at 284e58b4 of size 8024\r
+OK - end of heap\r
+\r
+Memory Type Total Used Free\r
+---------------- -------- -------- --------\r
+Default 30710 156 30554\r
+Near 5478 528 4950\r
+Far 30710 156 30554\r
+---------------- -------- -------- --------\r
+HC_coreleft = 4948\r
+HC_farcoreleft = 458752\r
+HC_GetFreeSize = 30554\r
+HC_GetNearFreeSize = 4950\r
+HC_GetFarFreeSize = 30554\r
+memavl = 4948\r
+stackavail = 31484\r
+++ /dev/null
-[autoexec]
-
-mount d .
-d:
-scroll.exe
# serial output is plain text ASCII.
DEBUGSERIAL=1
-DELLOGFILE=1
+DELLOGFILE=0
#192x144
#wwww will add these
#planrpcx.exe: planrpcx.$(OBJ) gfx.lib
maptest.exe: maptest.$(OBJ) 16_map.$(OBJ) 16_head.$(OBJ) gfx.lib $(DOSLIB) $(16LIB)
fmemtest.exe: fmemtest.$(OBJ)
-exmmtest.exe: exmmtest.$(OBJ) 16_pm.$(OBJ) 16_head.$(OBJ) 16_ca.$(OBJ) 16_mm.$(OBJ) 16_hc.$(OBJ) kitten.$(OBJ) 16_vl_1.$(OBJ) 16_tail.$(OBJ) 16_in.$(OBJ) 16_dbg.$(OBJ)
-#$(16LIB) gfx.lib $(DOSLIB)
+exmmtest.exe: exmmtest.$(OBJ) $(16LIB) gfx.lib $(DOSLIB)
+#16_pm.$(OBJ) 16_head.$(OBJ) 16_ca.$(OBJ) 16_mm.$(OBJ) 16_hc.$(OBJ) kitten.$(OBJ) 16_vl_1.$(OBJ) 16_tail.$(OBJ) 16_in.$(OBJ) 16_dbg.$(OBJ)
vgmtest.exe: vgmtest.$(OBJ) vgmsnd.lib $(16LIB) $(DOSLIB) gfx.lib
db.exe: db.$(OBJ)
ps.exe: ps.$(OBJ) 16_head.$(OBJ)
void TL_VidInit(global_game_variables_t *gvar){}\r
//int ch=0x0;\r
\r
-#define SETUPPAGEBAKAPI \\r
-gvar.video.page[0] = modexDefaultPage(&gvar.video.page[0]); \\r
-gvar.video.page[1] = modexNextPage(&gvar.video.page[0]);\r
-\r
\r
void\r
main(int argc, char *argvar[])\r
static global_game_variables_t gvar;\r
struct glob_game_vars *ggvv;\r
char *a;\r
- int i;\r
- word panq=1, pand=0;\r
- boolean panswitch=0;\r
+ int i,c;\r
+ word panq=1, pand=0,showding=0;\r
+ boolean panswitch=0,bptest=1,runding=1;\r
\r
ggvv=&gvar;\r
\r
}\r
}\r
\r
- // DOSLIB: check our environment\r
- probe_dos();\r
-\r
- // DOSLIB: what CPU are we using?\r
- // NTS: I can see from the makefile Sparky4 intends this to run on 8088 by the -0 switch in CFLAGS.\r
- // So this code by itself shouldn't care too much what CPU it's running on. Except that other\r
- // parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for\r
- // the CPU to carry out tasks. --J.C.\r
- cpu_probe();\r
-\r
- // DOSLIB: check for VGA\r
- if (!probe_vga()) {\r
- printf("VGA probe failed\n");\r
- return;\r
- }\r
- // hardware must be VGA or higher!\r
- if (!(vga_state.vga_flags & VGA_IS_VGA)) {\r
- printf("This program requires VGA or higher graphics hardware\n");\r
- return;\r
- }\r
- textInit();\r
+ // initiate doslib //\r
+ TL_DosLibStartup(&gvar);\r
\r
// main variables values\r
d=4; // switch variable\r
key=2; // default screensaver number\r
- xpos=TILEWHD;\r
- ypos=TILEWHD;\r
- xdir=1;\r
- ydir=1;\r
+ xpos=TILEWHD; ypos=TILEWHD; xdir=1; ydir=1;\r
\r
VGAmodeX(vgamodex_mode, 0, &gvar); // TODO: Suggestion: Instead of magic numbers for the first param, might I suggest defining an enum or some #define constants that are easier to remember? --J.C.\r
// this code is written around modex16 which so far is a better fit than using DOSLIB vga directly, so leave MXLIB code in.\r
// we'll integrate DOSLIB vga into that part of the code instead for less disruption. -- J.C.\r
-\r
- bakapee.xx = rand()&0%gvar.video.page[0].width;\r
- bakapee.yy = rand()&0%gvar.video.page[0].height;\r
- bakapee.gq = 0;\r
- bakapee.sx= bakapee.sy=0;\r
- bakapee.bakax= bakapee.bakay=0;\r
- bakapee.coor=0;\r
-\r
+ bakapee.xx = rand()&0%gvar.video.page[0].width; bakapee.yy = rand()&0%gvar.video.page[0].height;\r
+ bakapee.gq = 0; bakapee.sx=bakapee.sy=0; bakapee.bakax=bakapee.bakay=0; bakapee.coor=0;\r
//once where #defines\r
- bakapee.tile=0;\r
- bakapee.bonk=400;\r
- bakapee.lgq=32;\r
- bakapee.hgq=55;\r
+ bakapee.tile=0; bakapee.bonk=400; bakapee.lgq=32; bakapee.hgq=55;\r
\r
switch(WCPU_detectcpu())\r
{\r
break;\r
}\r
\r
- /* setup camera and screen~ */\r
+ // setup camera and screen~ //\r
SETUPPAGEBAKAPI\r
\r
- //modexPalUpdate(bmp.palette); //____\r
- //modexDrawBmp(VGA, 0, 0, &bmp, 0); //____\r
- //getch(); //____\r
- //VL_SetLineWidth (40, &gvar);\r
-\r
VL_ShowPage(&gvar.video.page[0], 1, 0);\r
+ BAKAPIINITFIZZTEST\r
+\r
+ while (bptest)\r
{\r
- word w;\r
- for(w=0;w<64000;w++)\r
+/* if (key > 0)\r
+ {*/\r
+ while (!kbhit() && runding)\r
+ {\r
+ //{ word w; for(w=0;w<(gvar.video.page[0].width*gvar.video.page[0].height);w++) {}}\r
+ ding(&gvar.video.page[showding], &bakapee, 4);\r
+ }\r
+ if (kbhit())\r
+// {\r
+ getch(); // eat keyboard input\r
+// break;\r
+// }\r
+// }*/\r
+\r
{\r
- ding(&gvar.video.page[0], &bakapee, 2);\r
-// ding(&gvar.video.page[1], &bakapee, 2);\r
+\r
+ c = getch();\r
+ switch (c)\r
+ {\r
+ case 27: // Escape key //\r
+ case '0':\r
+ default:\r
+ bptest = false;\r
+ break;\r
+ case 'b': // test tile change //\r
+ switch (bakapee.tile)\r
+ {\r
+ case 0:\r
+ bakapee.tile=1;\r
+ break;\r
+ case 1:\r
+ bakapee.tile=0;\r
+ break;\r
+ }\r
+ break;\r
+ case 'r':\r
+ runding = false;\r
+ BAKAPIINITFIZZTEST\r
+ break;\r
+ case 'e':\r
+ runding = 1;\r
+ break;\r
+ case 'z':\r
+ runding = false;\r
+ FIZZFADEFUN\r
+// runding = true;\r
+ break;\r
+ case '3':\r
+ case '4':\r
+ runding = 1;\r
+ showding = c - '0' - 3;\r
+ break;\r
+ case '1':\r
+ case '2':\r
+ // case '5':\r
+ // case '6':\r
+ // case '9':\r
+ key = c - '0' - 1;\r
+ VL_ShowPage(&gvar.video.page[key], 1, 0);\r
+ break;\r
+ }\r
}\r
- modexClearRegion(&(gvar.video.page[1]), 0, 0, gvar.video.page[0].width, gvar.video.page[0].height, 14);\r
- VL_ShowPage(&gvar.video.page[1], 0, 0);\r
- while(!kbhit()){} getch();\r
- VL_ShowPage(&gvar.video.page[0], 0, 0);\r
-#ifdef BAKAFIZZUNSIGNED\r
- baka_FizzleFade (gvar.video.ofs.bufferofs, gvar.video.ofs.displayofs, gvar.video.page[0].width, gvar.video.page[0].height, 70, true, &gvar);\r
-#else\r
- baka_FizzleFade (&gvar.video.page[1], &gvar.video.page[0], vga_state.vga_width, vga_state.vga_height, 70, true, &gvar);\r
-#endif\r
}\r
- while(!kbhit()){}\r
+\r
+\r
+//while(!kbhit()){}\r
\r
// screen savers\r
//#ifdef BOINK\r
while(d>0) // on!\r
{\r
- int c;\r
/* run screensaver routine until keyboard input */\r
while (key > 0) {\r
if (kbhit()) {\r
{\r
ding(&gvar.video.page[1], &bakapee, 4);\r
ding(&gvar.video.page[0], &bakapee, 4);\r
- baka_FizzleFade (gvar.video.ofs.bufferofs, gvar.video.ofs.displayofs, gvar.video.page[0].width, gvar.video.page[0].height, 70, true, &gvar);\r
+ FIZZFADEFUN\r
}else ding(&gvar.video.page[0], &bakapee, key); }\r
else ding(&gvar.video.page[0], &bakapee, 2);\r
if(panswitch!=0)\r
\r
//project 16 testing define switch for veiwing the contents of the video memory --sparky4\r
#define BOINK // what does this mean? --J.C.\r
+//#define BDOFSCONV (unsigned __near) defed in 16_tdef\r
+#define BOFSS BDOFSCONV (gvar.video.BOFS)//gvar.video.ofs.bufferofs\r
+#define DOFSS BDOFSCONV (gvar.video.DOFS)//gvar.video.ofs.displayofs\r
+\r
+#define SETUPPAGEBAKAPI \\r
+gvar.video.page[0] = modexDefaultPage(&gvar.video.page[0]); \\r
+gvar.video.page[1] = modexNextPage(&gvar.video.page[0]);\r
+\r
+#ifdef BAKAFIZZUNSIGNED\r
+#define FIZZFADEFUN baka_FizzleFade (BOFSS, DOFSS, gvar.video.page[0].width, gvar.video.page[0].height, 70, true, &gvar);\r
+#else\r
+#define FIZZFADEFUN baka_FizzleFade (&gvar.video.page[1], &gvar.video.page[0], vga_state.vga_width, vga_state.vga_height, 70, true, &gvar);\r
+#endif\r
+\r
+#define BAKAPIINITFIZZTEST \\r
+ modexClearRegion(&(gvar.video.page[0]), 0, 0, gvar.video.page[0].width, gvar.video.page[0].height, 0); \\r
+ modexClearRegion(&(gvar.video.page[1]), 0, 0, gvar.video.page[0].width, gvar.video.page[0].height, 14); \\r
+ FIZZFADEFUN\r
+//{ word w; for(w=0;w<(gvar.video.page[0].width*gvar.video.page[0].height);w++) { ding(&gvar.video.page[0], &bakapee, 2); }\r
\r
#endif /*__BAKAPI_H__*/\r
//#define EXMMVERBOSE__\r
// #define PRINTBBDUMP\r
#define BUFFDUMP\r
+\r
#ifdef __BORLANDC__\r
#define NOVID\r
#endif\r
#ifdef __WATCOMC__\r
-#define NOVID\r
+//#define NOVID\r
#endif\r
\r
\r
\r
////////////////////////////////////////////////////////////////////////////\r
#ifdef NOVID\r
-void VL_Startup (global_game_variables_t *gvar){}\r
-void VL_Shutdown (global_game_variables_t *gvar){}\r
+void VL_Startup (global_game_variables_t *gvar){ gvar=gvar; }\r
+void VL_Shutdown (global_game_variables_t *gvar){ gvar=gvar; }\r
void VGAmodeX(sword vq, boolean cmem, global_game_variables_t *gv)\r
{\r
printf("VGAmodeX dummy:\n %Fp %Fp %Fp\n", &vq, &cmem, gv);\r
VGAmodeX(0, 0, &gvar);\r
#endif\r
#endif\r
-// MM_ShowMemory(&gvar);\r
+ MM_ShowMemory(&gvar);\r
DebugMemory_(&gvar, 1);\r
MM_DumpData(&gvar);\r
MM_Report_(&gvar);\r
return(size_of_file);\r
}\r
\r
+// clrstdin() clear any leftover chars tha may be in stdin stream //\r
+void clrstdin()\r
+{\r
+ int ch = 0;\r
+ while( ( ch = getchar() ) != '\n' && ch != EOF );\r
+}\r
+\r
//from http://stackoverflow.com/questions/2736753/how-to-remove-extension-from-file-name\r
// remove_ext: removes the "extension" from a file spec.\r
// mystr is the string to process.\r
char *retstr, *lastdot, *lastsep;\r
\r
// Error checks and allocate string.\r
-\r
if (mystr == NULL)\r
return NULL;\r
if ((retstr = malloc(strlen (mystr) + 1)) == NULL)\r
}\r
\r
\r
-\r
//from http://quiz.geeksforgeeks.org/c-program-cyclically-rotate-array-one/\r
void rotateR(byte *arr, byte n)\r
{\r
return(-1);\r
}\r
\r
-\r
+// for input test //\r
byte dirchar(byte in)\r
{\r
byte out;\r
\r
#define INPUT_STATUS_1 0x03da\r
\r
-/* local function */\r
+// local function //\r
long int filesize(FILE *fp);\r
+void clrstdin();\r
char *remove_ext(char* mystr, char dot, char sep);\r
void rotateR(byte arr[], byte n);\r
void rotateL(byte arr[], byte n);\r
static void (*INL_KeyHook)(void);\r
static void interrupt (*OldKeyVect)(void);\r
static char *ParmStringsIN[] = {"nojoys","nomouse",nil};\r
+static void INL_StartKbd(void);\r
\r
// Internal routines\r
\r
if(aftersort)
aftersort();
-// VW_ColorBorder (oldborder);
+ VL_ColorBorder (oldborder, &gvar->video);
/*++++ if(playing)
MM_SetLock((memptr *)&audiosegs[playing],false);*/
*/
//#define MMSMSORTNEWTYPE
+#define MMSHOWMEMOFFSET 0//(gvar->video.page[0].dx+(gvar->video.page[0].dy*gvar->video.page[0].stridew))
void MM_ShowMemory(global_game_variables_t *gvar)
{
mmblocktype far *scan;
- unsigned color,temp,x,y,w;
+ unsigned color,temp,x,y ,w;//,bofstemp;
sdword end,owner;
byte scratch[160],scratch0[4096],str[16];
-// VL_SetLineWidth(40, gvar);
- temp = gvar->video.ofs.bufferofs;
- gvar->video.ofs.bufferofs = gvar->video.ofs.displayofs;
+//-- VL_SetLineWidth(40, gvar);
+ //temp = gvar->video.ofs.bufferofs;
+ //gvar->video.ofs.bufferofs = gvar->video.ofs.displayofs;
+ temp = BDOFSCONV gvar->video.BOFS+MMSHOWMEMOFFSET;
+ gvar->video.BOFS = gvar->video.DOFS;
scan = gvar->mm.mmhead;
end = -1; w = 0;
write(gvar->handle.debughandle,scratch,strlen(scratch));
Quit (gvar, "MM_ShowMemory: Memory block order currupted!");
}
-#ifndef MMSMSORTNEWTYPE
- end = scan->length-1;
-#else
+#ifdef MMSMSORTNEWTYPE
end = scan->start+(scan->length)-1;
+#else
+ end = scan->length-1;
#endif
- y = scan->start/320;
- x = scan->start%320;
+ if(!gvar->video.page[0].width) gvar->video.page[0].width = 352;
+ y = scan->start/gvar->video.page[0].width;
+ x = scan->start%gvar->video.page[0].width;
VW_Hlin(x,x+end,y,color,gvar);
VL_Plot(x,y,15,gvar);
for(w=(scan->start)/80;w<=end/80;w++)
//printf("+ %u %lu\n", w, scan->length);
strcat(scratch0, "+");
}
-//++==++==optional strcat(scratch0, AARESET); strcat(scratch0, AAGREY); strcat(scratch0,"_");
+ //++==++==optional
+ strcat(scratch0, AARESET); strcat(scratch0, AAGREY); strcat(scratch0,"_");
#ifdef MMSMSORTNEWTYPE
if (scan->next && scan->next->start > end+1)
#else
strcat(scratch,"Seg:");
ultoa (scan->start,str,16);
strcat (scratch,str);
+// strcat(scratch, AABLACK); strcat(scratch,"\t"); strcat(scratch, AARESET);
strcat (scratch,"\tSize:");
ultoa ((unsigned)scan->length,str,10);
strcat (scratch,str);
+// strcat(scratch, AABLACK); strcat(scratch,"\t"); strcat(scratch, AARESET);
strcat (scratch,"\tOwner:0x");
owner = (unsigned)scan->useptr;
ultoa (owner,str,16);
CA_CloseDebug (gvar);
IN_Ack(gvar);
-//**** VW_SetLineWidth(64);
- gvar->video.ofs.bufferofs = temp;
+//-- VW_SetLineWidth(64);
+ //gvar->video.ofs.bufferofs = temp;
+ //bofstemp = BDOFSCONV gvar->video.BOFS;//+MMSHOWMEMOFFSET;
+ //bofstemp = temp;
+ gvar->video.BOFS = (byte __far *)temp;
}
===================\r
*/\r
\r
-#define PIXPERFRAME 1600\r
-\r
boolean FizzleFade (unsigned source, unsigned dest, unsigned width, unsigned height, unsigned frames, boolean abortable, global_game_variables_t *gvar)\r
{\r
word p,pixperframe;\r
unsigned drawofs,pagedelta;\r
byte mask,maskb[8] = {1,2,4,8};\r
- unsigned x,y,frame ,esorig,q;\r
- dword rndval;\r
- word screenseg = SCREENSEG;\r
+ unsigned x,y,frame;\r
+ long rndval;\r
+ word screenseg;\r
+#ifdef __WATCOMC__\r
+ unsigned esorig;//,q;\r
+#endif\r
\r
pagedelta = dest-source;\r
- rndval = 1; esorig = 0; q = 16;\r
+ rndval = 1;\r
+#ifdef __WATCOMC__\r
+ esorig = 0;// q = 16;\r
+#endif\r
x = y = 0;\r
- pixperframe = 76800/(dword)frames;\r
+ pixperframe = (dword)(gvar->video.page[0].width*gvar->video.page[0].height)/frames;\r
+ screenseg = SCREENSEG;\r
\r
IN_StartAck (gvar);\r
\r
+// modexClearRegion(&(gvar->video.page[0]), 0, 0, gvar->video.page[0].width, gvar->video.page[0].height, 0);\r
+// modexClearRegion(&(gvar->video.page[1]), 0, 0, gvar->video.page[0].width, gvar->video.page[0].height, 15);\r
+\r
+#ifdef __WATCOMC__\r
__asm {\r
mov [esorig],es\r
}\r
+#endif\r
+// TimeCount=\r
frame=0;\r
do // while (1)\r
{\r
mov [WORD PTR rndval+2],dx\r
}\r
\r
- if ((x>width || y>height) && (x<width*2 && y<height*2))\r
+ if (x>width || y>height)\r
+// if ((x>width || y>height) && (x<width*2 && y<height*2))\r
continue;\r
- //drawofs = source+(gvar->video.ofs.ylookup[y]) + (x>>2);\r
+// drawofs = source+(gvar->video.ofs.ylookup[y]) + (x>>2);\r
drawofs = source+(y*gvar->video.page[0].stridew) + (x>>2);\r
\r
//\r
// copy one pixel\r
//\r
-//*\r
mask = x&3;\r
VGAREADMAP(mask);\r
mask = maskb[mask];\r
VGAMAPMASK(mask);\r
-//*/\r
-// modexputPixel(&(gvar->video.page[0]), x, y, rand()%8);\r
-// VL_Plot (x, y, 15, &(gvar->video.ofs));\r
\r
__asm {\r
mov di,[drawofs]\r
}\r
frame++;\r
//-- while (TimeCount<frame){}//; // don't go too fast\r
+ delay(1);\r
} while (1);\r
+#ifdef __WATCOMC__\r
__asm {\r
mov es,[esorig]\r
}\r
return false;\r
+#endif\r
}\r
\r
//===========================================================================\r
\r
void Shutdown16(global_game_variables_t *gvar);\r
void Startup16(global_game_variables_t *gvar);\r
+void TL_DosLibStartup(global_game_variables_t *gvar);\r
void TL_VidInit(global_game_variables_t *gvar);\r
boolean FizzleFade (unsigned source, unsigned dest, unsigned width, unsigned height, unsigned frames, boolean abortable, global_game_variables_t *gvar);\r
void DebugMemory_(global_game_variables_t *gvar, boolean q);\r
#include "src/lib/16_tail.h"\r
#include "src/lib/16_vl.h"\r
\r
-void TL_VidInit(global_game_variables_t *gvar)\r
+//===========================================================================\r
+\r
+/*\r
+====================\r
+=\r
+= TL_DosLibStartup\r
+=\r
+====================\r
+*/\r
+\r
+void TL_DosLibStartup(global_game_variables_t *gvar)\r
{\r
- start_timer(gvar);\r
+ if(gvar->DLStarted)\r
+ return;\r
\r
// DOSLIB: check our environment\r
probe_dos();\r
_DEBUGF("Serial debug output printf test %u %u %u\n",1U,2U,3U);\r
\r
textInit();\r
+ gvar->DLStarted = true;\r
+}\r
+\r
+//===========================================================================\r
+\r
+/*\r
+====================\r
+=\r
+= TL_VidInit\r
+=\r
+====================\r
+*/\r
+\r
+void TL_VidInit(global_game_variables_t *gvar)\r
+{\r
+ start_timer(gvar);\r
+\r
+ if(!gvar->DLStarted) TL_DosLibStartup(gvar);\r
\r
// get old video mode\r
//in.h.ah = 0xf;\r
\r
#define MAXPAGE 4\r
\r
+#define BDOFSCONV (unsigned __near)\r
+#define BOFS page[1].data\r
+#define DOFS page[0].data\r
+\r
/*\r
* typedefs of the game variables!\r
*/\r
//ylookup[MAXSCANLINES],\r
unsigned int offscreen_ofs;\r
unsigned int pattern_ofs;\r
- unsigned bufferofs,linewidth,displayofs;\r
+// unsigned bufferofs,linewidth,displayofs;\r
pan_t pan;\r
+\r
} ofs_t; //unfinished\r
\r
typedef struct\r
player_t player[MaxPlayers]; // player vars\r
map_view_t mv[4];\r
// sw_t sw;\r
+ boolean DLStarted;\r
} global_game_variables_t;\r
\r
#ifdef __WATCOMC__\r
}\r
break;\r
}\r
-// VL_SetLineWidth (cm.offset, gv);\r
- gv->video.ofs.displayofs = 0;\r
- gv->video.ofs.bufferofs = gv->video.page[0].width*gv->video.page[0].height;//gvar->video.page[0].pagesize;\r
+//-- VL_SetLineWidth (cm.offset, gv);\r
+ //gv->video.ofs.displayofs = 0;\r
+ //gv->video.ofs.bufferofs = gv->video.page[0].width*gv->video.page[0].height;//gvar->video.page[0].pagesize;\r
// gv->video.curr_mode=vq;\r
gv->video.VL_Started=1;\r
}\r
outp(PAL_DATA_REG, col);\r
return col;\r
}\r
+\r
//check 16_vl_1.c\r
\r
void modexputPixel(page_t *page, int x, int y, byte color)\r
void modexPalUpdate(byte *p);\r
void VL_modexPalScramble(byte *p);\r
word modexPalOverscan(word col);\r
+void VL_ColorBorder (int color, video_t *v);\r
void VL_Plot (int x, int y, int color, global_game_variables_t *gvar);\r
void VL_Hlin (unsigned x, unsigned y, unsigned width, unsigned color, global_game_variables_t *gvar);\r
void VL_Vlin (int x, int y, int height, int color, global_game_variables_t *gvar);\r
v->fastpalette = false;\r
}\r
\r
+/*\r
+==================\r
+=\r
+= VL_ColorBorder\r
+=\r
+==================\r
+*/\r
+\r
+void VL_ColorBorder (int color, video_t *v)\r
+{\r
+ union REGS in, out;\r
+\r
+ in.h.ah = 0x10;\r
+ in.h.al = 0x01;\r
+ in.h.bh = color;\r
+ int86(0x10, &in, &out);\r
+ v->bordercolor = color;\r
+}\r
+\r
\r
/*\r
=============================================================================\r
byte mask;\r
VCLIPDEF\r
\r
+ if(!gvar->video.VL_Started) return;\r
+\r
mask = pclip[x&3];\r
VGAMAPMASK(mask);\r
//*(byte far *)MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+(gvar->video.ofs.ylookup[y]+(x>>2))) = color;\r
- *(byte far *)MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+((y*gvar->video.page[0].stridew)+(x>>2))) = color;\r
+ //*(byte far *)MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+((y*gvar->video.page[0].stridew)+(x>>2))) = color;\r
+ *(byte far *)MK_FP(SCREENSEG,BDOFSCONV gvar->video.BOFS+((y*gvar->video.page[0].stridew)+(x>>2))) = color;\r
VGAMAPMASK(15);\r
}\r
\r
\r
LRCLIPDEF\r
\r
+ if(!gvar->video.VL_Started) return;\r
+\r
xbyte = x>>2;\r
leftmask = lclip[x&3];\r
rightmask = rclip[(x+width-1)&3];\r
midbytes = ((x+width+3)>>2) - xbyte - 2;\r
\r
//dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+gvar->video.ofs.ylookup[y]+xbyte);\r
- dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+(y*gvar->video.page[0].stridew)+xbyte);\r
+ dest = MK_FP(SCREENSEG,BDOFSCONV gvar->video.BOFS+(y*gvar->video.page[0].stridew)+xbyte);\r
\r
if (midbytes<0)\r
{\r
byte far *dest,mask;\r
VCLIPDEF\r
\r
+ if(!gvar->video.VL_Started) return;\r
+\r
mask = pclip[x&3];\r
VGAMAPMASK(mask);\r
\r
//dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+gvar->video.ofs.ylookup[y]+(x>>2));\r
- dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+(y*gvar->video.page[0].stridew)+(x>>2));\r
+ dest = MK_FP(SCREENSEG,BDOFSCONV gvar->video.BOFS+(y*gvar->video.page[0].stridew)+(x>>2));\r
\r
while (height--)\r
{\r
*dest = color;\r
- dest += gvar->video.ofs.linewidth;\r
+ //dest += gvar->video.ofs.linewidth;\r
+ dest += gvar->video.page[0].stridew;\r
}\r
\r
VGAMAPMASK(15);\r
\r
LRCLIPDEF\r
\r
+ if(!gvar->video.VL_Started) return;\r
+\r
leftmask = lclip[x&3];\r
rightmask = rclip[(x+width-1)&3];\r
midbytes = ((x+width+3)>>2) - (x>>2) - 2;\r
- linedelta = gvar->video.ofs.linewidth-(midbytes+1);\r
+ //linedelta = gvar->video.ofs.linewidth-(midbytes+1);\r
+ linedelta = gvar->video.page[0].stridew-(midbytes+1);\r
\r
//dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+gvar->video.ofs.ylookup[y]+(x>>2));\r
- dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+(y*gvar->video.page[0].stridew)+(x>>2));\r
+ dest = MK_FP(SCREENSEG,BDOFSCONV gvar->video.BOFS+(y*gvar->video.page[0].stridew)+(x>>2));\r
\r
if (midbytes<0)\r
{\r
while (height--)\r
{\r
*dest = color;\r
- dest += gvar->video.ofs.linewidth;\r
+ //dest += gvar->video.ofs.linewidth;\r
+ dest += gvar->video.page[0].stridew;\r
}\r
VGAMAPMASK(15);\r
return;\r
\r
width>>=2;\r
//dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+gvar->video.ofs.ylookup[y]+(x>>2));\r
- dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+(y*gvar->video.page[0].stridew)+(x>>2));\r
+ dest = MK_FP(SCREENSEG,BDOFSCONV gvar->video.BOFS+(y*gvar->video.page[0].stridew)+(x>>2));\r
mask = 1 << (x&3);\r
\r
for (plane = 0; plane<4; plane++)\r
mask = 1;\r
\r
screen = dest;\r
- for (y=0;y<height;y++,screen+=gvar->video.ofs.linewidth,source+=width)\r
+ //for (y=0;y<height;y++,screen+=gvar->video.ofs.linewidth,source+=width)\r
+ for (y=0;y<height;y++,screen+=gvar->video.page[0].stridew,source+=width)\r
_fmemcpy (screen,source,width);\r
}\r
}\r
*/\r
\r
//extern ControlInfo c;\r
-#define PIXPOSX gvar->video.page[0].sw/2\r
-#define PIXPOSY gvar->video.page[0].sh/2\r
+//#define PIXPOSX gvar->video.page[0].sw/2\r
+//#define PIXPOSY gvar->video.page[0].sh/2\r
#ifdef BAKAFIZZUNSIGNED\r
boolean baka_FizzleFade (unsigned source, unsigned dest, unsigned width, unsigned height, unsigned frames, boolean abortable, global_game_variables_t *gvar)\r
{\r
word p,pixperframe;\r
unsigned drawofs,pagedelta;\r
byte mask,maskb[8] = {1,2,4,8};\r
- unsigned x,y,frame ,esorig,q;\r
- dword rndval;\r
- word screenseg = SCREENSEG;\r
+ unsigned x,y,frame;\r
+ long rndval;\r
+ word screenseg;\r
+#ifdef __WATCOMC__\r
+ unsigned esorig;//,q;\r
+#endif\r
\r
pagedelta = dest-source;\r
- rndval = 1; esorig = 0; q = 16;\r
+ rndval = 1;\r
+#ifdef __WATCOMC__\r
+ esorig = 0;// q = 16;\r
+#endif\r
x = y = 0;\r
- pixperframe = /*64000*/76800/(dword)frames;\r
-\r
-// IN_StartAck ();\r
+ pixperframe = (dword)(gvar->video.page[0].width*gvar->video.page[0].height)/frames;//64000/(dword)frames;\r
+ screenseg = SCREENSEG;\r
\r
-// VL_ShowPage(&(gvar->video.page[0]), 1, 0);\r
-// VL_ShowPage(&(gvar->video.page[1]), 1, 0);\r
+// IN_StartAck (gvar);\r
\r
// modexClearRegion(&(gvar->video.page[0]), 0, 0, gvar->video.page[0].width, gvar->video.page[0].height, 0);\r
// modexClearRegion(&(gvar->video.page[1]), 0, 0, gvar->video.page[0].width, gvar->video.page[0].height, 15);\r
-// VL_SetLineWidth(44, gvar);\r
\r
+#ifdef __WATCOMC__\r
__asm {\r
mov [esorig],es\r
}\r
+#endif\r
// TimeCount=\r
frame=0;\r
do // while (1)\r
{\r
- if (abortable && kbhit())//IN_CheckAck () )\r
+ if (abortable && kbhit())//IN_CheckAck (gvar) )\r
return true;\r
\r
__asm {\r
mov [WORD PTR rndval+2],dx\r
}\r
\r
-// if (x>destpage->width || y>destpage->height)\r
-// if (x<destpage->sw || y<destpage->sh)\r
- if ((x>width || y>height) && (x<width*2 && y<height*2))\r
+ if (x>width || y>height)\r
+// if ((x>width || y>height) && (x<width*2 && y<height*2))\r
continue;\r
- //drawofs = source+(gvar->video.ofs.ylookup[y]) + (x>>2);\r
- //drawofs = source+((y+1)*gvar->video.page[0].stridew) + (x>>2);\r
+// drawofs = source+(gvar->video.ofs.ylookup[y]) + (x>>2);\r
drawofs = source+(y*gvar->video.page[0].stridew) + (x>>2);\r
/*\r
sprintf(global_temp_status_text, "draw - %Fp", drawofs);\r
}\r
frame++;\r
//-- while (TimeCount<frame){}//; // don't go too fast\r
- delay(10);\r
+ delay(1);\r
} while (1);\r
+#ifdef __WATCOMC__\r
__asm {\r
mov es,[esorig]\r
}\r
return false;\r
+#endif\r
}\r
-\r
-#else\r
+#endif\r
+#if 0\r
boolean baka_FizzleFade (page_t *sourcepage, page_t *destpage, unsigned width, unsigned height, unsigned frames, boolean abortable, global_game_variables_t *gvar)\r
{\r
word p,pixperframe;\r
return false;\r
}\r
#endif\r
-/* clrstdin() clear any leftover chars tha may be in stdin stream */\r
+// clrstdin() clear any leftover chars tha may be in stdin stream //\r
void clrstdin()\r
{\r
int ch = 0;\r
while( ( ch = getchar() ) != '\n' && ch != EOF );\r
}\r
\r
+//===========================================================================\r
+\r
+/*\r
+====================\r
+=\r
+= TL_DosLibStartup\r
+=\r
+====================\r
+*/\r
+\r
+void TL_DosLibStartup(global_game_variables_t *gvar)\r
+{\r
+ if(gvar->DLStarted)\r
+ return;\r
+\r
+ // DOSLIB: check our environment\r
+ probe_dos();\r
+\r
+ // DOSLIB: what CPU are we using?\r
+ // NTS: I can see from the makefile Sparky4 intends this to run on 8088 by the -0 switch in CFLAGS.\r
+ // So this code by itself shouldn't care too much what CPU it's running on. Except that other\r
+ // parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for\r
+ // the CPU to carry out tasks. --J.C.\r
+ cpu_probe();\r
+\r
+ // DOSLIB: check for VGA\r
+ if (!probe_vga()) {\r
+ printf("VGA probe failed\n");\r
+ return;\r
+ }\r
+ // hardware must be VGA or higher!\r
+ if (!(vga_state.vga_flags & VGA_IS_VGA)) {\r
+ printf("This program requires VGA or higher graphics hardware\n");\r
+ return;\r
+ }\r
+\r
+ textInit();\r
+ gvar->DLStarted = true;\r
+}\r
+\r
//color \82Ä\82·\82Æ\r
void colortest(page_t *page, bakapee_t *pee)\r
{\r
boolean baka_FizzleFade (page_t *sourcepage, page_t *destpage, unsigned width, unsigned height, unsigned frames, boolean abortable, global_game_variables_t *gvar);\r
#endif\r
void clrstdin();\r
+void TL_DosLibStartup(global_game_variables_t *gvar);\r
void colortest(page_t *page, bakapee_t *pee);\r
void colorz(page_t *page, bakapee_t *pee);\r
void ssd(page_t *page, bakapee_t *pee, word svq);\r
*/\r
\r
\r
-\r
void mapScroll(map_view_t *mv, player_t *player)\r
{\r
//word x, y; /* coordinate for drawing */\r
#ifdef FADE\r
modexPalSave(&gvar.video.palette);\r
modexSavePalFile("data/g.pal", &gvar.video.palette);\r
- modexPalBlack(); //so gvar.player will not see loadings~\r
+ modexPalBlack(); //so player will not see loadings~\r
#endif\r
\r
// setup camera and screen~\r
modexHiganbanaPageSetup(&gvar.video);\r
ZC_MVSetup(&gvar.mv, &map, &gvar);\r
\r
+#ifdef FADE\r
+ modexFadeOn(4, &gvar.video.palette);\r
+#endif\r
+\r
+ IN_StartAck (&gvar);\r
+ MM_ShowMemory(&gvar);\r
+ while (!IN_CheckAck (&gvar)){}\r
+#ifdef FADE\r
+ modexPalBlack(); //so player will not see loadings~\r
+#endif\r
+\r
// set up paging\r
//TODO: LOAD map data and position the map in the middle of the screen if smaller then screen\r
mapGoTo(&gvar.mv, 0, 0);\r
// while(!gvar.in.inst->Keyboard[sc_Escape) && !gvar.in.inst->Keyboard[sc_Space) && !gvar.in.inst->Keyboard[sc_Enter]){ FUNCTIONKEYSHOWMV }\r
gvar.video.page[0].tlx=gvar.mv[0].tx*TILEWH;\r
gvar.video.page[0].tly=gvar.mv[0].ty*TILEWH;\r
+\r
shinku(&gvar);\r
//modexpdump(gvar.mv[0].page);\r
#ifdef FADE\r