]> 4ch.mooo.com Git - 16.git/commitdiff
p16 is being worked on a bunch by me wwww [16_ca needs huge amounts of work and I...
authorsparky4 <sparky4@cock.li>
Fri, 14 Apr 2017 20:26:49 +0000 (15:26 -0500)
committersparky4 <sparky4@cock.li>
Fri, 14 Apr 2017 20:26:49 +0000 (15:26 -0500)
30 files changed:
DEBUG.16B [new file with mode: 0755]
DEBUG.16W [new file with mode: 0755]
HEAP.16W [new file with mode: 0755]
MEMINFO.16B [new file with mode: 0755]
MEMINFO.16W [new file with mode: 0755]
MMDUMP.16B [new file with mode: 0755]
MMDUMP.16W [new file with mode: 0755]
bcexmm.dsk
bcexmm.exe
bcexmm.prj
data/winrun.cfg [deleted file]
makefile
src/bakapi.c
src/bakapi.h
src/exmmtest.c
src/lib/16_head.c
src/lib/16_head.h
src/lib/16_in.c
src/lib/16_mm.c
src/lib/16_tail.c
src/lib/16_tail.h
src/lib/16_tail_.c
src/lib/16_tdef.h
src/lib/16_vl.c
src/lib/16_vl.h
src/lib/16_vl_1.c
src/lib/bakapee.c
src/lib/bakapee.h
src/lib/scroll16.c
src/xcroll.c

diff --git a/DEBUG.16B b/DEBUG.16B
new file mode 100755 (executable)
index 0000000..a278ea5
--- /dev/null
+++ b/DEBUG.16B
@@ -0,0 +1,210 @@
+\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
diff --git a/DEBUG.16W b/DEBUG.16W
new file mode 100755 (executable)
index 0000000..6c2eb43
--- /dev/null
+++ b/DEBUG.16W
@@ -0,0 +1,212 @@
+\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
diff --git a/HEAP.16W b/HEAP.16W
new file mode 100755 (executable)
index 0000000..8efe969
--- /dev/null
+++ b/HEAP.16W
@@ -0,0 +1,43 @@
+\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
diff --git a/MEMINFO.16B b/MEMINFO.16B
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/MEMINFO.16W b/MEMINFO.16W
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/MMDUMP.16B b/MMDUMP.16B
new file mode 100755 (executable)
index 0000000..5d7e860
Binary files /dev/null and b/MMDUMP.16B differ
diff --git a/MMDUMP.16W b/MMDUMP.16W
new file mode 100755 (executable)
index 0000000..8a5fd25
Binary files /dev/null and b/MMDUMP.16W differ
index fb8a3fd58f1d33e75d9308ad3f97392343c3f7ee..1244a4fd62b3b5f88e8c6c5ca90ff61888d35afa 100755 (executable)
Binary files a/bcexmm.dsk and b/bcexmm.dsk differ
index c1a3808ca11f6af317eb4d57ba9d2e5f5a4ddc8f..8241cd6c3288721d9537d05de33d70fbb151e0d0 100755 (executable)
Binary files a/bcexmm.exe and b/bcexmm.exe differ
index 4f33a9027c576965ad1a8e4c6b926f2b83e9f795..4ac8b0f3143c414fd0b579c479590239bd710f94 100755 (executable)
Binary files a/bcexmm.prj and b/bcexmm.prj differ
diff --git a/data/winrun.cfg b/data/winrun.cfg
deleted file mode 100755 (executable)
index be5f048..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-[autoexec]
-
-mount d .
-d:
-scroll.exe
index 50c4ffcb35bf939cde4b643fbf9baaed8ff5baf3..1579ffa2c735cf256fc697a4d08ed17d94dd63b7 100755 (executable)
--- a/makefile
+++ b/makefile
@@ -36,7 +36,7 @@
 # serial output is plain text ASCII.
 DEBUGSERIAL=1
 
-DELLOGFILE=1
+DELLOGFILE=0
 
 #192x144
 #wwww will add these
@@ -286,8 +286,8 @@ pcxtest2.exe:        pcxtest2.$(OBJ) gfx.lib $(DOSLIB)
 #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)
index cc26c64cf767874b1abb3b2d1a538d64ef0d0d8e..8c2b3f7392e631462d8bc3286a70275ea75b85a7 100755 (executable)
@@ -31,10 +31,6 @@ sword vgamodex_mode = 1; //  1 = 320x240 with buffer
 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
@@ -42,9 +38,9 @@ main(int argc, char *argvar[])
        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
@@ -75,52 +71,21 @@ main(int argc, char *argvar[])
                }\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
@@ -132,39 +97,85 @@ main(int argc, char *argvar[])
                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
@@ -180,7 +191,7 @@ main(int argc, char *argvar[])
                                {\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
index 0795f6c7fabe85f6fad2f29f6d2b96435dc38079..484646d79bbbb51981d4be0d27743ed4a42f364a 100755 (executable)
 \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
index fd8497900759a37bab7f58b1d9ac996ff4234ed7..98708a88bfd7145ec5847064c9d5ad582d9fd46b 100755 (executable)
 //#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
@@ -69,8 +70,8 @@
 \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
@@ -297,7 +298,7 @@ PRINTBB; KEYP
        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
index f0175d435001a5bda0f7004f38fcd70518085a29..8786a9fd3787f7054175153bb5fd4147139a78c2 100755 (executable)
@@ -34,6 +34,13 @@ filesize(FILE *fp)
        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
@@ -49,7 +56,6 @@ char *remove_ext (char* mystr, char dot, char sep) {
        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
@@ -85,7 +91,6 @@ char *remove_ext (char* mystr, char dot, char sep) {
 }\r
 \r
 \r
-\r
 //from http://quiz.geeksforgeeks.org/c-program-cyclically-rotate-array-one/\r
 void rotateR(byte *arr, byte n)\r
 {\r
@@ -148,7 +153,7 @@ US_CheckParm(char *parm,char **strings)
        return(-1);\r
 }\r
 \r
-\r
+// for input test //\r
 byte dirchar(byte in)\r
 {\r
        byte out;\r
index 9fcf36682d3683cf9b91fd9cd1b66716aa0e5881..0f0c74f79af05ae5107a28ed49e89d7cce172dff 100755 (executable)
@@ -197,8 +197,9 @@ typedef union REGPACK       regs_t;
 \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
index a3e3fabdeffa30baf01a58bbe9f894f9cbf31bff..c543caf99a958a7d4a484c5c0444ce67bfb16954 100755 (executable)
@@ -169,6 +169,7 @@ static      Direction       DirTable[] =            // Quick lookup for total direction
 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
index 8ee134f02fc1b2694e40732a02106b71ffa31eea..7bd320ba40ba5deb7e1b1969a69bc882f5be79a5 100755 (executable)
@@ -1241,7 +1241,7 @@ void MM_SortMem(global_game_variables_t *gvar)
        if(aftersort)
                aftersort();
 
-//     VW_ColorBorder (oldborder);
+       VL_ColorBorder (oldborder, &gvar->video);
 
 /*++++ if(playing)
                MM_SetLock((memptr *)&audiosegs[playing],false);*/
@@ -1258,17 +1258,20 @@ void MM_SortMem(global_game_variables_t *gvar)
 */
 
 //#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;
@@ -1303,13 +1306,14 @@ void MM_ShowMemory(global_game_variables_t *gvar)
                        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++)
@@ -1317,7 +1321,8 @@ void MM_ShowMemory(global_game_variables_t *gvar)
                        //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
@@ -1360,9 +1365,11 @@ void MM_ShowMemory(global_game_variables_t *gvar)
                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);
@@ -1378,8 +1385,11 @@ void MM_ShowMemory(global_game_variables_t *gvar)
        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;
 }
 
 
index ec7023c8e47c0fba9c013f629551f88a693dad8e..6b08e0fb9180cd4e7fac221625cc7aba8ecf455b 100755 (executable)
@@ -243,27 +243,38 @@ void Shutdown16(global_game_variables_t *gvar)
 ===================\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
@@ -308,22 +319,19 @@ noxor:
                                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
@@ -337,11 +345,14 @@ noxor:
                }\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
index 87bba9c67468325b91fd32064e83ce1e5d15c7ef..cfb100a4aa44a85c66bbecd6a049e4b0ee1d6584 100755 (executable)
@@ -128,6 +128,7 @@ word modexPalOverscan(word col);
 \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
index 2e680faf5a6dc14ff5ff44cef210661be3c36990..567a4f18acef07bae7b69ee148d2512dbb1d13c8 100755 (executable)
 #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
@@ -60,6 +71,24 @@ void TL_VidInit(global_game_variables_t *gvar)
        _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
index 7ed1ae7d7b42f928e3bcf982969e3ccc7fe3ce9f..fe5083a54074cadba5c02e42e2c8db730bdf5e60 100755 (executable)
 \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
@@ -380,8 +384,9 @@ typedef struct
        //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
@@ -717,6 +722,7 @@ typedef struct glob_game_vars
        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
index 88a153cb8bc2e7bb26ed365904bff0a2b3be664e..882dd3d2f21f37d6650a7735fa16d3e1da606f83 100755 (executable)
@@ -351,9 +351,9 @@ void modexEnter(sword vq, boolean cmem, global_game_variables_t *gv)
                }\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
@@ -1033,6 +1033,7 @@ modexPalOverscan(word col)
        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
index a4337fea6539d6a7995c35ef0830821e35ec6c10..6437e1b91c3e15bd60ba6f43c861be96c22ba05a 100755 (executable)
@@ -214,6 +214,7 @@ void modexPalWhite();
 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
index 0ad220640793ede6f0f82d8b36b2caf91db3086b..a1257fdc772f6f671475c260381081ad5139ef26 100755 (executable)
@@ -483,6 +483,25 @@ void VL_TestPaletteSet (video_t *v)
                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
@@ -507,10 +526,13 @@ void VL_Plot (int x, int y, int color, global_game_variables_t *gvar)
        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
@@ -532,13 +554,15 @@ void VL_Hlin      (unsigned x, unsigned y, unsigned width, unsigned color, global_gam
 \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
@@ -576,16 +600,19 @@ void VL_Vlin      (int x, int y, int height, int color, global_game_variables_t *gvar
        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
@@ -608,13 +635,16 @@ void VL_Bar (int x, int y, int width, int height, int color, global_game_variabl
 \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
@@ -623,7 +653,8 @@ void VL_Bar (int x, int y, int width, int height, int color, global_game_variabl
                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
@@ -666,7 +697,7 @@ void VL_MemToScreen (byte far *source, int width, int height, int x, int y, glob
 \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
@@ -677,7 +708,8 @@ void VL_MemToScreen (byte far *source, int width, int height, int x, int y, glob
                        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
index 26d7c8026d7685ca4920726a5893b64f93d5a533..3236d8d3876586f5fda9f769a0b53a77fef725bc 100755 (executable)
@@ -54,40 +54,45 @@ char global_temp_status_text2[512];
 */\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
@@ -128,12 +133,10 @@ noxor:
                                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
@@ -166,15 +169,17 @@ modexprint(&(gvar->video.page[0]), PIXPOSX, q+PIXPOSY, 1, 0, 47, 0, 1, global_te
                }\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
@@ -422,13 +427,53 @@ modexprint(destpage, PIXPOSX, q+PIXPOSY, 1, 0, 47, 0, 1, global_temp_status_text
        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
index 2626e708856d4ee24489e850ca0b81a1bafd9255..808bdb3610a7d5625ab3df199efd59792a167e78 100755 (executable)
@@ -48,6 +48,7 @@ boolean baka_FizzleFade (unsigned source, unsigned dest, unsigned width, unsigne
 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
index 4e9577bb5d3dfb528e11567b222adf844c79bb84..35062f70a441850a8c4701594a842a7d5459b403 100755 (executable)
@@ -1058,7 +1058,6 @@ void player_walk(player_t *player, map_view_t *map_v){
  */\r
 \r
 \r
-\r
 void mapScroll(map_view_t *mv, player_t *player)\r
 {\r
        //word x, y;  /* coordinate for drawing */\r
index 7b97a9af19ff771627eca2938986882903bf69a9..891f15cd5d5cd285a088dcd6d9d3012dacd5488a 100755 (executable)
@@ -125,13 +125,24 @@ void main(int argc, char *argv[])
 #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
@@ -153,6 +164,7 @@ void main(int argc, char *argv[])
 //     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