From 3ad667193b2905bcf70aa1c628d276fa968a757d Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 3 Apr 2017 17:40:10 -0500 Subject: [PATCH] [16_ca needs huge amounts of work and I should remember what needs to be done soon][OpenVGMFile needs to be ported to 16_snd.c]going to port rest of code to borland c some time so we can use the core components of id engine here [going to add 16_us.c eventually but the debug system and CA_ PM_ and MM_ usage is priority now] added animation delay test back wwww [older zcroll renamed to xcroll][zcroll is now the pre menu game loop system with PROPER data usage with CAMMPM][the graphical version of show memory is added AND IT WORKS for watcom c ^^;] --- EXMMTEST.LOG | 3 +- bcexmm.dsk | Bin 1250 -> 1884 bytes bcexmm.exe | Bin 146642 -> 146386 bytes bcexmm.mah | 1040 -------------------------------------------- bcexmm.prj | Bin 8333 -> 7632 bytes src/exmmtest.c | 11 +- src/lib/16_mm.c | 12 +- src/lib/16_vl.h | 9 +- src/util/bcexmm.sh | 2 +- 9 files changed, 23 insertions(+), 1054 deletions(-) delete mode 100755 bcexmm.mah diff --git a/EXMMTEST.LOG b/EXMMTEST.LOG index c6688f39..c0eeeaa8 100755 --- a/EXMMTEST.LOG +++ b/EXMMTEST.LOG @@ -1,4 +1,3 @@ -NOVID ======================================load===================================== ====================================load end=================================== contents of the buffer @@ -110,4 +109,4 @@ contents of the buffer { "firstgid":17, "image":"forest.gif", - "imageh \ No newline at end of file + "imageheight": \ No newline at end of file diff --git a/bcexmm.dsk b/bcexmm.dsk index 6238e6eb01f0a40f60a82e73d416296fd6a079df..c7cdb89b86faf9d0baf791715c9f435e89141717 100755 GIT binary patch delta 247 zcmaFFd53R;l4uztCj$e63!^aOLx%MXH4GjMA`BuMO<5SZTqAsaLtKMH^qeOfGAU1- z$35ABaj9T611AF`0}~Jf!57BwESq04UT0zqo}9~~ilzm-U>H!P&csqp#!xV0rN-oc zOgxh-SUj*Q*VbTQFk)Z`W>;W#kYB(LqgfaVH%w$~Wo2NP%*w*>|33r6S4NY`znLW! Y7#O6$Iv5xfWG1U6D8XnBpmRa$0E(|WumAu6 delta 66 zcmV-I0KNa*4&n)rA`?Ra2mk;85dq%-tpIueMgS5360tV~0g-SAlXC&31oQ#d0+T)m Y7_&hFzXAjG0UDD%2N?!p0RR60069Yu>;M1& diff --git a/bcexmm.exe b/bcexmm.exe index 78240e17435cefa372565be1f85a0b382dd6417b..f3389f41cfd5be134501721a4cfb49b121995f33 100755 GIT binary patch delta 32565 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 diff --git a/bcexmm.mah b/bcexmm.mah deleted file mode 100755 index c229513e..00000000 --- a/bcexmm.mah +++ /dev/null @@ -1,1040 +0,0 @@ - - Start Stop Length Name Class - - 00000H 03180H 03181H _TEXT CODE - 03181H 04C28H 01AA8H 16_PM_TEXT CODE - 04C29H 052D9H 006B1H KITTEN_TEXT CODE - 052DAH 056EBH 00412H 16_HC_TEXT CODE - 056ECH 05A25H 0033AH EXMMTEST_TEXT CODE - 05A26H 06394H 0096FH 16_CA_TEXT CODE - 06395H 0686EH 004DAH 16_HEAD_TEXT CODE - 0686FH 0856EH 01D00H 16_MM_TEXT CODE - 0856FH 0971CH 011AEH 16_IN_TEXT CODE - 0971DH 0992DH 00211H 16_DBG_TEXT CODE - 0992EH 09E9CH 0056FH 16_TAIL_TEXT CODE - 09E9DH 0A61AH 0077EH 16_VL_1_TEXT CODE - 0A620H 0A620H 00000H _FARDATA FAR_DATA - 0A620H 0A69FH 00080H 16_IN5_DATA FAR_DATA - 0A6A0H 0A71FH 00080H 16_IN6_DATA FAR_DATA - 0A720H 0A79FH 00080H 16_IN7_DATA FAR_DATA - 0A7A0H 0A7C3H 00024H 16_IN8_DATA FAR_DATA - 0A7D0H 0A7D0H 00000H _FARBSS FAR_BSS - 0A7D0H 0A7D0H 00000H _OVERLAY_ OVRINFO - 0A7D0H 0A7D0H 00000H _1STUB_ STUBSEG - 0A7D0H 0C6DFH 01F10H _DATA DATA - 0C6E0H 0C6E1H 00002H _CVTSEG DATA - 0C6E2H 0C6E7H 00006H _SCNSEG DATA - 0C6E8H 0C6E8H 00000H _CONST CONST - 0C6E8H 0C6FFH 00018H _INIT_ INITDATA - 0C700H 0C700H 00000H _INITEND_ INITDATA - 0C700H 0C700H 00000H _EXIT_ EXITDATA - 0C700H 0C700H 00000H _EXITEND_ EXITDATA - 0C700H 11DEDH 056EEH _BSS BSS - 11DEEH 11DEEH 00000H _BSSEND BSSEND - 11DF0H 11E6FH 00080H _STACK STACK - - -Detailed map of segments - - 0000:0000 0295 C=CODE S=_TEXT G=(none) M=c0.ASM ACBP=28 - 0000:0295 002D C=CODE S=_TEXT G=(none) M=ATEXIT ACBP=28 - 0000:02C2 0000 C=CODE S=_TEXT G=(none) M=CTYPE ACBP=28 - 0000:02C2 003D C=CODE S=_TEXT G=(none) M=DOSFATTR ACBP=28 - 0000:02FF 0093 C=CODE S=_TEXT G=(none) M=EXIT ACBP=28 - 0000:0392 0000 C=CODE S=_TEXT G=(none) M=FILES ACBP=28 - 0000:0392 0000 C=CODE S=_TEXT G=(none) M=FILES2 ACBP=28 - 0000:0392 0000 C=CODE S=_TEXT G=(none) M=FMODE ACBP=28 - 0000:0392 0020 C=CODE S=_TEXT G=(none) M=GETVECT ACBP=28 - 0000:03B2 00AE C=CODE S=_TEXT G=(none) M=H_LDIV ACBP=28 - 0000:0460 0021 C=CODE S=_TEXT G=(none) M=H_LLSH ACBP=28 - 0000:0481 0021 C=CODE S=_TEXT G=(none) M=H_LURSH ACBP=28 - 0000:04A2 0060 C=CODE S=_TEXT G=(none) M=H_PADD ACBP=28 - 0000:0502 0028 C=CODE S=_TEXT G=(none) M=H_PSBP ACBP=28 - 0000:052A 004B C=CODE S=_TEXT G=(none) M=IOERROR ACBP=28 - 0000:0575 0011 C=CODE S=_TEXT G=(none) M=ISATTY ACBP=28 - 0000:0586 00A2 C=CODE S=_TEXT G=(none) M=LONGTOA ACBP=28 - 0000:0628 0029 C=CODE S=_TEXT G=(none) M=LSEEK ACBP=28 - 0000:0651 00B6 C=CODE S=_TEXT G=(none) M=MKNAME ACBP=28 - 0000:0707 0021 C=CODE S=_TEXT G=(none) M=N_PCMP ACBP=28 - 0000:0728 002F C=CODE S=_TEXT G=(none) M=READA ACBP=28 - 0000:0757 00BA C=CODE S=_TEXT G=(none) M=SETUPIO ACBP=28 - 0000:0811 0000 C=CODE S=_TEXT G=(none) M=STKLEN ACBP=28 - 0000:0811 002C C=CODE S=_TEXT G=(none) M=TOLOWER ACBP=28 - 0000:083D 0018 C=CODE S=_TEXT G=(none) M=UNLINK ACBP=28 - 0000:0855 04DB C=CODE S=_TEXT G=(none) M=VPRINTER ACBP=28 - 0000:0D30 009F C=CODE S=_TEXT G=(none) M=VRAM ACBP=28 - 0000:0DCF 0000 C=CODE S=_TEXT G=(none) M=WSCROLL ACBP=28 - 0000:0DCF 0034 C=CODE S=_TEXT G=(none) M=_STPCPY ACBP=28 - 0000:0E03 0029 C=CODE S=_TEXT G=(none) M=CLRSCR ACBP=28 - 0000:0E2C 0006 C=CODE S=_TEXT G=(none) M=CORELEFT ACBP=28 - 0000:0E32 014E C=CODE S=_TEXT G=(none) M=CPRINTF ACBP=28 - 0000:0F80 01A5 C=CODE S=_TEXT G=(none) M=CRTINIT ACBP=28 - 0000:1125 001F C=CODE S=_TEXT G=(none) M=CVTFAK ACBP=28 - 0000:1144 0432 C=CODE S=_TEXT G=(none) M=FARHEAP ACBP=28 - 0000:1576 0140 C=CODE S=_TEXT G=(none) M=FBRK ACBP=28 - 0000:16B6 0050 C=CODE S=_TEXT G=(none) M=FCORELFT ACBP=28 - 0000:1706 005E C=CODE S=_TEXT G=(none) M=GETCH ACBP=28 - 0000:1764 0049 C=CODE S=_TEXT G=(none) M=GOTOXY ACBP=28 - 0000:17AD 00AC C=CODE S=_TEXT G=(none) M=GPTEXT ACBP=28 - 0000:1859 0029 C=CODE S=_TEXT G=(none) M=IOCTL ACBP=28 - 0000:1882 0012 C=CODE S=_TEXT G=(none) M=KBHIT ACBP=28 - 0000:1894 009D C=CODE S=_TEXT G=(none) M=MOVETEXT ACBP=28 - 0000:1931 0017 C=CODE S=_TEXT G=(none) M=PUTCH ACBP=28 - 0000:1948 0004 C=CODE S=_TEXT G=(none) M=REALCVT ACBP=28 - 0000:194C 01C7 C=CODE S=_TEXT G=(none) M=SCREEN ACBP=28 - 0000:1B13 018E C=CODE S=_TEXT G=(none) M=SCROLL ACBP=28 - 0000:1CA1 012B C=CODE S=_TEXT G=(none) M=SETARGV ACBP=28 - 0000:1DCC 001C C=CODE S=_TEXT G=(none) M=SETBLOCK ACBP=28 - 0000:1DE8 0058 C=CODE S=_TEXT G=(none) M=SETENVP ACBP=28 - 0000:1E40 002C C=CODE S=_TEXT G=(none) M=WHEREXY ACBP=28 - 0000:1E6C 001D C=CODE S=_TEXT G=(none) M=CHMODA ACBP=28 - 0000:1E89 0028 C=CODE S=_TEXT G=(none) M=CLOSE ACBP=28 - 0000:1EB1 001E C=CODE S=_TEXT G=(none) M=CLOSEA ACBP=28 - 0000:1ECF 00B8 C=CODE S=_TEXT G=(none) M=FCLOSE ACBP=28 - 0000:1F87 00CD C=CODE S=_TEXT G=(none) M=FFLUSH ACBP=28 - 0000:2054 0041 C=CODE S=_TEXT G=(none) M=FLENGTH ACBP=28 - 0000:2095 0042 C=CODE S=_TEXT G=(none) M=FLUSHALL ACBP=28 - 0000:20D7 020C C=CODE S=_TEXT G=(none) M=FOPEN ACBP=28 - 0000:22E3 001C C=CODE S=_TEXT G=(none) M=FPRINTF ACBP=28 - 0000:22FF 01E2 C=CODE S=_TEXT G=(none) M=FSEEK ACBP=28 - 0000:24E1 0070 C=CODE S=_TEXT G=(none) M=GETENV ACBP=28 - 0000:2551 0070 C=CODE S=_TEXT G=(none) M=LTOA1 ACBP=28 - 0000:25C1 0024 C=CODE S=_TEXT G=(none) M=MEMCPY ACBP=28 - 0000:25E5 0022 C=CODE S=_TEXT G=(none) M=MOVEDATA ACBP=28 - 0000:2607 019C C=CODE S=_TEXT G=(none) M=OPEN ACBP=28 - 0000:27A3 004F C=CODE S=_TEXT G=(none) M=OPENA ACBP=28 - 0000:27F2 001B C=CODE S=_TEXT G=(none) M=PRINTF ACBP=28 - 0000:280D 03C8 C=CODE S=_TEXT G=(none) M=PUTC ACBP=28 - 0000:2BD5 00D1 C=CODE S=_TEXT G=(none) M=READ ACBP=28 - 0000:2CA6 0003 C=CODE S=_TEXT G=(none) M=READU ACBP=28 - 0000:2CA9 011D C=CODE S=_TEXT G=(none) M=SETVBUF ACBP=28 - 0000:2DC6 0083 C=CODE S=_TEXT G=(none) M=SPRINTF ACBP=28 - 0000:2E49 003F C=CODE S=_TEXT G=(none) M=STRCAT ACBP=28 - 0000:2E88 0046 C=CODE S=_TEXT G=(none) M=STRDUP ACBP=28 - 0000:2ECE 001F C=CODE S=_TEXT G=(none) M=STRLEN ACBP=28 - 0000:2EED 0151 C=CODE S=_TEXT G=(none) M=WRITE ACBP=28 - 0000:303E 003C C=CODE S=_TEXT G=(none) M=WRITEA ACBP=28 - 0000:307A 0003 C=CODE S=_TEXT G=(none) M=WRITEU ACBP=28 - 0000:307D 003D C=CODE S=_TEXT G=(none) M=XFCLOSE ACBP=28 - 0000:30BA 0038 C=CODE S=_TEXT G=(none) M=XFFLUSH ACBP=28 - 0000:30F2 0028 C=CODE S=_TEXT G=(none) M=FMEMCMP ACBP=28 - 0000:311A 0024 C=CODE S=_TEXT G=(none) M=FMEMCPY ACBP=28 - 0000:313E 0043 C=CODE S=_TEXT G=(none) M=FMEMSET ACBP=28 - 0318:0001 1AA8 C=CODE S=16_PM_TEXT G=(none) M=SRC\LIB\16_PM.C ACBP=28 - 04C2:0009 06B1 C=CODE S=KITTEN_TEXT G=(none) M=SRC\LIB\NYAN\KITTEN.C ACBP=28 - 052D:000A 0412 C=CODE S=16_HC_TEXT G=(none) M=SRC\LIB\16_HC.C ACBP=28 - 056E:000C 033A C=CODE S=EXMMTEST_TEXT G=(none) M=SRC\EXMMTEST.C ACBP=28 - 05A2:0006 096F C=CODE S=16_CA_TEXT G=(none) M=SRC\LIB\16_CA.C ACBP=28 - 0639:0005 04DA C=CODE S=16_HEAD_TEXT G=(none) M=SRC\LIB\16_HEAD.C ACBP=28 - 0686:000F 1D00 C=CODE S=16_MM_TEXT G=(none) M=SRC\LIB\16_MM.C ACBP=28 - 0856:000F 11AE C=CODE S=16_IN_TEXT G=(none) M=SRC\LIB\16_IN.C ACBP=28 - 0971:000D 0211 C=CODE S=16_DBG_TEXT G=(none) M=SRC\LIB\16_DBG.C ACBP=28 - 0992:000E 056F C=CODE S=16_TAIL_TEXT G=(none) M=SRC\LIB\16_TAIL.C ACBP=28 - 09E9:000D 077E C=CODE S=16_VL_1_TEXT G=(none) M=SRC\LIB\16_VL_1.C ACBP=28 - 0A62:0000 0000 C=FAR_DATA S=_FARDATA G=(none) M=c0.ASM ACBP=68 - 0A62:0000 0080 C=FAR_DATA S=16_IN5_DATA G=(none) M=SRC\LIB\16_IN.C ACBP=68 - 0A6A:0000 0080 C=FAR_DATA S=16_IN6_DATA G=(none) M=SRC\LIB\16_IN.C ACBP=68 - 0A72:0000 0080 C=FAR_DATA S=16_IN7_DATA G=(none) M=SRC\LIB\16_IN.C ACBP=68 - 0A7A:0000 0024 C=FAR_DATA S=16_IN8_DATA G=(none) M=SRC\LIB\16_IN.C ACBP=68 - 0A7D:0000 0000 C=FAR_BSS S=_FARBSS G=(none) M=c0.ASM ACBP=68 - 0A7D:0000 0000 C=OVRINFO S=_OVERLAY_ G=(none) M=c0.ASM ACBP=68 - 0A7D:0000 0000 C=STUBSEG S=_1STUB_ G=(none) M=c0.ASM ACBP=68 - 0A7D:0000 0093 C=DATA S=_DATA G=DGROUP M=c0.ASM ACBP=68 - 0A7D:0094 054F C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_PM.C ACBP=48 - 0A7D:05E4 0045 C=DATA S=_DATA G=DGROUP M=SRC\LIB\NYAN\KITTEN.C ACBP=48 - 0A7D:062A 0016 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_HC.C ACBP=48 - 0A7D:0640 02BD C=DATA S=_DATA G=DGROUP M=SRC\EXMMTEST.C ACBP=48 - 0A7D:08FE 0117 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_CA.C ACBP=48 - 0A7D:0A16 0011 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_HEAD.C ACBP=48 - 0A7D:0A28 0A64 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_MM.C ACBP=48 - 0A7D:148C 04A7 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_IN.C ACBP=48 - 0A7D:1934 0066 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_DBG.C ACBP=48 - 0A7D:199A 0155 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_TAIL.C ACBP=48 - 0A7D:1AF0 0018 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_VL_1.C ACBP=48 - 0A7D:1B08 0002 C=DATA S=_DATA G=DGROUP M=ATEXIT ACBP=48 - 0A7D:1B0A 0101 C=DATA S=_DATA G=DGROUP M=CTYPE ACBP=48 - 0A7D:1C0C 0000 C=DATA S=_DATA G=DGROUP M=DOSFATTR ACBP=48 - 0A7D:1C0C 000C C=DATA S=_DATA G=DGROUP M=EXIT ACBP=48 - 0A7D:1C18 0190 C=DATA S=_DATA G=DGROUP M=FILES ACBP=48 - 0A7D:1DA8 002A C=DATA S=_DATA G=DGROUP M=FILES2 ACBP=48 - 0A7D:1DD2 0004 C=DATA S=_DATA G=DGROUP M=FMODE ACBP=48 - 0A7D:1DD6 0000 C=DATA S=_DATA G=DGROUP M=GETVECT ACBP=48 - 0A7D:1DD6 0000 C=DATA S=_DATA G=DGROUP M=H_LDIV ACBP=48 - 0A7D:1DD6 0000 C=DATA S=_DATA G=DGROUP M=H_LLSH ACBP=48 - 0A7D:1DD6 0000 C=DATA S=_DATA G=DGROUP M=H_LURSH ACBP=48 - 0A7D:1DD6 0000 C=DATA S=_DATA G=DGROUP M=H_PADD ACBP=48 - 0A7D:1DD6 0000 C=DATA S=_DATA G=DGROUP M=H_PSBP ACBP=48 - 0A7D:1DD6 005B C=DATA S=_DATA G=DGROUP M=IOERROR ACBP=48 - 0A7D:1E32 0000 C=DATA S=_DATA G=DGROUP M=ISATTY ACBP=48 - 0A7D:1E32 0000 C=DATA S=_DATA G=DGROUP M=LONGTOA ACBP=48 - 0A7D:1E32 0000 C=DATA S=_DATA G=DGROUP M=LSEEK ACBP=48 - 0A7D:1E32 0009 C=DATA S=_DATA G=DGROUP M=MKNAME ACBP=48 - 0A7D:1E3C 0000 C=DATA S=_DATA G=DGROUP M=N_PCMP ACBP=48 - 0A7D:1E3C 0000 C=DATA S=_DATA G=DGROUP M=READA ACBP=48 - 0A7D:1E3C 0000 C=DATA S=_DATA G=DGROUP M=SETUPIO ACBP=48 - 0A7D:1E3C 0002 C=DATA S=_DATA G=DGROUP M=STKLEN ACBP=48 - 0A7D:1E3E 0000 C=DATA S=_DATA G=DGROUP M=TOLOWER ACBP=48 - 0A7D:1E3E 0000 C=DATA S=_DATA G=DGROUP M=UNLINK ACBP=48 - 0A7D:1E3E 0067 C=DATA S=_DATA G=DGROUP M=VPRINTER ACBP=48 - 0A7D:1EA6 0000 C=DATA S=_DATA G=DGROUP M=VRAM ACBP=48 - 0A7D:1EA6 0002 C=DATA S=_DATA G=DGROUP M=WSCROLL ACBP=48 - 0A7D:1EA8 0000 C=DATA S=_DATA G=DGROUP M=_STPCPY ACBP=48 - 0A7D:1EA8 0000 C=DATA S=_DATA G=DGROUP M=CLRSCR ACBP=48 - 0A7D:1EA8 0000 C=DATA S=_DATA G=DGROUP M=CORELEFT ACBP=48 - 0A7D:1EA8 0000 C=DATA S=_DATA G=DGROUP M=CPRINTF ACBP=48 - 0A7D:1EA8 0018 C=DATA S=_DATA G=DGROUP M=CRTINIT ACBP=48 - 0A7D:1EC0 0031 C=DATA S=_DATA G=DGROUP M=CVTFAK ACBP=48 - 0A7D:1EF2 0000 C=DATA S=_DATA G=DGROUP M=FARHEAP ACBP=48 - 0A7D:1EF2 0002 C=DATA S=_DATA G=DGROUP M=FBRK ACBP=48 - 0A7D:1EF4 0000 C=DATA S=_DATA G=DGROUP M=FCORELFT ACBP=48 - 0A7D:1EF4 0000 C=DATA S=_DATA G=DGROUP M=GETCH ACBP=48 - 0A7D:1EF4 0000 C=DATA S=_DATA G=DGROUP M=GOTOXY ACBP=48 - 0A7D:1EF4 0000 C=DATA S=_DATA G=DGROUP M=GPTEXT ACBP=48 - 0A7D:1EF4 0000 C=DATA S=_DATA G=DGROUP M=IOCTL ACBP=48 - 0A7D:1EF4 0002 C=DATA S=_DATA G=DGROUP M=KBHIT ACBP=48 - 0A7D:1EF6 0000 C=DATA S=_DATA G=DGROUP M=MOVETEXT ACBP=48 - 0A7D:1EF6 0000 C=DATA S=_DATA G=DGROUP M=PUTCH ACBP=48 - 0A7D:1EF6 0000 C=DATA S=_DATA G=DGROUP M=REALCVT ACBP=48 - 0A7D:1EF6 0000 C=DATA S=_DATA G=DGROUP M=SCREEN ACBP=48 - 0A7D:1EF6 0000 C=DATA S=_DATA G=DGROUP M=SCROLL ACBP=48 - 0A7D:1EF6 0010 C=DATA S=_DATA G=DGROUP M=SETARGV ACBP=48 - 0A7D:1F06 0000 C=DATA S=_DATA G=DGROUP M=SETBLOCK ACBP=48 - 0A7D:1F06 0004 C=DATA S=_DATA G=DGROUP M=SETENVP ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=WHEREXY ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=CHMODA ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=CLOSE ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=CLOSEA ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=FCLOSE ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=FFLUSH ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=FLENGTH ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=FLUSHALL ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=FOPEN ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=FPRINTF ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=FSEEK ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=GETENV ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=LTOA1 ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=MEMCPY ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=MOVEDATA ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=OPEN ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=OPENA ACBP=48 - 0A7D:1F0A 0000 C=DATA S=_DATA G=DGROUP M=PRINTF ACBP=48 - 0A7D:1F0A 0001 C=DATA S=_DATA G=DGROUP M=PUTC ACBP=48 - 0A7D:1F0C 0000 C=DATA S=_DATA G=DGROUP M=READ ACBP=48 - 0A7D:1F0C 0000 C=DATA S=_DATA G=DGROUP M=READU ACBP=48 - 0A7D:1F0C 0004 C=DATA S=_DATA G=DGROUP M=SETVBUF ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=SPRINTF ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=STRCAT ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=STRDUP ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=STRLEN ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=WRITE ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=WRITEA ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=WRITEU ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=XFCLOSE ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=XFFLUSH ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=FMEMCMP ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=FMEMCPY ACBP=48 - 0A7D:1F10 0000 C=DATA S=_DATA G=DGROUP M=FMEMSET ACBP=48 - 0A7D:1F10 0000 C=DATA S=_CVTSEG G=DGROUP M=c0.ASM ACBP=48 - 0A7D:1F10 0002 C=DATA S=_CVTSEG G=DGROUP M=CVTFAK ACBP=48 - 0A7D:1F12 0000 C=DATA S=_CVTSEG G=DGROUP M=REALCVT ACBP=48 - 0A7D:1F12 0000 C=DATA S=_SCNSEG G=DGROUP M=c0.ASM ACBP=48 - 0A7D:1F12 0006 C=DATA S=_SCNSEG G=DGROUP M=CVTFAK ACBP=48 - 0A7D:1F18 0000 C=CONST S=_CONST G=DGROUP M=c0.ASM ACBP=48 - 0A7D:1F18 0000 C=INITDATA S=_INIT_ G=DGROUP M=c0.ASM ACBP=48 - 0A7D:1F18 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETUPIO ACBP=48 - 0A7D:1F1E 0006 C=INITDATA S=_INIT_ G=DGROUP M=CRTINIT ACBP=48 - 0A7D:1F24 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETARGV ACBP=48 - 0A7D:1F2A 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETENVP ACBP=48 - 0A7D:1F30 0000 C=INITDATA S=_INITEND_ G=DGROUP M=c0.ASM ACBP=28 - 0A7D:1F30 0000 C=EXITDATA S=_EXIT_ G=DGROUP M=c0.ASM ACBP=48 - 0A7D:1F30 0000 C=EXITDATA S=_EXITEND_ G=DGROUP M=c0.ASM ACBP=28 - 0A7D:1F30 0000 C=BSS S=_BSS G=DGROUP M=c0.ASM ACBP=48 - 0A7D:1F30 0016 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_PM.C ACBP=48 - 0A7D:1F46 0004 C=BSS S=_BSS G=DGROUP M=SRC\LIB\NYAN\KITTEN.C ACBP=48 - 0A7D:1F4A 0000 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_HC.C ACBP=48 - 0A7D:1F4A 50D5 C=BSS S=_BSS G=DGROUP M=SRC\EXMMTEST.C ACBP=48 - 0A7D:7020 000C C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_CA.C ACBP=48 - 0A7D:702C 0000 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_HEAD.C ACBP=48 - 0A7D:702C 000C C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_MM.C ACBP=48 - 0A7D:7038 0124 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_IN.C ACBP=48 - 0A7D:715C 000E C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_DBG.C ACBP=48 - 0A7D:716A 0423 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_TAIL.C ACBP=48 - 0A7D:758E 0000 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_VL_1.C ACBP=48 - 0A7D:758E 0080 C=BSS S=_BSS G=DGROUP M=ATEXIT ACBP=48 - 0A7D:760E 0000 C=BSS S=_BSS G=DGROUP M=DOSFATTR ACBP=48 - 0A7D:760E 0000 C=BSS S=_BSS G=DGROUP M=GETVECT ACBP=48 - 0A7D:760E 0000 C=BSS S=_BSS G=DGROUP M=IOERROR ACBP=48 - 0A7D:760E 0000 C=BSS S=_BSS G=DGROUP M=ISATTY ACBP=48 - 0A7D:760E 0000 C=BSS S=_BSS G=DGROUP M=LONGTOA ACBP=48 - 0A7D:760E 0000 C=BSS S=_BSS G=DGROUP M=LSEEK ACBP=48 - 0A7D:760E 000D C=BSS S=_BSS G=DGROUP M=MKNAME ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=READA ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=SETUPIO ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=UNLINK ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=VPRINTER ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=VRAM ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=CORELEFT ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=CRTINIT ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=GETCH ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=IOCTL ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=KBHIT ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=SETBLOCK ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=CHMODA ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=CLOSEA ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=FLENGTH ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=GETENV ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=MEMCPY ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=MOVEDATA ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=OPEN ACBP=48 - 0A7D:761C 0000 C=BSS S=_BSS G=DGROUP M=OPENA ACBP=48 - 0A7D:761C 0001 C=BSS S=_BSS G=DGROUP M=PUTC ACBP=48 - 0A7D:761E 0000 C=BSS S=_BSS G=DGROUP M=READ ACBP=48 - 0A7D:761E 0000 C=BSS S=_BSS G=DGROUP M=STRCAT ACBP=48 - 0A7D:761E 0000 C=BSS S=_BSS G=DGROUP M=STRLEN ACBP=48 - 0A7D:761E 0000 C=BSS S=_BSS G=DGROUP M=WRITEA ACBP=48 - 0A7D:761E 0000 C=BSS S=_BSS G=DGROUP M=FMEMCMP ACBP=48 - 0A7D:761E 0000 C=BSS S=_BSS G=DGROUP M=FMEMCPY ACBP=48 - 0A7D:761E 0000 C=BSS S=_BSS G=DGROUP M=FMEMSET ACBP=48 - 0A7D:761E 0000 C=BSSEND S=_BSSEND G=DGROUP M=c0.ASM ACBP=28 - 11DF:0000 0080 C=STACK S=_STACK G=(none) M=c0.ASM ACBP=74 - - Address Publics by Name - - 0A7D:0000 idle DATASEG@ - 0000:0291 idle DGROUP@ - 0000:03B5 F_LDIV@ - 0000:03C4 idle F_LMOD@ - 0000:03BC idle F_LUDIV@ - 0000:03CC idle F_LUMOD@ - 0000:0463 F_LXLSH@ - 0000:0484 F_LXURSH@ - 0000:04A5 idle F_PADD@ - 0000:0505 idle F_PSBP@ - 0000:04D4 idle F_PSUB@ - 04C2:0009 idle KITTENGETS - 0000:03B5 idle LDIV@ - 0000:03C4 idle LMOD@ - 0000:03BC idle LUDIV@ - 0000:03CC idle LUMOD@ - 0000:0463 idle LXLSH@ - 0000:0484 idle LXURSH@ - 0000:03B2 idle N_LDIV@ - 0000:03C1 idle N_LMOD@ - 0000:03B9 idle N_LUDIV@ - 0000:03C9 idle N_LUMOD@ - 0000:0460 N_LXLSH@ - 0000:0481 idle N_LXURSH@ - 0000:04A2 N_PADD@ - 0000:0707 N_PCMP@ - 0000:0502 N_PSBP@ - 0000:04D1 idle N_PSUB@ - 0000:04A5 idle PADD@ - 0000:0505 idle PSBP@ - 0000:04D4 idle PSUB@ - 0000:027A _abort - 0A7D:7030 idle _aftersort - 0000:0295 idle _atexit - 0A7D:7034 idle _beforesort - 0992:0500 idle _booleantest - 0992:042D idle _boolean_to_binary - 0A7D:703C idle _btnstate - 05A2:042D idle _CAL_CarmackExpand - 05A2:032D idle _CAL_HuffExpand - 05A2:02BC idle _CAL_OptimizeNodes - 05A2:0722 idle _CAL_SetupMapFile - 04C2:0286 idle _catread - 05A2:0857 idle _CA_ClearAllMarks - 05A2:0822 idle _CA_ClearMarks - 05A2:0031 _CA_CloseDebug - 05A2:07F5 idle _CA_DownLevel - 05A2:0046 _CA_FarRead - 05A2:00C0 idle _CA_FarWrite - 05A2:0225 _CA_LoadFile - 05A2:0006 _CA_OpenDebug - 05A2:013A _CA_ReadFile - 05A2:057D idle _CA_RLEWCompress - 05A2:066F idle _CA_RLEWexpand - 05A2:08DB idle _CA_SetAllPurge - 05A2:0884 idle _CA_SetGrPurge - 05A2:07A6 _CA_Shutdown - 05A2:075A _CA_Startup - 05A2:07CB idle _CA_UpLevel - 05A2:01B7 idle _CA_WriteFile - 0992:025B idle _ClearMemory - 0000:1E89 _close - 0000:0E03 _clrscr - 0000:0E2C _coreleft - 0000:0F64 idle _cprintf - 0A7D:193C idle _dbg_delayanimation - 0A7D:7166 idle _dbg_mapdata - 0A7D:193A idle _dbg_maptext - 0A7D:1938 _dbg_nointest - 0A7D:1936 _dbg_testcontrolnoisy - 0A7D:1934 _dbg_testkeyin - 04C2:0597 idle _db_fetch - 04C2:05FF idle _db_insert - 0992:00BC _DebugMemory_ - 0639:0499 _dirchar - 0A7D:1EB7 _directvideo - 0A7D:7028 idle _drawcachebox - 0A7D:1F06 _environ - 0A7D:007F _errno - 0000:0357 _exit - 0000:16B6 _farcoreleft - 0000:1284 _farfree - 0000:1398 _farmalloc - 0000:14FC idle _farrealloc - 0000:1ECF _fclose - 0000:1F87 _fflush - 0000:2054 _filelength - 0639:0005 idle _filesize - 0A7D:7020 idle _finishcachebox - 0000:2095 _flushall - 0000:22AE _fopen - 0000:22E3 _fprintf - 0000:2829 idle _fputc - 0000:29BE idle _fputchar - 0000:1284 _free - 0000:2381 _fseek - 0000:2401 _ftell - 0000:1706 _getch - 0000:1722 idle _getche - 0000:24E1 _getenv - 0000:17AD _gettext - 0000:0392 _getvect - 04C2:0540 idle _get_line - 0A7D:738D idle _global_temp_status_text - 0A7D:718D idle _global_temp_status_text2 - 0000:1764 _gotoxy - 052D:0407 idle _HC_CloseDebug - 052D:01B5 idle _HC_coreleft - 052D:000A _HC_farcoreleft - 052D:030A idle _HC_farcoreleft_ - 052D:0245 idle _HC_LargestFarFreeBlock - 052D:00F9 idle _HC_LargestFreeBlock - 052D:03DC idle _HC_OpenDebug - 0856:0268 idle _INL_GetJoyDelta - 0856:000F idle _INL_KeyService - 0856:0182 idle _INL_Mouse - 0856:0FD7 _IN_Ack - 0856:0F51 idle _IN_CheckAck - 0856:1122 _IN_ClearKey - 0856:08D2 idle _IN_ClearKeysDown - 0856:07D3 idle _IN_Default - 0856:1199 idle _IN_GetCurCode - 0856:01CB idle _IN_GetJoyAbs - 0856:042A idle _IN_GetJoyButtonsDB - 0856:1195 idle _IN_GetLastScan - 0856:0E53 idle _IN_GetScanName - 0856:0FFA idle _IN_IsUserInput - 0856:10D3 idle _IN_JoyButtons - 0856:119D idle _IN_KbdLED - 0856:10F0 idle _IN_KeyDown - 0856:10AA idle _IN_MouseButtons - 0856:1144 idle _IN_qb - 0856:09F2 idle _IN_ReadControl - 0856:0922 idle _IN_ReadCursor - 0856:0E44 idle _IN_SetControlType - 0856:08C0 idle _IN_SetKeyHook - 0856:05BC idle _IN_SetupJoy - 0856:087B _IN_Shutdown - 0856:0EE8 idle _IN_StartAck - 0856:06EE _IN_Startup - 0856:1061 idle _IN_UserInput - 0856:0ECB idle _IN_WaitForASCII - 0856:0EAD idle _IN_WaitForKey - 0000:1859 _ioctl - 0000:0575 _isatty - 0000:2551 idle _itoa - 0000:1882 _kbhit - 04C2:033E idle _kittenclose - 04C2:005C idle _kittenopen - 0000:0628 _lseek - 0000:2599 idle _ltoa - 056E:002E _main - 0000:138E _malloc - 0000:25C1 _memcpy - 0686:000F _MML_CheckForEMS - 0686:00B5 _MML_CheckForXMS - 0686:035F idle _MML_ClearBlock - 0686:00E1 idle _MML_UseSpace - 0686:1CDC _MM_BombOnError - 0686:143C _MM_DumpData - 0686:18AF _MM_EMSerr - 0686:09C9 _MM_FreePtr - 0686:06AA _MM_GetPtr - 0686:16BB _MM_Report_ - 0686:0B81 _MM_SetLock - 0686:0ACC _MM_SetPurge - 0686:0DE3 _MM_ShowMemory - 0686:1294 idle _MM_ShowMemoryVidVer - 0686:0670 _MM_Shutdown - 0686:0C3B _MM_SortMem - 0686:03D4 _MM_Startup - 0686:1623 _MM_TotalFree - 0686:15A9 _MM_UnusedMemory - 0992:0568 _modexPalOverscan - 0000:25E5 _movedata - 0000:1894 _movetext - 04C2:0345 idle _mystrtoul - 0992:0498 idle _nibbletest - 0992:03C2 idle _nibble_to_binary - 0000:2634 _open - 0318:0AF8 idle _PML_ClosePageFile - 0318:1054 idle _PML_GetAPageBuffer - 0318:0B53 idle _PML_GetEMSAddress - 0318:11D0 idle _PML_GetPageFromXMS - 0318:0D03 idle _PML_GiveLRUPage - 0318:0DBF idle _PML_GiveLRUXMSPage - 0318:127E idle _PML_LoadPage - 0318:0001 idle _PML_MapEMS - 0318:085B idle _PML_OpenPageFile - 0318:0E51 idle _PML_PutPageInXMS - 0318:07B1 idle _PML_ReadFromFile - 0318:0201 idle _PML_ShutdownEMS - 0318:0768 idle _PML_ShutdownMainMem - 0318:0465 idle _PML_ShutdownXMS - 0318:0096 idle _PML_StartupEMS - 0318:068D idle _PML_StartupMainMem - 0318:0289 idle _PML_StartupXMS - 0318:0F43 idle _PML_TransferPageSpace - 0318:0394 idle _PML_XMSCopy - 0318:051E _PM_CheckMainMem - 0318:12E3 _PM_GetPage - 0318:0C95 _PM_GetPageAddress - 0318:17B4 idle _PM_NextFrame - 0318:1461 idle _PM_Preload - 0318:18B4 idle _PM_Reset - 0318:04B6 _PM_SetMainMemPurge - 0318:1425 idle _PM_SetPageLock - 0318:1A60 _PM_Shutdown - 0318:194E _PM_Startup - 0000:27F2 _printf - 0639:022B idle _printmeminfoline - 04C2:03E1 idle _processEscChars - 0000:1931 _putch - 0000:1803 _puttext - 0992:0280 _Quit - 0000:2CA6 _read - 0000:14F5 idle _realloc - 0639:006C idle _remove_ext - 0639:01D4 idle _rotateL - 0639:017D idle _rotateR - 0000:1DCC _setblock - 0000:2CA9 _setvbuf - 0000:03A1 _setvect - 0971:000D idle _ShapeTest_ - 0992:0080 idle _Shutdown16 - 0000:2E06 _sprintf - 0992:000E idle _Startup16 - 0000:2E49 _strcat - 0000:2E88 _strdup - 0000:2ECE _strlen - 0992:00AF idle _TL_VidInit - 0000:0811 _tolower - 0000:257C _ultoa - 0000:1746 idle _ungetch - 0000:083D _unlink - 0A7D:7024 idle _updatecachebox - 0639:03C6 _US_CheckParm - 09E9:075C idle _VGAMAPMASK - 056E:000C idle _VGAmodeX - 09E9:077D idle _VGAREADMAP - 09E9:076A idle _VGAWRITEMODE - 09E9:0601 idle _VL_Bar - 09E9:025E _VL_FadeIn - 09E9:00F0 idle _VL_FadeOut - 09E9:000D idle _VL_FillPalette - 09E9:0056 idle _VL_GetColor - 09E9:00C4 idle _VL_GetPalette - 09E9:046E _VL_Hlin - 09E9:0407 _VL_Plot - 09E9:003B idle _VL_SetColor - 09E9:0080 idle _VL_SetPalette - 09E9:0378 idle _VL_TestPaletteSet - 09E9:057D idle _VL_Vlin - 09E9:0744 idle _VL_WaitVBL - 0000:2E28 idle _vsprintf - 0000:1E4A idle _wherex - 0000:1E59 idle _wherey - 0992:0357 idle _word_to_binary - 0000:307A _write - 0A7D:702C idle _XMSaddr - 0A7D:1F42 _XMSDriver - 0A7D:1F40 _XMSVer - 0686:1CEC idle _xms_call - 0000:1000 idle __AHINCR - 0000:000C idle __AHSHIFT - 0A7D:1EF6 __argc - 0A7D:1EF8 __argv - 0A7D:1B08 __atexitcnt - 0A7D:758E __atexittbl - 0000:15EC __brk - 0A7D:008B __brklvl - 0A7D:006B __C0argc - 0A7D:006D __C0argv - 0000:1046 idle __c0crtinit - 0A7D:0071 __C0environ - 0A7D:1EF5 __cChar - 0000:0378 idle __cexit - 0A7D:1EF4 __cFlag - 0000:016A __checknull - 0000:1E6C __chmod - 0000:0157 __cleanup - 0000:1EB1 __close - 0000:0E32 __CPUTN - 0000:1063 idle __crtinit - 0A7D:1B0A __ctype - 0000:0000 Abs __cvtfak - 0000:0386 idle __c_exit - 0A7D:1DD6 __doserrno - 0000:0563 __DOSERROR - 0A7D:1DD8 idle __dosErrorToSV - 0000:02C2 __dos_getfileattr - 0000:02E2 idle __dos_setfileattr - 0A7D:0075 __envLng - 0A7D:0077 __envseg - 0A7D:0079 __envSize - 0000:0366 __exit - 0A7D:1C0C __exitbuf - 0A7D:1C10 __exitfopen - 0A7D:1C14 idle __exitopen - 0000:30F2 __fmemcmp - 0000:311A __fmemcpy - 0000:3162 __fmemset - 0A7D:1DD2 __fmode - 0000:280D idle __fputc - 0000:29D2 __FPUTN - 0000:313E idle __fsetmem - 0000:2264 idle __GETFP - 0A7D:0087 __heapbase - 0A7D:008F __heaptop - 0A7D:005B idle __Int0Vector - 0A7D:005F idle __Int4Vector - 0A7D:0063 idle __Int5Vector - 0A7D:0067 idle __Int6Vector - 0000:052A __IOERROR - 0A7D:05E4 idle __kitten_catalog - 0000:0586 __LONGTOA - 0000:0651 __MKNAME - 0000:0293 idle __MMODEL - 0A7D:1DA8 __nfile - 0000:171F idle __Ngetche - 0A7D:1DD4 __notUmask - 0000:1743 idle __Nungetch - 0000:27A3 __open - 0A7D:1DAA __openfd - 0000:2193 idle __OPENFP - 0A7D:007D __osmajor - 0A7D:007E idle __osminor - 0A7D:007D idle __osversion - 0A7D:007B __psp - 0000:0728 __read - 0000:1948 __REALCVT - 0A7D:1F10 __RealCvtVector - 0000:01C0 __restorezero - 0000:162B __sbrk - 0A7D:1F12 idle __ScanTodVector - 0000:1A82 __SCREENIO - 0000:1B35 __SCROLL - 0000:0000 Abs __setargv__ - 0000:0000 idle __setenvp__ - 0000:0757 __setupio - 0A7D:0081 idle __StartTime - 0A7D:1E3C __stklen - 0000:0DCF __stpcpy - 0A7D:1C18 __streams - 0000:016B __terminate - 0000:06AE idle __TMPNAM - 0000:0000 idle __turboCrt - 0000:0608 __UTOA - 0000:1ABE __VALIDATEXY - 0A7D:007D idle __version - 0A7D:1EA8 __video - 0000:0FBB __VideoInt - 0000:086D __VPRINTER - 0000:0D30 __VPTR - 0000:0D55 __VRAM - 0000:1E40 __wherexy - 0000:303E __write - 0A7D:1EA6 __wscroll - 0000:307D __xfclose - 0000:30BA __xfflush - 0A7D:0085 idle ___brklvl - 0000:1144 idle ___first - 0000:1146 idle ___last - 0000:2BD5 ___read - 0000:1148 idle ___rover - 0000:2EED ___write - - Address Publics by Value - - 0000:0000 Abs __setargv__ - 0000:0000 idle __turboCrt - 0000:0000 Abs __cvtfak - 0000:0000 idle __setenvp__ - 0000:000C idle __AHSHIFT - 0000:0157 __cleanup - 0000:016A __checknull - 0000:016B __terminate - 0000:01C0 __restorezero - 0000:027A _abort - 0000:0291 idle DGROUP@ - 0000:0293 idle __MMODEL - 0000:0295 idle _atexit - 0000:02C2 __dos_getfileattr - 0000:02E2 idle __dos_setfileattr - 0000:0357 _exit - 0000:0366 __exit - 0000:0378 idle __cexit - 0000:0386 idle __c_exit - 0000:0392 _getvect - 0000:03A1 _setvect - 0000:03B2 idle N_LDIV@ - 0000:03B5 F_LDIV@ - 0000:03B5 idle LDIV@ - 0000:03B9 idle N_LUDIV@ - 0000:03BC idle F_LUDIV@ - 0000:03BC idle LUDIV@ - 0000:03C1 idle N_LMOD@ - 0000:03C4 idle F_LMOD@ - 0000:03C4 idle LMOD@ - 0000:03C9 idle N_LUMOD@ - 0000:03CC idle LUMOD@ - 0000:03CC idle F_LUMOD@ - 0000:0460 N_LXLSH@ - 0000:0463 F_LXLSH@ - 0000:0463 idle LXLSH@ - 0000:0481 idle N_LXURSH@ - 0000:0484 F_LXURSH@ - 0000:0484 idle LXURSH@ - 0000:04A2 N_PADD@ - 0000:04A5 idle F_PADD@ - 0000:04A5 idle PADD@ - 0000:04D1 idle N_PSUB@ - 0000:04D4 idle F_PSUB@ - 0000:04D4 idle PSUB@ - 0000:0502 N_PSBP@ - 0000:0505 idle PSBP@ - 0000:0505 idle F_PSBP@ - 0000:052A __IOERROR - 0000:0563 __DOSERROR - 0000:0575 _isatty - 0000:0586 __LONGTOA - 0000:0608 __UTOA - 0000:0628 _lseek - 0000:0651 __MKNAME - 0000:06AE idle __TMPNAM - 0000:0707 N_PCMP@ - 0000:0728 __read - 0000:0757 __setupio - 0000:0811 _tolower - 0000:083D _unlink - 0000:086D __VPRINTER - 0000:0D30 __VPTR - 0000:0D55 __VRAM - 0000:0DCF __stpcpy - 0000:0E03 _clrscr - 0000:0E2C _coreleft - 0000:0E32 __CPUTN - 0000:0F64 idle _cprintf - 0000:0FBB __VideoInt - 0000:1000 idle __AHINCR - 0000:1046 idle __c0crtinit - 0000:1063 idle __crtinit - 0000:1144 idle ___first - 0000:1146 idle ___last - 0000:1148 idle ___rover - 0000:1284 _free - 0000:1284 _farfree - 0000:138E _malloc - 0000:1398 _farmalloc - 0000:14F5 idle _realloc - 0000:14FC idle _farrealloc - 0000:15EC __brk - 0000:162B __sbrk - 0000:16B6 _farcoreleft - 0000:1706 _getch - 0000:171F idle __Ngetche - 0000:1722 idle _getche - 0000:1743 idle __Nungetch - 0000:1746 idle _ungetch - 0000:1764 _gotoxy - 0000:17AD _gettext - 0000:1803 _puttext - 0000:1859 _ioctl - 0000:1882 _kbhit - 0000:1894 _movetext - 0000:1931 _putch - 0000:1948 __REALCVT - 0000:1A82 __SCREENIO - 0000:1ABE __VALIDATEXY - 0000:1B35 __SCROLL - 0000:1DCC _setblock - 0000:1E40 __wherexy - 0000:1E4A idle _wherex - 0000:1E59 idle _wherey - 0000:1E6C __chmod - 0000:1E89 _close - 0000:1EB1 __close - 0000:1ECF _fclose - 0000:1F87 _fflush - 0000:2054 _filelength - 0000:2095 _flushall - 0000:2193 idle __OPENFP - 0000:2264 idle __GETFP - 0000:22AE _fopen - 0000:22E3 _fprintf - 0000:2381 _fseek - 0000:2401 _ftell - 0000:24E1 _getenv - 0000:2551 idle _itoa - 0000:257C _ultoa - 0000:2599 idle _ltoa - 0000:25C1 _memcpy - 0000:25E5 _movedata - 0000:2634 _open - 0000:27A3 __open - 0000:27F2 _printf - 0000:280D idle __fputc - 0000:2829 idle _fputc - 0000:29BE idle _fputchar - 0000:29D2 __FPUTN - 0000:2BD5 ___read - 0000:2CA6 _read - 0000:2CA9 _setvbuf - 0000:2E06 _sprintf - 0000:2E28 idle _vsprintf - 0000:2E49 _strcat - 0000:2E88 _strdup - 0000:2ECE _strlen - 0000:2EED ___write - 0000:303E __write - 0000:307A _write - 0000:307D __xfclose - 0000:30BA __xfflush - 0000:30F2 __fmemcmp - 0000:311A __fmemcpy - 0000:313E idle __fsetmem - 0000:3162 __fmemset - 0318:0001 idle _PML_MapEMS - 0318:0096 idle _PML_StartupEMS - 0318:0201 idle _PML_ShutdownEMS - 0318:0289 idle _PML_StartupXMS - 0318:0394 idle _PML_XMSCopy - 0318:0465 idle _PML_ShutdownXMS - 0318:04B6 _PM_SetMainMemPurge - 0318:051E _PM_CheckMainMem - 0318:068D idle _PML_StartupMainMem - 0318:0768 idle _PML_ShutdownMainMem - 0318:07B1 idle _PML_ReadFromFile - 0318:085B idle _PML_OpenPageFile - 0318:0AF8 idle _PML_ClosePageFile - 0318:0B53 idle _PML_GetEMSAddress - 0318:0C95 _PM_GetPageAddress - 0318:0D03 idle _PML_GiveLRUPage - 0318:0DBF idle _PML_GiveLRUXMSPage - 0318:0E51 idle _PML_PutPageInXMS - 0318:0F43 idle _PML_TransferPageSpace - 0318:1054 idle _PML_GetAPageBuffer - 0318:11D0 idle _PML_GetPageFromXMS - 0318:127E idle _PML_LoadPage - 0318:12E3 _PM_GetPage - 0318:1425 idle _PM_SetPageLock - 0318:1461 idle _PM_Preload - 0318:17B4 idle _PM_NextFrame - 0318:18B4 idle _PM_Reset - 0318:194E _PM_Startup - 0318:1A60 _PM_Shutdown - 04C2:0009 idle KITTENGETS - 04C2:005C idle _kittenopen - 04C2:0286 idle _catread - 04C2:033E idle _kittenclose - 04C2:0345 idle _mystrtoul - 04C2:03E1 idle _processEscChars - 04C2:0540 idle _get_line - 04C2:0597 idle _db_fetch - 04C2:05FF idle _db_insert - 052D:000A _HC_farcoreleft - 052D:00F9 idle _HC_LargestFreeBlock - 052D:01B5 idle _HC_coreleft - 052D:0245 idle _HC_LargestFarFreeBlock - 052D:030A idle _HC_farcoreleft_ - 052D:03DC idle _HC_OpenDebug - 052D:0407 idle _HC_CloseDebug - 056E:000C idle _VGAmodeX - 056E:002E _main - 05A2:0006 _CA_OpenDebug - 05A2:0031 _CA_CloseDebug - 05A2:0046 _CA_FarRead - 05A2:00C0 idle _CA_FarWrite - 05A2:013A _CA_ReadFile - 05A2:01B7 idle _CA_WriteFile - 05A2:0225 _CA_LoadFile - 05A2:02BC idle _CAL_OptimizeNodes - 05A2:032D idle _CAL_HuffExpand - 05A2:042D idle _CAL_CarmackExpand - 05A2:057D idle _CA_RLEWCompress - 05A2:066F idle _CA_RLEWexpand - 05A2:0722 idle _CAL_SetupMapFile - 05A2:075A _CA_Startup - 05A2:07A6 _CA_Shutdown - 05A2:07CB idle _CA_UpLevel - 05A2:07F5 idle _CA_DownLevel - 05A2:0822 idle _CA_ClearMarks - 05A2:0857 idle _CA_ClearAllMarks - 05A2:0884 idle _CA_SetGrPurge - 05A2:08DB idle _CA_SetAllPurge - 0639:0005 idle _filesize - 0639:006C idle _remove_ext - 0639:017D idle _rotateR - 0639:01D4 idle _rotateL - 0639:022B idle _printmeminfoline - 0639:03C6 _US_CheckParm - 0639:0499 _dirchar - 0686:000F _MML_CheckForEMS - 0686:00B5 _MML_CheckForXMS - 0686:00E1 idle _MML_UseSpace - 0686:035F idle _MML_ClearBlock - 0686:03D4 _MM_Startup - 0686:0670 _MM_Shutdown - 0686:06AA _MM_GetPtr - 0686:09C9 _MM_FreePtr - 0686:0ACC _MM_SetPurge - 0686:0B81 _MM_SetLock - 0686:0C3B _MM_SortMem - 0686:0DE3 _MM_ShowMemory - 0686:1294 idle _MM_ShowMemoryVidVer - 0686:143C _MM_DumpData - 0686:15A9 _MM_UnusedMemory - 0686:1623 _MM_TotalFree - 0686:16BB _MM_Report_ - 0686:18AF _MM_EMSerr - 0686:1CDC _MM_BombOnError - 0686:1CEC idle _xms_call - 0856:000F idle _INL_KeyService - 0856:0182 idle _INL_Mouse - 0856:01CB idle _IN_GetJoyAbs - 0856:0268 idle _INL_GetJoyDelta - 0856:042A idle _IN_GetJoyButtonsDB - 0856:05BC idle _IN_SetupJoy - 0856:06EE _IN_Startup - 0856:07D3 idle _IN_Default - 0856:087B _IN_Shutdown - 0856:08C0 idle _IN_SetKeyHook - 0856:08D2 idle _IN_ClearKeysDown - 0856:0922 idle _IN_ReadCursor - 0856:09F2 idle _IN_ReadControl - 0856:0E44 idle _IN_SetControlType - 0856:0E53 idle _IN_GetScanName - 0856:0EAD idle _IN_WaitForKey - 0856:0ECB idle _IN_WaitForASCII - 0856:0EE8 idle _IN_StartAck - 0856:0F51 idle _IN_CheckAck - 0856:0FD7 _IN_Ack - 0856:0FFA idle _IN_IsUserInput - 0856:1061 idle _IN_UserInput - 0856:10AA idle _IN_MouseButtons - 0856:10D3 idle _IN_JoyButtons - 0856:10F0 idle _IN_KeyDown - 0856:1122 _IN_ClearKey - 0856:1144 idle _IN_qb - 0856:1195 idle _IN_GetLastScan - 0856:1199 idle _IN_GetCurCode - 0856:119D idle _IN_KbdLED - 0971:000D idle _ShapeTest_ - 0992:000E idle _Startup16 - 0992:0080 idle _Shutdown16 - 0992:00AF idle _TL_VidInit - 0992:00BC _DebugMemory_ - 0992:025B idle _ClearMemory - 0992:0280 _Quit - 0992:0357 idle _word_to_binary - 0992:03C2 idle _nibble_to_binary - 0992:042D idle _boolean_to_binary - 0992:0498 idle _nibbletest - 0992:0500 idle _booleantest - 0992:0568 _modexPalOverscan - 09E9:000D idle _VL_FillPalette - 09E9:003B idle _VL_SetColor - 09E9:0056 idle _VL_GetColor - 09E9:0080 idle _VL_SetPalette - 09E9:00C4 idle _VL_GetPalette - 09E9:00F0 idle _VL_FadeOut - 09E9:025E _VL_FadeIn - 09E9:0378 idle _VL_TestPaletteSet - 09E9:0407 _VL_Plot - 09E9:046E _VL_Hlin - 09E9:057D idle _VL_Vlin - 09E9:0601 idle _VL_Bar - 09E9:0744 idle _VL_WaitVBL - 09E9:075C idle _VGAMAPMASK - 09E9:076A idle _VGAWRITEMODE - 09E9:077D idle _VGAREADMAP - 0A7D:0000 idle DATASEG@ - 0A7D:005B idle __Int0Vector - 0A7D:005F idle __Int4Vector - 0A7D:0063 idle __Int5Vector - 0A7D:0067 idle __Int6Vector - 0A7D:006B __C0argc - 0A7D:006D __C0argv - 0A7D:0071 __C0environ - 0A7D:0075 __envLng - 0A7D:0077 __envseg - 0A7D:0079 __envSize - 0A7D:007B __psp - 0A7D:007D idle __osversion - 0A7D:007D __osmajor - 0A7D:007D idle __version - 0A7D:007E idle __osminor - 0A7D:007F _errno - 0A7D:0081 idle __StartTime - 0A7D:0085 idle ___brklvl - 0A7D:0087 __heapbase - 0A7D:008B __brklvl - 0A7D:008F __heaptop - 0A7D:05E4 idle __kitten_catalog - 0A7D:1934 _dbg_testkeyin - 0A7D:1936 _dbg_testcontrolnoisy - 0A7D:1938 _dbg_nointest - 0A7D:193A idle _dbg_maptext - 0A7D:193C idle _dbg_delayanimation - 0A7D:1B08 __atexitcnt - 0A7D:1B0A __ctype - 0A7D:1C0C __exitbuf - 0A7D:1C10 __exitfopen - 0A7D:1C14 idle __exitopen - 0A7D:1C18 __streams - 0A7D:1DA8 __nfile - 0A7D:1DAA __openfd - 0A7D:1DD2 __fmode - 0A7D:1DD4 __notUmask - 0A7D:1DD6 __doserrno - 0A7D:1DD8 idle __dosErrorToSV - 0A7D:1E3C __stklen - 0A7D:1EA6 __wscroll - 0A7D:1EA8 __video - 0A7D:1EB7 _directvideo - 0A7D:1EF4 __cFlag - 0A7D:1EF5 __cChar - 0A7D:1EF6 __argc - 0A7D:1EF8 __argv - 0A7D:1F06 _environ - 0A7D:1F10 __RealCvtVector - 0A7D:1F12 idle __ScanTodVector - 0A7D:1F40 _XMSVer - 0A7D:1F42 _XMSDriver - 0A7D:7020 idle _finishcachebox - 0A7D:7024 idle _updatecachebox - 0A7D:7028 idle _drawcachebox - 0A7D:702C idle _XMSaddr - 0A7D:7030 idle _aftersort - 0A7D:7034 idle _beforesort - 0A7D:703C idle _btnstate - 0A7D:7166 idle _dbg_mapdata - 0A7D:718D idle _global_temp_status_text2 - 0A7D:738D idle _global_temp_status_text - 0A7D:758E __atexittbl - -Program entry point at 0000:0000 - diff --git a/bcexmm.prj b/bcexmm.prj index 5b6c7b5364692de6e01f109b939ba90cb040bba3..10728db9afe0a292ba8aaae73d3c6eef754fe318 100755 GIT binary patch delta 504 zcmeBmykNbdhJ)#F&*nOg#~e)OyCx?Krf_gDfB=wlUN8$JW-XM#ug-9&r`ao=nSo(a zFatxzC@aqD=;Pz>Jb8nxjFc~!sprA)A7p%RkaLV{ zgs*RiYjDWqpHf$uc6Ls_AZ-bxHgn6|WUfEMpbT_OK0`G_4MPY+JVOG52SX4;Fheav z9YZ}sB10}i9>acyQw*mWHZ$yH*vHVo(8bWr(8Dl;VJ5>Yh9wM38J00@WY`4MWoQ=f i>8F>JoDVb)$aZmZM{q(MJ$(?oFrRosC~vZrLNEX*E|RqX delta 724 zcmYk2O=uHA6vzMFWM?NOMbfp+28^aQv8~nGUgAgb&{T-KjnOtWp%4g3Dx|?;bJ1+A zjkq9wM39UhH$laNpdj|#lb7aHJ$ML+2p)ugHkSvLjlO#Yo$+q}I z+z{W1&&7&($8p_R7OpxLJF-F!$qv)ZasD7iQ01O(Yz(`j66!osE3&hS+!aEiY-l2M zx1kX>tz2OxZSYO0;r z$QfF|W;7jJJgcXTcPK#9^DjFO6&j`x!v(}~5tlHF%Sd7xGf3bW jUg8xV;0c~0g)DN&;~JJw!cDB;7VhCbC;VS**`NFi!Hvw^ diff --git a/src/exmmtest.c b/src/exmmtest.c index 945aa954..c0d2bbd7 100755 --- a/src/exmmtest.c +++ b/src/exmmtest.c @@ -45,7 +45,7 @@ //#define EXMMVERBOSE__ // #define PRINTBBDUMP #define BUFFDUMP -#define NOVID +//#define NOVID #define KEYP IN_Shutdown(&gvar); printf("\n\npress any key to continue!\n"); getch(); IN_Startup(&gvar); @@ -159,7 +159,9 @@ main(int argc, char *argv[]) Startup16(&gvar); // save the palette +#ifdef __WATCOMC__ modexPalSave(&gvar.video.dpal); modexFadeOff(4, &gvar.video.dpal); //modexPalBlack(); +#endif #else //NOVID //printf("main()=%Fp start MM\n", *argv[0]); MM_Startup(&gvar); //printf("ok\n"); @@ -242,7 +244,7 @@ PRINTBB; KEYP #ifdef __WATCOMC__ #ifndef NOVID VGAmodeX(1, 0, &gvar); - modexPalUpdate0(&gvar.video.palette); +// modexPalUpdate0(&gvar.video.palette); // ShapeTest_(&gvar); for (done = false;!done;) @@ -257,6 +259,7 @@ PRINTBB; KEYP case sc_Space: MM_ShowMemoryVidVer(&gvar); break; +//#ifdef __WATCOMC__ case sc_O: modexPalUpdate0(&gvar.video.palette); modexpdump(&gvar.video.page); break; @@ -266,12 +269,14 @@ PRINTBB; KEYP case sc_V: VL_PatternDraw(&gvar.video, 0, 1, 1); break; +//#endif default: - //case sc_Escape: + case sc_Escape: done = true; break; } } + VGAmodeX(0, 0, &gvar); #endif #endif diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index f5f0770e..a265e958 100755 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -1431,18 +1431,20 @@ void MM_ShowMemoryVidVer(global_game_variables_t *gvar) color = 12; // red = locked if (scan->start<=end) Quit (gvar, "MM_ShowMemory: Memory block order currupted!"); - end = scan->length-1; + //end = scan->length-1; + end = scan->start+(scan->length)-1; y = scan->start/320; x = scan->start%320; - VL_Hlin(x,x+end,y,color, &gvar->video.ofs); + VW_Hlin(x,x+end,y,color, &gvar->video.ofs); VL_Plot(x,y,15, &gvar->video.ofs); - if (scan->next && scan->next->start > end+1) - VL_Hlin(x+end+1,x+(scan->next->start-scan->start),y,0, &gvar->video.ofs); // black = free + //if (scan->next && scan->next->start > end+1) + if (scan->next && scan->next->start >= end+1) + VW_Hlin(x+end+1,x+(scan->next->start-scan->start),y,0, &gvar->video.ofs); // black = free scan = scan->next; } - VL_FadeIn(0,255,&gvar->video.palette,10, &gvar->video); + //----VL_FadeIn(0,255,&gvar->video.palette,10, &gvar->video); IN_Ack(gvar); gvar->video.ofs.bufferofs = temp; diff --git a/src/lib/16_vl.h b/src/lib/16_vl.h index c3c44c7c..00cd2238 100755 --- a/src/lib/16_vl.h +++ b/src/lib/16_vl.h @@ -60,11 +60,11 @@ // clips for rectangles not on 4s #define LRCLIPDEF \ - byte lclip[] = {0x0f, 0x0e, 0x0c, 0x08}; \ - byte rclip[] = {0x00, 0x01, 0x03, 0x07}; + static byte lclip[4] = {0x0f, 0x0e, 0x0c, 0x08}; \ + static byte rclip[4] = {0x00, 0x01, 0x03, 0x07}; #define VCLIPDEF \ - byte pclip[] = {1,2,4,8}; + static byte pclip[4] = {1,2,4,8}; typedef union { @@ -164,6 +164,9 @@ void VGAMAPMASK(byte x); void VGAWRITEMODE(byte x); void VGAREADMAP(byte x); +#define VW_Hlin(x,z,y,c,q) VL_Hlin(x,y,(z)-(x)+1,c,q) +#define VW_Vlin(y,z,x,c,q) VL_Vlin(x,y,(z)-(y)+1,c,q) + /* -============================ Functions =============================- */ /* mode switching, page, and plane functions */ void VGAmodeX(sword vq, boolean cmem, global_game_variables_t *gv); diff --git a/src/util/bcexmm.sh b/src/util/bcexmm.sh index 4fc44be0..891da392 100755 --- a/src/util/bcexmm.sh +++ b/src/util/bcexmm.sh @@ -2,5 +2,5 @@ if [ -f "BCEXMM.MAP" ]; then mv BCEXMM.EXE bcexmm.ex0 mv bcexmm.ex0 bcexmm.exe - mv BCEXMM.MAP bcexmm.mah + mv BCEXMM.MAP bcexmm.meh fi -- 2.39.5