From a1ebc8babe13647bcdbcb1b493ca2358808bbeeb Mon Sep 17 00:00:00 2001 From: sparky4 Date: Thu, 16 Mar 2017 11:37:50 -0500 Subject: [PATCH] __seguse.txt added to show _seg usage also OpenVGMFile needs to be ported to 16_snd.c ][ ca needs huge amounts of work and i should remember what needs to be done soon also i should reverify 16_in.c to make sure it can work with other code of id engine ] --- bcexmm.exe | Bin 112869 -> 114012 bytes bcexmm.mah | 889 ++++++++++++++++++++++++++++++++++++++++++++++ bcexmm.prj | Bin 8782 -> 8782 bytes data/G.PAL | Bin 768 -> 768 bytes src/exmmtest.c | 3 +- src/lib/16_ca.c | 6 +- src/lib/16_map.c | 8 +- src/lib/16_mm.c | 4 +- src/lib/16_pm.c | 19 +- src/lib/16_t.h | 4 +- src/lib/16_tdef.h | 34 +- src/maptest.c | 2 +- 12 files changed, 936 insertions(+), 33 deletions(-) create mode 100755 bcexmm.mah diff --git a/bcexmm.exe b/bcexmm.exe index cf74b44449bfdb41a6fe500cdc8b84828ede9a41..1edffeb7794d54c2da6705acc2c3f74a126ede1b 100755 GIT binary patch delta 39380 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 J4TH@m{sj(9P{RNK delta 37379 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 RWel56+NP*ZacULp5PzwJWX1ph diff --git a/bcexmm.mah b/bcexmm.mah new file mode 100755 index 00000000..8dc916ae --- /dev/null +++ b/bcexmm.mah @@ -0,0 +1,889 @@ + + Start Stop Length Name Class + + 00000H 03114H 03115H _TEXT CODE + 03115H 04BA6H 01A92H 16_PM_TEXT CODE + 04BA7H 05257H 006B1H KITTEN_TEXT CODE + 05258H 05669H 00412H 16_HC_TEXT CODE + 0566AH 05966H 002FDH EXMMTEST_TEXT CODE + 05967H 062D1H 0096BH 16_CA_TEXT CODE + 062D2H 067ABH 004DAH 16_HEAD_TEXT CODE + 067ACH 082EEH 01B43H 16_MM_TEXT CODE + 082EFH 08827H 00539H 16_TAIL_TEXT CODE + 08830H 08830H 00000H _FARDATA FAR_DATA + 08830H 08830H 00000H _FARBSS FAR_BSS + 08830H 08830H 00000H _OVERLAY_ OVRINFO + 08830H 08830H 00000H _1STUB_ STUBSEG + 08830H 0A1D1H 019A2H _DATA DATA + 0A1D2H 0A1D3H 00002H _CVTSEG DATA + 0A1D4H 0A1D9H 00006H _SCNSEG DATA + 0A1DAH 0A1DAH 00000H _CONST CONST + 0A1DAH 0A1F1H 00018H _INIT_ INITDATA + 0A1F2H 0A1F2H 00000H _INITEND_ INITDATA + 0A1F2H 0A1F2H 00000H _EXIT_ EXITDATA + 0A1F2H 0A1F2H 00000H _EXITEND_ EXITDATA + 0A1F2H 0F915H 05724H _BSS BSS + 0F916H 0F916H 00000H _BSSEND BSSEND + 0F920H 0F99FH 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 00AE C=CODE S=_TEXT G=(none) M=H_LDIV ACBP=28 + 0000:0440 0021 C=CODE S=_TEXT G=(none) M=H_LLSH ACBP=28 + 0000:0461 0021 C=CODE S=_TEXT G=(none) M=H_LURSH ACBP=28 + 0000:0482 0060 C=CODE S=_TEXT G=(none) M=H_PADD ACBP=28 + 0000:04E2 0028 C=CODE S=_TEXT G=(none) M=H_PSBP ACBP=28 + 0000:050A 004B C=CODE S=_TEXT G=(none) M=IOERROR ACBP=28 + 0000:0555 0011 C=CODE S=_TEXT G=(none) M=ISATTY ACBP=28 + 0000:0566 00A2 C=CODE S=_TEXT G=(none) M=LONGTOA ACBP=28 + 0000:0608 0029 C=CODE S=_TEXT G=(none) M=LSEEK ACBP=28 + 0000:0631 00B6 C=CODE S=_TEXT G=(none) M=MKNAME ACBP=28 + 0000:06E7 0021 C=CODE S=_TEXT G=(none) M=N_PCMP ACBP=28 + 0000:0708 002F C=CODE S=_TEXT G=(none) M=READA ACBP=28 + 0000:0737 00BA C=CODE S=_TEXT G=(none) M=SETUPIO ACBP=28 + 0000:07F1 0000 C=CODE S=_TEXT G=(none) M=STKLEN ACBP=28 + 0000:07F1 002C C=CODE S=_TEXT G=(none) M=TOLOWER ACBP=28 + 0000:081D 0018 C=CODE S=_TEXT G=(none) M=UNLINK ACBP=28 + 0000:0835 04DB C=CODE S=_TEXT G=(none) M=VPRINTER ACBP=28 + 0000:0D10 009F C=CODE S=_TEXT G=(none) M=VRAM ACBP=28 + 0000:0DAF 0000 C=CODE S=_TEXT G=(none) M=WSCROLL ACBP=28 + 0000:0DAF 0034 C=CODE S=_TEXT G=(none) M=_STPCPY ACBP=28 + 0000:0DE3 0029 C=CODE S=_TEXT G=(none) M=CLRSCR ACBP=28 + 0000:0E0C 0006 C=CODE S=_TEXT G=(none) M=CORELEFT ACBP=28 + 0000:0E12 014E C=CODE S=_TEXT G=(none) M=CPRINTF ACBP=28 + 0000:0F60 01A5 C=CODE S=_TEXT G=(none) M=CRTINIT ACBP=28 + 0000:1105 001F C=CODE S=_TEXT G=(none) M=CVTFAK ACBP=28 + 0000:1124 0432 C=CODE S=_TEXT G=(none) M=FARHEAP ACBP=28 + 0000:1556 0140 C=CODE S=_TEXT G=(none) M=FBRK ACBP=28 + 0000:1696 0050 C=CODE S=_TEXT G=(none) M=FCORELFT ACBP=28 + 0000:16E6 005E C=CODE S=_TEXT G=(none) M=GETCH ACBP=28 + 0000:1744 0049 C=CODE S=_TEXT G=(none) M=GOTOXY ACBP=28 + 0000:178D 00AC C=CODE S=_TEXT G=(none) M=GPTEXT ACBP=28 + 0000:1839 0029 C=CODE S=_TEXT G=(none) M=IOCTL ACBP=28 + 0000:1862 0012 C=CODE S=_TEXT G=(none) M=KBHIT ACBP=28 + 0000:1874 009D C=CODE S=_TEXT G=(none) M=MOVETEXT ACBP=28 + 0000:1911 0017 C=CODE S=_TEXT G=(none) M=PUTCH ACBP=28 + 0000:1928 0004 C=CODE S=_TEXT G=(none) M=REALCVT ACBP=28 + 0000:192C 01C7 C=CODE S=_TEXT G=(none) M=SCREEN ACBP=28 + 0000:1AF3 018E C=CODE S=_TEXT G=(none) M=SCROLL ACBP=28 + 0000:1C81 012B C=CODE S=_TEXT G=(none) M=SETARGV ACBP=28 + 0000:1DAC 001C C=CODE S=_TEXT G=(none) M=SETBLOCK ACBP=28 + 0000:1DC8 0058 C=CODE S=_TEXT G=(none) M=SETENVP ACBP=28 + 0000:1E20 002C C=CODE S=_TEXT G=(none) M=WHEREXY ACBP=28 + 0000:1E4C 001D C=CODE S=_TEXT G=(none) M=CHMODA ACBP=28 + 0000:1E69 0028 C=CODE S=_TEXT G=(none) M=CLOSE ACBP=28 + 0000:1E91 001E C=CODE S=_TEXT G=(none) M=CLOSEA ACBP=28 + 0000:1EAF 00B8 C=CODE S=_TEXT G=(none) M=FCLOSE ACBP=28 + 0000:1F67 00CD C=CODE S=_TEXT G=(none) M=FFLUSH ACBP=28 + 0000:2034 0041 C=CODE S=_TEXT G=(none) M=FLENGTH ACBP=28 + 0000:2075 0042 C=CODE S=_TEXT G=(none) M=FLUSHALL ACBP=28 + 0000:20B7 020C C=CODE S=_TEXT G=(none) M=FOPEN ACBP=28 + 0000:22C3 001C C=CODE S=_TEXT G=(none) M=FPRINTF ACBP=28 + 0000:22DF 01E2 C=CODE S=_TEXT G=(none) M=FSEEK ACBP=28 + 0000:24C1 0070 C=CODE S=_TEXT G=(none) M=GETENV ACBP=28 + 0000:2531 0070 C=CODE S=_TEXT G=(none) M=LTOA1 ACBP=28 + 0000:25A1 0024 C=CODE S=_TEXT G=(none) M=MEMCPY ACBP=28 + 0000:25C5 0022 C=CODE S=_TEXT G=(none) M=MOVEDATA ACBP=28 + 0000:25E7 019C C=CODE S=_TEXT G=(none) M=OPEN ACBP=28 + 0000:2783 004F C=CODE S=_TEXT G=(none) M=OPENA ACBP=28 + 0000:27D2 001B C=CODE S=_TEXT G=(none) M=PRINTF ACBP=28 + 0000:27ED 03C8 C=CODE S=_TEXT G=(none) M=PUTC ACBP=28 + 0000:2BB5 00D1 C=CODE S=_TEXT G=(none) M=READ ACBP=28 + 0000:2C86 0003 C=CODE S=_TEXT G=(none) M=READU ACBP=28 + 0000:2C89 011D C=CODE S=_TEXT G=(none) M=SETVBUF ACBP=28 + 0000:2DA6 0083 C=CODE S=_TEXT G=(none) M=SPRINTF ACBP=28 + 0000:2E29 003F C=CODE S=_TEXT G=(none) M=STRCAT ACBP=28 + 0000:2E68 0046 C=CODE S=_TEXT G=(none) M=STRDUP ACBP=28 + 0000:2EAE 001F C=CODE S=_TEXT G=(none) M=STRLEN ACBP=28 + 0000:2ECD 0151 C=CODE S=_TEXT G=(none) M=WRITE ACBP=28 + 0000:301E 003C C=CODE S=_TEXT G=(none) M=WRITEA ACBP=28 + 0000:305A 0003 C=CODE S=_TEXT G=(none) M=WRITEU ACBP=28 + 0000:305D 003D C=CODE S=_TEXT G=(none) M=XFCLOSE ACBP=28 + 0000:309A 0038 C=CODE S=_TEXT G=(none) M=XFFLUSH ACBP=28 + 0000:30D2 0043 C=CODE S=_TEXT G=(none) M=FMEMSET ACBP=28 + 0311:0005 1A92 C=CODE S=16_PM_TEXT G=(none) M=SRC\LIB\16_PM.C ACBP=28 + 04BA:0007 06B1 C=CODE S=KITTEN_TEXT G=(none) M=SRC\LIB\NYAN\KITTEN.C ACBP=28 + 0525:0008 0412 C=CODE S=16_HC_TEXT G=(none) M=SRC\LIB\16_HC.C ACBP=28 + 0566:000A 02FD C=CODE S=EXMMTEST_TEXT G=(none) M=SRC\EXMMTEST.C ACBP=28 + 0596:0007 096B C=CODE S=16_CA_TEXT G=(none) M=SRC\LIB\16_CA.C ACBP=28 + 062D:0002 04DA C=CODE S=16_HEAD_TEXT G=(none) M=SRC\LIB\16_HEAD.C ACBP=28 + 067A:000C 1B43 C=CODE S=16_MM_TEXT G=(none) M=SRC\LIB\16_MM.C ACBP=28 + 082E:000F 0539 C=CODE S=16_TAIL_TEXT G=(none) M=SRC\LIB\16_TAIL.C ACBP=28 + 0883:0000 0000 C=FAR_DATA S=_FARDATA G=(none) M=c0.ASM ACBP=68 + 0883:0000 0000 C=FAR_BSS S=_FARBSS G=(none) M=c0.ASM ACBP=68 + 0883:0000 0000 C=OVRINFO S=_OVERLAY_ G=(none) M=c0.ASM ACBP=68 + 0883:0000 0000 C=STUBSEG S=_1STUB_ G=(none) M=c0.ASM ACBP=68 + 0883:0000 0093 C=DATA S=_DATA G=DGROUP M=c0.ASM ACBP=68 + 0883:0094 054F C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_PM.C ACBP=48 + 0883:05E4 0045 C=DATA S=_DATA G=DGROUP M=SRC\LIB\NYAN\KITTEN.C ACBP=48 + 0883:062A 0016 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_HC.C ACBP=48 + 0883:0640 02A1 C=DATA S=_DATA G=DGROUP M=SRC\EXMMTEST.C ACBP=48 + 0883:08E2 0117 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_CA.C ACBP=48 + 0883:09FA 0011 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_HEAD.C ACBP=48 + 0883:0A0C 0A37 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_MM.C ACBP=48 + 0883:1444 0155 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_TAIL.C ACBP=48 + 0883:159A 0002 C=DATA S=_DATA G=DGROUP M=ATEXIT ACBP=48 + 0883:159C 0101 C=DATA S=_DATA G=DGROUP M=CTYPE ACBP=48 + 0883:169E 0000 C=DATA S=_DATA G=DGROUP M=DOSFATTR ACBP=48 + 0883:169E 000C C=DATA S=_DATA G=DGROUP M=EXIT ACBP=48 + 0883:16AA 0190 C=DATA S=_DATA G=DGROUP M=FILES ACBP=48 + 0883:183A 002A C=DATA S=_DATA G=DGROUP M=FILES2 ACBP=48 + 0883:1864 0004 C=DATA S=_DATA G=DGROUP M=FMODE ACBP=48 + 0883:1868 0000 C=DATA S=_DATA G=DGROUP M=H_LDIV ACBP=48 + 0883:1868 0000 C=DATA S=_DATA G=DGROUP M=H_LLSH ACBP=48 + 0883:1868 0000 C=DATA S=_DATA G=DGROUP M=H_LURSH ACBP=48 + 0883:1868 0000 C=DATA S=_DATA G=DGROUP M=H_PADD ACBP=48 + 0883:1868 0000 C=DATA S=_DATA G=DGROUP M=H_PSBP ACBP=48 + 0883:1868 005B C=DATA S=_DATA G=DGROUP M=IOERROR ACBP=48 + 0883:18C4 0000 C=DATA S=_DATA G=DGROUP M=ISATTY ACBP=48 + 0883:18C4 0000 C=DATA S=_DATA G=DGROUP M=LONGTOA ACBP=48 + 0883:18C4 0000 C=DATA S=_DATA G=DGROUP M=LSEEK ACBP=48 + 0883:18C4 0009 C=DATA S=_DATA G=DGROUP M=MKNAME ACBP=48 + 0883:18CE 0000 C=DATA S=_DATA G=DGROUP M=N_PCMP ACBP=48 + 0883:18CE 0000 C=DATA S=_DATA G=DGROUP M=READA ACBP=48 + 0883:18CE 0000 C=DATA S=_DATA G=DGROUP M=SETUPIO ACBP=48 + 0883:18CE 0002 C=DATA S=_DATA G=DGROUP M=STKLEN ACBP=48 + 0883:18D0 0000 C=DATA S=_DATA G=DGROUP M=TOLOWER ACBP=48 + 0883:18D0 0000 C=DATA S=_DATA G=DGROUP M=UNLINK ACBP=48 + 0883:18D0 0067 C=DATA S=_DATA G=DGROUP M=VPRINTER ACBP=48 + 0883:1938 0000 C=DATA S=_DATA G=DGROUP M=VRAM ACBP=48 + 0883:1938 0002 C=DATA S=_DATA G=DGROUP M=WSCROLL ACBP=48 + 0883:193A 0000 C=DATA S=_DATA G=DGROUP M=_STPCPY ACBP=48 + 0883:193A 0000 C=DATA S=_DATA G=DGROUP M=CLRSCR ACBP=48 + 0883:193A 0000 C=DATA S=_DATA G=DGROUP M=CORELEFT ACBP=48 + 0883:193A 0000 C=DATA S=_DATA G=DGROUP M=CPRINTF ACBP=48 + 0883:193A 0018 C=DATA S=_DATA G=DGROUP M=CRTINIT ACBP=48 + 0883:1952 0031 C=DATA S=_DATA G=DGROUP M=CVTFAK ACBP=48 + 0883:1984 0000 C=DATA S=_DATA G=DGROUP M=FARHEAP ACBP=48 + 0883:1984 0002 C=DATA S=_DATA G=DGROUP M=FBRK ACBP=48 + 0883:1986 0000 C=DATA S=_DATA G=DGROUP M=FCORELFT ACBP=48 + 0883:1986 0000 C=DATA S=_DATA G=DGROUP M=GETCH ACBP=48 + 0883:1986 0000 C=DATA S=_DATA G=DGROUP M=GOTOXY ACBP=48 + 0883:1986 0000 C=DATA S=_DATA G=DGROUP M=GPTEXT ACBP=48 + 0883:1986 0000 C=DATA S=_DATA G=DGROUP M=IOCTL ACBP=48 + 0883:1986 0002 C=DATA S=_DATA G=DGROUP M=KBHIT ACBP=48 + 0883:1988 0000 C=DATA S=_DATA G=DGROUP M=MOVETEXT ACBP=48 + 0883:1988 0000 C=DATA S=_DATA G=DGROUP M=PUTCH ACBP=48 + 0883:1988 0000 C=DATA S=_DATA G=DGROUP M=REALCVT ACBP=48 + 0883:1988 0000 C=DATA S=_DATA G=DGROUP M=SCREEN ACBP=48 + 0883:1988 0000 C=DATA S=_DATA G=DGROUP M=SCROLL ACBP=48 + 0883:1988 0010 C=DATA S=_DATA G=DGROUP M=SETARGV ACBP=48 + 0883:1998 0000 C=DATA S=_DATA G=DGROUP M=SETBLOCK ACBP=48 + 0883:1998 0004 C=DATA S=_DATA G=DGROUP M=SETENVP ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=WHEREXY ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=CHMODA ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=CLOSE ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=CLOSEA ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=FCLOSE ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=FFLUSH ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=FLENGTH ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=FLUSHALL ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=FOPEN ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=FPRINTF ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=FSEEK ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=GETENV ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=LTOA1 ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=MEMCPY ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=MOVEDATA ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=OPEN ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=OPENA ACBP=48 + 0883:199C 0000 C=DATA S=_DATA G=DGROUP M=PRINTF ACBP=48 + 0883:199C 0001 C=DATA S=_DATA G=DGROUP M=PUTC ACBP=48 + 0883:199E 0000 C=DATA S=_DATA G=DGROUP M=READ ACBP=48 + 0883:199E 0000 C=DATA S=_DATA G=DGROUP M=READU ACBP=48 + 0883:199E 0004 C=DATA S=_DATA G=DGROUP M=SETVBUF ACBP=48 + 0883:19A2 0000 C=DATA S=_DATA G=DGROUP M=SPRINTF ACBP=48 + 0883:19A2 0000 C=DATA S=_DATA G=DGROUP M=STRCAT ACBP=48 + 0883:19A2 0000 C=DATA S=_DATA G=DGROUP M=STRDUP ACBP=48 + 0883:19A2 0000 C=DATA S=_DATA G=DGROUP M=STRLEN ACBP=48 + 0883:19A2 0000 C=DATA S=_DATA G=DGROUP M=WRITE ACBP=48 + 0883:19A2 0000 C=DATA S=_DATA G=DGROUP M=WRITEA ACBP=48 + 0883:19A2 0000 C=DATA S=_DATA G=DGROUP M=WRITEU ACBP=48 + 0883:19A2 0000 C=DATA S=_DATA G=DGROUP M=XFCLOSE ACBP=48 + 0883:19A2 0000 C=DATA S=_DATA G=DGROUP M=XFFLUSH ACBP=48 + 0883:19A2 0000 C=DATA S=_DATA G=DGROUP M=FMEMSET ACBP=48 + 0883:19A2 0000 C=DATA S=_CVTSEG G=DGROUP M=c0.ASM ACBP=48 + 0883:19A2 0002 C=DATA S=_CVTSEG G=DGROUP M=CVTFAK ACBP=48 + 0883:19A4 0000 C=DATA S=_CVTSEG G=DGROUP M=REALCVT ACBP=48 + 0883:19A4 0000 C=DATA S=_SCNSEG G=DGROUP M=c0.ASM ACBP=48 + 0883:19A4 0006 C=DATA S=_SCNSEG G=DGROUP M=CVTFAK ACBP=48 + 0883:19AA 0000 C=CONST S=_CONST G=DGROUP M=c0.ASM ACBP=48 + 0883:19AA 0000 C=INITDATA S=_INIT_ G=DGROUP M=c0.ASM ACBP=48 + 0883:19AA 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETUPIO ACBP=48 + 0883:19B0 0006 C=INITDATA S=_INIT_ G=DGROUP M=CRTINIT ACBP=48 + 0883:19B6 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETARGV ACBP=48 + 0883:19BC 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETENVP ACBP=48 + 0883:19C2 0000 C=INITDATA S=_INITEND_ G=DGROUP M=c0.ASM ACBP=28 + 0883:19C2 0000 C=EXITDATA S=_EXIT_ G=DGROUP M=c0.ASM ACBP=48 + 0883:19C2 0000 C=EXITDATA S=_EXITEND_ G=DGROUP M=c0.ASM ACBP=28 + 0883:19C2 0000 C=BSS S=_BSS G=DGROUP M=c0.ASM ACBP=48 + 0883:19C2 0016 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_PM.C ACBP=48 + 0883:19D8 0004 C=BSS S=_BSS G=DGROUP M=SRC\LIB\NYAN\KITTEN.C ACBP=48 + 0883:19DC 0000 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_HC.C ACBP=48 + 0883:19DC 523D C=BSS S=_BSS G=DGROUP M=SRC\EXMMTEST.C ACBP=48 + 0883:6C1A 000C C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_CA.C ACBP=48 + 0883:6C26 0000 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_HEAD.C ACBP=48 + 0883:6C26 000C C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_MM.C ACBP=48 + 0883:6C32 0423 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_TAIL.C ACBP=48 + 0883:7056 0080 C=BSS S=_BSS G=DGROUP M=ATEXIT ACBP=48 + 0883:70D6 0000 C=BSS S=_BSS G=DGROUP M=DOSFATTR ACBP=48 + 0883:70D6 0000 C=BSS S=_BSS G=DGROUP M=IOERROR ACBP=48 + 0883:70D6 0000 C=BSS S=_BSS G=DGROUP M=ISATTY ACBP=48 + 0883:70D6 0000 C=BSS S=_BSS G=DGROUP M=LONGTOA ACBP=48 + 0883:70D6 0000 C=BSS S=_BSS G=DGROUP M=LSEEK ACBP=48 + 0883:70D6 000D C=BSS S=_BSS G=DGROUP M=MKNAME ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=READA ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=SETUPIO ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=UNLINK ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=VPRINTER ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=VRAM ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=CORELEFT ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=CRTINIT ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=GETCH ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=IOCTL ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=KBHIT ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=SETBLOCK ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=CHMODA ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=CLOSEA ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=FLENGTH ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=GETENV ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=MEMCPY ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=MOVEDATA ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=OPEN ACBP=48 + 0883:70E4 0000 C=BSS S=_BSS G=DGROUP M=OPENA ACBP=48 + 0883:70E4 0001 C=BSS S=_BSS G=DGROUP M=PUTC ACBP=48 + 0883:70E6 0000 C=BSS S=_BSS G=DGROUP M=READ ACBP=48 + 0883:70E6 0000 C=BSS S=_BSS G=DGROUP M=STRCAT ACBP=48 + 0883:70E6 0000 C=BSS S=_BSS G=DGROUP M=STRLEN ACBP=48 + 0883:70E6 0000 C=BSS S=_BSS G=DGROUP M=WRITEA ACBP=48 + 0883:70E6 0000 C=BSS S=_BSS G=DGROUP M=FMEMSET ACBP=48 + 0883:70E6 0000 C=BSSEND S=_BSSEND G=DGROUP M=c0.ASM ACBP=28 + 0F92:0000 0080 C=STACK S=_STACK G=(none) M=c0.ASM ACBP=74 + + Address Publics by Name + + 0883:0000 idle DATASEG@ + 0000:0291 idle DGROUP@ + 0000:0395 F_LDIV@ + 0000:03A4 idle F_LMOD@ + 0000:039C idle F_LUDIV@ + 0000:03AC idle F_LUMOD@ + 0000:0443 F_LXLSH@ + 0000:0464 F_LXURSH@ + 0000:0485 idle F_PADD@ + 0000:04E5 idle F_PSBP@ + 0000:04B4 idle F_PSUB@ + 04BA:0007 idle KITTENGETS + 0000:0395 idle LDIV@ + 0000:03A4 idle LMOD@ + 0000:039C idle LUDIV@ + 0000:03AC idle LUMOD@ + 0000:0443 idle LXLSH@ + 0000:0464 idle LXURSH@ + 0000:0392 idle N_LDIV@ + 0000:03A1 idle N_LMOD@ + 0000:0399 idle N_LUDIV@ + 0000:03A9 idle N_LUMOD@ + 0000:0440 N_LXLSH@ + 0000:0461 idle N_LXURSH@ + 0000:0482 N_PADD@ + 0000:06E7 N_PCMP@ + 0000:04E2 N_PSBP@ + 0000:04B1 idle N_PSUB@ + 0000:0485 idle PADD@ + 0000:04E5 idle PSBP@ + 0000:04B4 idle PSUB@ + 0000:027A _abort + 0883:6C2A idle _aftersort + 0000:0295 idle _atexit + 0883:6C2E idle _beforesort + 082E:04E0 idle _booleantest + 082E:040D idle _boolean_to_binary + 0596:042E idle _CAL_CarmackExpand + 0596:032E idle _CAL_HuffExpand + 0596:02BD idle _CAL_OptimizeNodes + 0596:0723 idle _CAL_SetupMapFile + 04BA:0284 idle _catread + 0596:0854 idle _CA_ClearAllMarks + 0596:081F idle _CA_ClearMarks + 0596:0032 _CA_CloseDebug + 0596:07F2 idle _CA_DownLevel + 0596:0047 _CA_FarRead + 0596:00C1 idle _CA_FarWrite + 0596:0226 _CA_LoadFile + 0596:0007 _CA_OpenDebug + 0596:013B _CA_ReadFile + 0596:057E idle _CA_RLEWCompress + 0596:0670 idle _CA_RLEWexpand + 0596:08D8 idle _CA_SetAllPurge + 0596:0881 idle _CA_SetGrPurge + 0596:07A3 _CA_Shutdown + 0596:0757 _CA_Startup + 0596:07C8 idle _CA_UpLevel + 0596:01B8 idle _CA_WriteFile + 082E:023B idle _ClearMemory + 0000:1E69 _close + 0000:0DE3 _clrscr + 0000:0E0C _coreleft + 0000:0F44 idle _cprintf + 04BA:0595 idle _db_fetch + 04BA:05FD idle _db_insert + 082E:009C _DebugMemory_ + 062D:0496 idle _dirchar + 0883:1949 _directvideo + 0883:6C22 idle _drawcachebox + 0883:1998 _environ + 0883:007F _errno + 0000:0357 _exit + 0000:1696 _farcoreleft + 0000:1264 _farfree + 0000:1378 _farmalloc + 0000:14DC idle _farrealloc + 0000:1EAF _fclose + 0000:1F67 _fflush + 0000:2034 _filelength + 062D:0002 idle _filesize + 0883:6C1A idle _finishcachebox + 0000:2075 _flushall + 0000:228E _fopen + 0000:22C3 _fprintf + 0000:2809 idle _fputc + 0000:299E idle _fputchar + 0000:1264 _free + 0000:2361 _fseek + 0000:23E1 _ftell + 0000:16E6 _getch + 0000:1702 idle _getche + 0000:24C1 _getenv + 0000:178D _gettext + 04BA:053E idle _get_line + 0883:6E55 idle _global_temp_status_text + 0883:6C55 idle _global_temp_status_text2 + 0000:1744 _gotoxy + 0525:0405 idle _HC_CloseDebug + 0525:01B3 idle _HC_coreleft + 0525:0008 _HC_farcoreleft + 0525:0308 idle _HC_farcoreleft_ + 0525:0243 idle _HC_LargestFarFreeBlock + 0525:00F7 idle _HC_LargestFreeBlock + 0525:03DA idle _HC_OpenDebug + 0000:1839 _ioctl + 0000:0555 _isatty + 0000:2531 idle _itoa + 0000:1862 idle _kbhit + 04BA:033C idle _kittenclose + 04BA:005A idle _kittenopen + 0000:0608 _lseek + 0000:2579 idle _ltoa + 0566:002C _main + 0000:136E _malloc + 0000:25A1 _memcpy + 067A:000C _MML_CheckForEMS + 067A:00B2 _MML_CheckForXMS + 067A:035C idle _MML_ClearBlock + 067A:00DE idle _MML_UseSpace + 067A:1B1C _MM_BombOnError + 067A:127C _MM_DumpData + 067A:16EF _MM_EMSerr + 067A:09C5 _MM_FreePtr + 067A:06A6 _MM_GetPtr + 067A:14FB _MM_Report_ + 067A:0B7D _MM_SetLock + 067A:0AC8 _MM_SetPurge + 067A:0DCB _MM_ShowMemory + 067A:066C _MM_Shutdown + 067A:0C37 _MM_SortMem + 067A:03D1 _MM_Startup + 067A:1463 _MM_TotalFree + 067A:13E9 _MM_UnusedMemory + 0000:25C5 _movedata + 0000:1874 _movetext + 04BA:0343 idle _mystrtoul + 082E:0478 idle _nibbletest + 082E:03A2 idle _nibble_to_binary + 0000:2614 _open + 0311:0AFF idle _PML_ClosePageFile + 0311:105F idle _PML_GetAPageBuffer + 0311:0B5E idle _PML_GetEMSAddress + 0311:11DB idle _PML_GetPageFromXMS + 0311:0D0E idle _PML_GiveLRUPage + 0311:0DCA idle _PML_GiveLRUXMSPage + 0311:1289 idle _PML_LoadPage + 0311:0005 idle _PML_MapEMS + 0311:085F idle _PML_OpenPageFile + 0311:0E5C idle _PML_PutPageInXMS + 0311:07B5 idle _PML_ReadFromFile + 0311:0205 idle _PML_ShutdownEMS + 0311:076C idle _PML_ShutdownMainMem + 0311:0469 idle _PML_ShutdownXMS + 0311:009A idle _PML_StartupEMS + 0311:0691 idle _PML_StartupMainMem + 0311:028D idle _PML_StartupXMS + 0311:0F4E idle _PML_TransferPageSpace + 0311:0398 idle _PML_XMSCopy + 0311:0522 _PM_CheckMainMem + 0311:12EE idle _PM_GetPage + 0311:0CA0 idle _PM_GetPageAddress + 0311:17A2 idle _PM_NextFrame + 0311:144F idle _PM_Preload + 0311:18A2 idle _PM_Reset + 0311:04BA _PM_SetMainMemPurge + 0311:1413 idle _PM_SetPageLock + 0311:1A4E _PM_Shutdown + 0311:193C _PM_Startup + 0000:27D2 _printf + 062D:0228 idle _printmeminfoline + 04BA:03DF idle _processEscChars + 0000:1911 _putch + 0000:17E3 _puttext + 082E:0260 _Quit + 0000:2C86 _read + 0000:14D5 idle _realloc + 062D:0069 idle _remove_ext + 062D:01D1 idle _rotateL + 062D:017A idle _rotateR + 0000:1DAC _setblock + 0000:2C89 _setvbuf + 082E:006D idle _Shutdown16 + 0000:2DE6 _sprintf + 082E:000F idle _Startup16 + 0000:2E29 _strcat + 0000:2E68 _strdup + 0000:2EAE _strlen + 0000:07F1 _tolower + 0000:255C _ultoa + 0000:1726 idle _ungetch + 0000:081D _unlink + 0883:6C1E idle _updatecachebox + 062D:03C3 _US_CheckParm + 0566:000A idle _VGAmodeX + 0000:2E08 idle _vsprintf + 0000:1E2A idle _wherex + 0000:1E39 idle _wherey + 082E:0337 idle _word_to_binary + 0000:305A _write + 0883:6C26 idle _XMSaddr + 0883:19D4 _XMSDriver + 0883:19D2 _XMSVer + 067A:1B2C idle _xms_call + 0000:1000 idle __AHINCR + 0000:000C idle __AHSHIFT + 0883:1988 __argc + 0883:198A __argv + 0883:159A __atexitcnt + 0883:7056 __atexittbl + 0000:15CC __brk + 0883:008B __brklvl + 0883:006B __C0argc + 0883:006D __C0argv + 0000:1026 idle __c0crtinit + 0883:0071 __C0environ + 0883:1987 __cChar + 0000:0378 idle __cexit + 0883:1986 __cFlag + 0000:016A __checknull + 0000:1E4C __chmod + 0000:0157 __cleanup + 0000:1E91 __close + 0000:0E12 __CPUTN + 0000:1043 idle __crtinit + 0883:159C __ctype + 0000:0000 Abs __cvtfak + 0000:0386 idle __c_exit + 0883:1868 __doserrno + 0000:0543 __DOSERROR + 0883:186A idle __dosErrorToSV + 0000:02C2 __dos_getfileattr + 0000:02E2 idle __dos_setfileattr + 0883:0075 __envLng + 0883:0077 __envseg + 0883:0079 __envSize + 0000:0366 __exit + 0883:169E __exitbuf + 0883:16A2 __exitfopen + 0883:16A6 idle __exitopen + 0000:30F6 __fmemset + 0883:1864 __fmode + 0000:27ED idle __fputc + 0000:29B2 __FPUTN + 0000:30D2 idle __fsetmem + 0000:2244 idle __GETFP + 0883:0087 __heapbase + 0883:008F __heaptop + 0883:005B idle __Int0Vector + 0883:005F idle __Int4Vector + 0883:0063 idle __Int5Vector + 0883:0067 idle __Int6Vector + 0000:050A __IOERROR + 0883:05E4 idle __kitten_catalog + 0000:0566 __LONGTOA + 0000:0631 __MKNAME + 0000:0293 idle __MMODEL + 0883:183A __nfile + 0000:16FF idle __Ngetche + 0883:1866 __notUmask + 0000:1723 idle __Nungetch + 0000:2783 __open + 0883:183C __openfd + 0000:2173 idle __OPENFP + 0883:007D __osmajor + 0883:007E idle __osminor + 0883:007D idle __osversion + 0883:007B __psp + 0000:0708 __read + 0000:1928 __REALCVT + 0883:19A2 __RealCvtVector + 0000:01C0 __restorezero + 0000:160B __sbrk + 0883:19A4 idle __ScanTodVector + 0000:1A62 __SCREENIO + 0000:1B15 __SCROLL + 0000:0000 Abs __setargv__ + 0000:0000 idle __setenvp__ + 0000:0737 __setupio + 0883:0081 idle __StartTime + 0883:18CE __stklen + 0000:0DAF __stpcpy + 0883:16AA __streams + 0000:016B __terminate + 0000:068E idle __TMPNAM + 0000:0000 idle __turboCrt + 0000:05E8 __UTOA + 0000:1A9E __VALIDATEXY + 0883:007D idle __version + 0883:193A __video + 0000:0F9B __VideoInt + 0000:084D __VPRINTER + 0000:0D10 __VPTR + 0000:0D35 __VRAM + 0000:1E20 __wherexy + 0000:301E __write + 0883:1938 __wscroll + 0000:305D __xfclose + 0000:309A __xfflush + 0883:0085 idle ___brklvl + 0000:1124 idle ___first + 0000:1126 idle ___last + 0000:2BB5 ___read + 0000:1128 idle ___rover + 0000:2ECD ___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 idle N_LDIV@ + 0000:0395 F_LDIV@ + 0000:0395 idle LDIV@ + 0000:0399 idle N_LUDIV@ + 0000:039C idle F_LUDIV@ + 0000:039C idle LUDIV@ + 0000:03A1 idle N_LMOD@ + 0000:03A4 idle F_LMOD@ + 0000:03A4 idle LMOD@ + 0000:03A9 idle N_LUMOD@ + 0000:03AC idle LUMOD@ + 0000:03AC idle F_LUMOD@ + 0000:0440 N_LXLSH@ + 0000:0443 F_LXLSH@ + 0000:0443 idle LXLSH@ + 0000:0461 idle N_LXURSH@ + 0000:0464 F_LXURSH@ + 0000:0464 idle LXURSH@ + 0000:0482 N_PADD@ + 0000:0485 idle F_PADD@ + 0000:0485 idle PADD@ + 0000:04B1 idle N_PSUB@ + 0000:04B4 idle F_PSUB@ + 0000:04B4 idle PSUB@ + 0000:04E2 N_PSBP@ + 0000:04E5 idle PSBP@ + 0000:04E5 idle F_PSBP@ + 0000:050A __IOERROR + 0000:0543 __DOSERROR + 0000:0555 _isatty + 0000:0566 __LONGTOA + 0000:05E8 __UTOA + 0000:0608 _lseek + 0000:0631 __MKNAME + 0000:068E idle __TMPNAM + 0000:06E7 N_PCMP@ + 0000:0708 __read + 0000:0737 __setupio + 0000:07F1 _tolower + 0000:081D _unlink + 0000:084D __VPRINTER + 0000:0D10 __VPTR + 0000:0D35 __VRAM + 0000:0DAF __stpcpy + 0000:0DE3 _clrscr + 0000:0E0C _coreleft + 0000:0E12 __CPUTN + 0000:0F44 idle _cprintf + 0000:0F9B __VideoInt + 0000:1000 idle __AHINCR + 0000:1026 idle __c0crtinit + 0000:1043 idle __crtinit + 0000:1124 idle ___first + 0000:1126 idle ___last + 0000:1128 idle ___rover + 0000:1264 _free + 0000:1264 _farfree + 0000:136E _malloc + 0000:1378 _farmalloc + 0000:14D5 idle _realloc + 0000:14DC idle _farrealloc + 0000:15CC __brk + 0000:160B __sbrk + 0000:1696 _farcoreleft + 0000:16E6 _getch + 0000:16FF idle __Ngetche + 0000:1702 idle _getche + 0000:1723 idle __Nungetch + 0000:1726 idle _ungetch + 0000:1744 _gotoxy + 0000:178D _gettext + 0000:17E3 _puttext + 0000:1839 _ioctl + 0000:1862 idle _kbhit + 0000:1874 _movetext + 0000:1911 _putch + 0000:1928 __REALCVT + 0000:1A62 __SCREENIO + 0000:1A9E __VALIDATEXY + 0000:1B15 __SCROLL + 0000:1DAC _setblock + 0000:1E20 __wherexy + 0000:1E2A idle _wherex + 0000:1E39 idle _wherey + 0000:1E4C __chmod + 0000:1E69 _close + 0000:1E91 __close + 0000:1EAF _fclose + 0000:1F67 _fflush + 0000:2034 _filelength + 0000:2075 _flushall + 0000:2173 idle __OPENFP + 0000:2244 idle __GETFP + 0000:228E _fopen + 0000:22C3 _fprintf + 0000:2361 _fseek + 0000:23E1 _ftell + 0000:24C1 _getenv + 0000:2531 idle _itoa + 0000:255C _ultoa + 0000:2579 idle _ltoa + 0000:25A1 _memcpy + 0000:25C5 _movedata + 0000:2614 _open + 0000:2783 __open + 0000:27D2 _printf + 0000:27ED idle __fputc + 0000:2809 idle _fputc + 0000:299E idle _fputchar + 0000:29B2 __FPUTN + 0000:2BB5 ___read + 0000:2C86 _read + 0000:2C89 _setvbuf + 0000:2DE6 _sprintf + 0000:2E08 idle _vsprintf + 0000:2E29 _strcat + 0000:2E68 _strdup + 0000:2EAE _strlen + 0000:2ECD ___write + 0000:301E __write + 0000:305A _write + 0000:305D __xfclose + 0000:309A __xfflush + 0000:30D2 idle __fsetmem + 0000:30F6 __fmemset + 0311:0005 idle _PML_MapEMS + 0311:009A idle _PML_StartupEMS + 0311:0205 idle _PML_ShutdownEMS + 0311:028D idle _PML_StartupXMS + 0311:0398 idle _PML_XMSCopy + 0311:0469 idle _PML_ShutdownXMS + 0311:04BA _PM_SetMainMemPurge + 0311:0522 _PM_CheckMainMem + 0311:0691 idle _PML_StartupMainMem + 0311:076C idle _PML_ShutdownMainMem + 0311:07B5 idle _PML_ReadFromFile + 0311:085F idle _PML_OpenPageFile + 0311:0AFF idle _PML_ClosePageFile + 0311:0B5E idle _PML_GetEMSAddress + 0311:0CA0 idle _PM_GetPageAddress + 0311:0D0E idle _PML_GiveLRUPage + 0311:0DCA idle _PML_GiveLRUXMSPage + 0311:0E5C idle _PML_PutPageInXMS + 0311:0F4E idle _PML_TransferPageSpace + 0311:105F idle _PML_GetAPageBuffer + 0311:11DB idle _PML_GetPageFromXMS + 0311:1289 idle _PML_LoadPage + 0311:12EE idle _PM_GetPage + 0311:1413 idle _PM_SetPageLock + 0311:144F idle _PM_Preload + 0311:17A2 idle _PM_NextFrame + 0311:18A2 idle _PM_Reset + 0311:193C _PM_Startup + 0311:1A4E _PM_Shutdown + 04BA:0007 idle KITTENGETS + 04BA:005A idle _kittenopen + 04BA:0284 idle _catread + 04BA:033C idle _kittenclose + 04BA:0343 idle _mystrtoul + 04BA:03DF idle _processEscChars + 04BA:053E idle _get_line + 04BA:0595 idle _db_fetch + 04BA:05FD idle _db_insert + 0525:0008 _HC_farcoreleft + 0525:00F7 idle _HC_LargestFreeBlock + 0525:01B3 idle _HC_coreleft + 0525:0243 idle _HC_LargestFarFreeBlock + 0525:0308 idle _HC_farcoreleft_ + 0525:03DA idle _HC_OpenDebug + 0525:0405 idle _HC_CloseDebug + 0566:000A idle _VGAmodeX + 0566:002C _main + 0596:0007 _CA_OpenDebug + 0596:0032 _CA_CloseDebug + 0596:0047 _CA_FarRead + 0596:00C1 idle _CA_FarWrite + 0596:013B _CA_ReadFile + 0596:01B8 idle _CA_WriteFile + 0596:0226 _CA_LoadFile + 0596:02BD idle _CAL_OptimizeNodes + 0596:032E idle _CAL_HuffExpand + 0596:042E idle _CAL_CarmackExpand + 0596:057E idle _CA_RLEWCompress + 0596:0670 idle _CA_RLEWexpand + 0596:0723 idle _CAL_SetupMapFile + 0596:0757 _CA_Startup + 0596:07A3 _CA_Shutdown + 0596:07C8 idle _CA_UpLevel + 0596:07F2 idle _CA_DownLevel + 0596:081F idle _CA_ClearMarks + 0596:0854 idle _CA_ClearAllMarks + 0596:0881 idle _CA_SetGrPurge + 0596:08D8 idle _CA_SetAllPurge + 062D:0002 idle _filesize + 062D:0069 idle _remove_ext + 062D:017A idle _rotateR + 062D:01D1 idle _rotateL + 062D:0228 idle _printmeminfoline + 062D:03C3 _US_CheckParm + 062D:0496 idle _dirchar + 067A:000C _MML_CheckForEMS + 067A:00B2 _MML_CheckForXMS + 067A:00DE idle _MML_UseSpace + 067A:035C idle _MML_ClearBlock + 067A:03D1 _MM_Startup + 067A:066C _MM_Shutdown + 067A:06A6 _MM_GetPtr + 067A:09C5 _MM_FreePtr + 067A:0AC8 _MM_SetPurge + 067A:0B7D _MM_SetLock + 067A:0C37 _MM_SortMem + 067A:0DCB _MM_ShowMemory + 067A:127C _MM_DumpData + 067A:13E9 _MM_UnusedMemory + 067A:1463 _MM_TotalFree + 067A:14FB _MM_Report_ + 067A:16EF _MM_EMSerr + 067A:1B1C _MM_BombOnError + 067A:1B2C idle _xms_call + 082E:000F idle _Startup16 + 082E:006D idle _Shutdown16 + 082E:009C _DebugMemory_ + 082E:023B idle _ClearMemory + 082E:0260 _Quit + 082E:0337 idle _word_to_binary + 082E:03A2 idle _nibble_to_binary + 082E:040D idle _boolean_to_binary + 082E:0478 idle _nibbletest + 082E:04E0 idle _booleantest + 0883:0000 idle DATASEG@ + 0883:005B idle __Int0Vector + 0883:005F idle __Int4Vector + 0883:0063 idle __Int5Vector + 0883:0067 idle __Int6Vector + 0883:006B __C0argc + 0883:006D __C0argv + 0883:0071 __C0environ + 0883:0075 __envLng + 0883:0077 __envseg + 0883:0079 __envSize + 0883:007B __psp + 0883:007D idle __osversion + 0883:007D __osmajor + 0883:007D idle __version + 0883:007E idle __osminor + 0883:007F _errno + 0883:0081 idle __StartTime + 0883:0085 idle ___brklvl + 0883:0087 __heapbase + 0883:008B __brklvl + 0883:008F __heaptop + 0883:05E4 idle __kitten_catalog + 0883:159A __atexitcnt + 0883:159C __ctype + 0883:169E __exitbuf + 0883:16A2 __exitfopen + 0883:16A6 idle __exitopen + 0883:16AA __streams + 0883:183A __nfile + 0883:183C __openfd + 0883:1864 __fmode + 0883:1866 __notUmask + 0883:1868 __doserrno + 0883:186A idle __dosErrorToSV + 0883:18CE __stklen + 0883:1938 __wscroll + 0883:193A __video + 0883:1949 _directvideo + 0883:1986 __cFlag + 0883:1987 __cChar + 0883:1988 __argc + 0883:198A __argv + 0883:1998 _environ + 0883:19A2 __RealCvtVector + 0883:19A4 idle __ScanTodVector + 0883:19D2 _XMSVer + 0883:19D4 _XMSDriver + 0883:6C1A idle _finishcachebox + 0883:6C1E idle _updatecachebox + 0883:6C22 idle _drawcachebox + 0883:6C26 idle _XMSaddr + 0883:6C2A idle _aftersort + 0883:6C2E idle _beforesort + 0883:6C55 idle _global_temp_status_text2 + 0883:6E55 idle _global_temp_status_text + 0883:7056 __atexittbl + +Program entry point at 0000:0000 + diff --git a/bcexmm.prj b/bcexmm.prj index 30807dcceb706d4152296dd3a965016b81a587b7..6150f3a878389f2e16cea0cde10c424815dc865b 100755 GIT binary patch delta 1521 zcmbtUPiqrV5TABwiDDa?v=x(0u?K6Uu%%QAV*Rt(-6mPGTAQT=Ti8Mo8wzDFy$KQV z3+Oxg4HQ(&%}=10qF=y+C&7LNdCtts;WfMHRxiKVot=I2o8Qd5WB1s7|0HKz-j4gd z-1po>c{}!BmH-}&0gQ;lsmMT&_%hWsOtfo-?gU!@*C@cZ5MWt+C`4lw^c;xU;$s7! z#M5Gz?Fm{swln==B)|9U(7y|W3xwjJeAJ`2oACN!?62{cTZ~s2Z!_LutTEb*4x`KH zF|IS#8KtB%lkx0sZ#p}zW^HGAH45!!%MvHEx%qQjv9GdRhtG=_>Q%-?M#XgI;$8-( zDyOP23)2>72;dXuRIF8Hk_c%`gTQhi4^V|RS9o^ybWVz877bMmdi;=v;!W{a<Lg*fZl8fLEpXIyX%% b>HnB}KDsniOT)9>l!G=nB{oaEn(zMxMK$i1 delta 1521 zcmbu9&ubG=5XZ-?EkUfIO7 zSKdvpUP?j5-24ml66(L;NwEKdJZIhuZZmp{xuZsEzUKx3oHmdMAh!tVQsoq+|k*Q94z zT3cF6S_f>*xk((A2wTu zf631cFkiJJdVO7+zwcvDOF=k9>eYfE^r|6(3L3v@@?74|P=9Lc2h;K2h;%)KkSleL zR`I}eW8XnM9v6lUBGJk__yD#be;Uy^i+%b&=w{v2i_XJr+Y>7mv0=B3AZbeKJ;oKd1=zx_wtHK z1joUJAen;H#!$Nbv<$9Y>V~4&6T=vQS0(>GGfpFE|D1W1S~$>)?^!N=LKmo(XjPWP JVexmf?LR67_X_|3 diff --git a/data/G.PAL b/data/G.PAL index 0ecbac33f44529d9701eae8c9b262c7da0f50416..8092380af954e11b165eae773d83f03429619756 100755 GIT binary patch literal 768 zcmZQz00UMTMh;abZao=UHCcIkH8p*6HCZ5GuP>`_Zfca.mapsegs[i]) - MM_FreePtr (gvar->ca.mapsegs[i], gvar); + MM_FreePtr ((memptr *)&gvar->ca.mapsegs[i], gvar); // // free sounds // for (i=0;ica.audiosegs[i]) - MM_SetPurge (gvar->ca.audiosegs[i],3, gvar); + MM_SetPurge ((memptr *)&gvar->ca.audiosegs[i],3, gvar); // // free graphics diff --git a/src/lib/16_map.c b/src/lib/16_map.c index c20ab03b..bcda288f 100755 --- a/src/lib/16_map.c +++ b/src/lib/16_map.c @@ -228,18 +228,18 @@ int CA_loadmap(char *mn, map_t *map, global_game_variables_t *gvar) jsmn_init(&p); file_s = filesize(fh); - CA_LoadFile(mn, &MAPBUFINLM, gvar); - tokcount = jsmn_parse(&p, MAPBUFINLM, file_s, NULL, 0); + CA_LoadFile(mn, (memptr *)&MAPBUFINLM, gvar); + tokcount = jsmn_parse(&p, (char const *)MAPBUFINLM, file_s, NULL, 0); tok = malloc(tokcount*sizeof(jsmntok_t));//TODO: USE MM_ CA_ AND PM_ // printf("Allocated %d tokens", tokcount); jsmn_init(&p); - if((status = jsmn_parse(&p, MAPBUFINLM, file_s, tok, tokcount)) < 0) + if((status = jsmn_parse(&p, (char const *)MAPBUFINLM, file_s, tok, tokcount)) < 0) { printf("Error: %d\n", status); return status; } else if(status != tokcount) { printf("Warning: used %d tok\n", status);} - extract_map(MAPBUFINLM, tok, tokcount, map); + extract_map((char const *)MAPBUFINLM, tok, tokcount, map); free(tok); //TODO: USE MM_ CA_ AND PM_ fclose(fh); //TODO: USE MM_ CA_ AND PM_ diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index 64533549..fb308db6 100755 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -1168,7 +1168,7 @@ void MM_SortMem(global_game_variables_t *gvar) playing += STARTADLIBSOUNDS; break; } - MM_SetLock(&(memptr)audiosegs[playing],true); + MM_SetLock((memptr *)&audiosegs[playing],true); } @@ -1244,7 +1244,7 @@ void MM_SortMem(global_game_variables_t *gvar) // VW_ColorBorder (oldborder); /*++++ if(playing) - MM_SetLock(&(memptr)audiosegs[playing],false);*/ + MM_SetLock((memptr *)&audiosegs[playing],false);*/ } //========================================================================== diff --git a/src/lib/16_pm.c b/src/lib/16_pm.c index 2983499b..4d9ac9d8 100755 --- a/src/lib/16_pm.c +++ b/src/lib/16_pm.c @@ -803,8 +803,7 @@ PML_OpenPageFile(global_game_variables_t *gvar) { int i; long size; - //__SEGA buf; - memptr buf; + void _seg *buf; dword far *offsetptr; word far *lengthptr; PageListStruct far *page; @@ -823,14 +822,14 @@ PML_OpenPageFile(global_game_variables_t *gvar) // Allocate and clear the page list gvar->pm.PMNumBlocks = gvar->pm.fi.ChunksInFile; - MM_GetPtr((memptr *)gvar->pm.PMSegPages, sizeof(PageListStruct) * (gvar->pm.PMNumBlocks), gvar); - MM_SetLock((memptr *)gvar->pm.PMSegPages,true, gvar); + MM_GetPtr((memptr *)&gvar->pm.PMSegPages, sizeof(PageListStruct) * (gvar->pm.PMNumBlocks), gvar); + MM_SetLock((memptr *)&gvar->pm.PMSegPages,true, gvar); gvar->pm.PMPages = (PageListStruct far *)gvar->pm.PMSegPages; _fmemset(gvar->pm.PMPages,0,sizeof(PageListStruct) * gvar->pm.PMNumBlocks); // Read in the chunk offsets size = sizeof(dword) * gvar->pm.fi.ChunksInFile; - MM_GetPtr(&buf, size, gvar); + MM_GetPtr((memptr *)&buf, size, gvar); if (!CA_FarRead(gvar->pm.fi.PageFile,(byte far *)buf,size, gvar)) { Quit (gvar, "PML_OpenPageFile: Offset read failed"); @@ -839,7 +838,7 @@ PML_OpenPageFile(global_game_variables_t *gvar) offsetptr = (dword far *)buf; for (i = 0,page = gvar->pm.PMPages;i < gvar->pm.fi.ChunksInFile;i++,page++) page->offset = *offsetptr++; - MM_FreePtr(&buf, gvar); + MM_FreePtr((memptr *)&buf, gvar); // Read in the chunk lengths size = sizeof(word) * gvar->pm.fi.ChunksInFile; @@ -852,7 +851,7 @@ PML_OpenPageFile(global_game_variables_t *gvar) lengthptr = (word far *)buf; for (i = 0,page = gvar->pm.PMPages;i < gvar->pm.fi.ChunksInFile;i++,page++) page->length = *lengthptr++; - MM_FreePtr(&buf, gvar); + MM_FreePtr((memptr *)&buf, gvar); } // @@ -865,8 +864,8 @@ PML_ClosePageFile(global_game_variables_t *gvar) close(gvar->pm.fi.PageFile); if (gvar->pm.PMSegPages) { - MM_SetLock((memptr)gvar->pm.PMSegPages,false, gvar); - MM_FreePtr((memptr)gvar->pm.PMSegPages, gvar); + MM_SetLock((memptr *)&gvar->pm.PMSegPages,false, gvar); + MM_FreePtr((void _seg *)&gvar->pm.PMSegPages, gvar); } } @@ -1531,7 +1530,7 @@ PM_Shutdown(global_game_variables_t *gvar) if (!gvar->pm.PMStarted) return; - //PML_ClosePageFile(gvar); + //0000+=+=PML_ClosePageFile(gvar); PML_ShutdownMainMem(gvar); } diff --git a/src/lib/16_t.h b/src/lib/16_t.h index a42051a5..9c7e3800 100755 --- a/src/lib/16_t.h +++ b/src/lib/16_t.h @@ -56,11 +56,11 @@ MK_FP(segment value, 0)*/ //typedef void __based( void ) * memptr; ////old //----typedef void __based(__self) * memptr; //typedef unsigned short _seg; // it will contains segment value (as Borland _seg) #define _seg __based( void ) -#define __SEGA __segment +// #define __SEGA __segment #endif #ifdef __BORLANDC__ #define _memavl() coreleft() -#define __SEGA _seg +// #define __SEGA _seg #endif typedef void _seg * memptr; diff --git a/src/lib/16_tdef.h b/src/lib/16_tdef.h index 2d027f61..88e756db 100755 --- a/src/lib/16_tdef.h +++ b/src/lib/16_tdef.h @@ -562,8 +562,8 @@ typedef struct MainPagesUsed, PMNumBlocks; long PMFrameCount; - PageListStruct far *PMPages; - memptr/*__SEGA*/ *PMSegPages; + PageListStruct far *PMPages, + _seg *PMSegPages; pm_mmi_t mm; pm_emmi_t emm; pm_xmmi_t xmm; @@ -587,7 +587,7 @@ typedef struct typedef struct { int mapon, mapnum; - //__SEGA *mapheaderseg[NUMMAPS]; + //maptype _seg *mapheaderseg[NUMMAPS]; } ca_mapinfo_t; typedef struct @@ -596,23 +596,37 @@ typedef struct int grhandle[4]; // handle to EGAGRAPH int audiohandle[4]; // handle to AUDIOT / AUDIO } ca_handle_t; - +/* + 16/wf3d8086/id_ca.c:byte _seg *tinf; +16/wf3d8086/id_ca.c:unsigned _seg *mapsegs[MAPPLANES]; +16/wf3d8086/id_ca.c:maptype _seg *mapheaderseg[NUMMAPS]; +16/wf3d8086/id_ca.c:byte _seg *audiosegs[NUMSNDCHUNKS]; +16/wf3d8086/id_ca.c:void _seg *grsegs[NUMCHUNKS]; +16/wf3d8086/id_ca.c:long _seg *grstarts; // array of offsets in egagraph, -1 for sparse +16/wf3d8086/id_ca.c:long _seg *audiostarts; // array of offsets in audio / audiot +16/wf3d8086/id_ca.c: grstarts = (long _seg *)FP_SEG(&EGAhead); +16/wf3d8086/id_ca.c: tinf = (byte _seg *)FP_SEG(&maphead); +16/wf3d8086/id_ca.c: pos = ((mapfiletype _seg *)tinf)->headeroffsets[i]; +16/wf3d8086/id_ca.c: audiostarts = (long _seg *)FP_SEG(&audiohead); +16/wf3d8086/id_ca.c: ((mapfiletype _seg *)tinf)->RLEWtag); +16/wf3d8086/id_ca.c: ((mapfiletype _seg *)tinf)->RLEWtag); +16/wf3d8086/id_ca.c: source = (byte _seg *)bufferseg+(pos-bufferstart);*/ typedef struct //TODO: USE THIS!!!! { byte ca_levelbit,ca_levelnum; ca_handle_t file; //files to open ca_mapinfo_t camap; - memptr/*__SEGA*/ mapsegs[MAP_LAYERS]; - memptr/*__SEGA*/ *grsegs[NUMCHUNKS]; + unsigned _seg *mapsegs[MAP_LAYERS]; + void _seg *grsegs[NUMCHUNKS]; byte far grneeded[NUMCHUNKS]; - memptr/*byte _seg*/ *audiosegs[NUMSNDCHUNKS]; + word _seg *audiosegs[NUMSNDCHUNKS];//long - long _seg *grstarts; // array of offsets in egagraph, -1 for sparse - long _seg *audiostarts; // array of offsets in audio / audiot + word _seg *grstarts; // array of offsets in egagraph, -1 for sparse//long + word _seg *audiostarts; // array of offsets in audio / audiot//long //misc memptr - memptr tinf[4]; + byte _seg *tinf[4]; huffnode huffnode; diff --git a/src/maptest.c b/src/maptest.c index 9ed9e273..8a99276f 100755 --- a/src/maptest.c +++ b/src/maptest.c @@ -85,7 +85,7 @@ main(int argc, char *argv[]) fprintf(stdout, "&map.data==%Fp\n", map.data);*/ #endif //fprintf(stderr, "here comes dat boi!\n"); getch(); fprintf(stderr, "%s", datboi); - MM_FreePtr(&(gvar.ca.mapsegs), &gvar); + MM_FreePtr((memptr *)&(gvar.ca.mapsegs), &gvar); PM_Shutdown(&gvar); CA_Shutdown(&gvar); MM_Shutdown(&gvar); -- 2.39.2