From: sparky4 Date: Wed, 5 Aug 2015 04:01:17 +0000 (-0500) Subject: the near malloc is messy!! wwww X-Git-Url: http://4ch.mooo.com/gitweb/?a=commitdiff_plain;h=e0806081573e79828c100893f396dadc9d909f99;p=16.git the near malloc is messy!! wwww modified: 16/exmmtest/EXMMTEST.EXE modified: 16/exmmtest/EXMMTEST.MAP modified: 16/exmmtest/EXMMTEST.PRJ modified: 16/exmmtest/src/exmmtest.c modified: 16/exmmtest/src/lib/16_hc.c modified: 16/exmmtest/src/lib/16_hc.h modified: 16/exmmtest/src/lib/16_mm.c modified: 16/exmmtest/src/lib/16_mm.h modified: exmmtest.exe modified: src/exmmtest.c modified: src/lib/16_hc.c modified: src/lib/16_hc.h modified: src/lib/16_mm.c modified: src/lib/16_mm.h --- diff --git a/16/exmmtest/EXMMTEST.EXE b/16/exmmtest/EXMMTEST.EXE index 70a92eec..37dca389 100644 Binary files a/16/exmmtest/EXMMTEST.EXE and b/16/exmmtest/EXMMTEST.EXE differ diff --git a/16/exmmtest/EXMMTEST.MAP b/16/exmmtest/EXMMTEST.MAP index 70abacfe..76f0194d 100644 --- a/16/exmmtest/EXMMTEST.MAP +++ b/16/exmmtest/EXMMTEST.MAP @@ -1,509 +1,507 @@ Start Stop Length Name Class - 00000H 05880H 05881H _TEXT CODE - 05890H 05890H 00000H _FARDATA FAR_DATA - 05890H 05890H 00000H _FARBSS FAR_BSS - 05890H 05890H 00000H _OVERLAY_ OVRINFO - 05890H 05890H 00000H _1STUB_ STUBSEG - 05890H 06941H 010B2H _DATA DATA - 06942H 06943H 00002H _CVTSEG DATA - 06944H 06949H 00006H _SCNSEG DATA - 0694AH 0694AH 00000H _CONST CONST - 0694AH 06961H 00018H _INIT_ INITDATA - 06962H 06962H 00000H _INITEND_ INITDATA - 06962H 06962H 00000H _EXIT_ EXITDATA - 06962H 06962H 00000H _EXITEND_ EXITDATA - 06962H 069C9H 00068H _BSS BSS - 069CAH 069CAH 00000H _BSSEND BSSEND - 069D0H 06A4FH 00080H _STACK STACK + 00000H 0591DH 0591EH _TEXT CODE + 05920H 05920H 00000H _FARDATA FAR_DATA + 05920H 05920H 00000H _FARBSS FAR_BSS + 05920H 05920H 00000H _OVERLAY_ OVRINFO + 05920H 05920H 00000H _1STUB_ STUBSEG + 05920H 069AFH 01090H _DATA DATA + 069B0H 069B1H 00002H _CVTSEG DATA + 069B2H 069B7H 00006H _SCNSEG DATA + 069B8H 069B8H 00000H _CONST CONST + 069B8H 069CFH 00018H _INIT_ INITDATA + 069D0H 069D0H 00000H _INITEND_ INITDATA + 069D0H 069D0H 00000H _EXIT_ EXITDATA + 069D0H 069D0H 00000H _EXITEND_ EXITDATA + 069D0H 06A37H 00068H _BSS BSS + 06A38H 06A38H 00000H _BSSEND BSSEND + 06A40H 06ABFH 00080H _STACK STACK Detailed map of segments 0000:0000 028F C=CODE S=_TEXT G=(none) M=c0.ASM ACBP=28 0000:028F 05F7 C=CODE S=_TEXT G=(none) M=SRC\LIB\NYAN\KITTEN.C ACBP=28 - 0000:0886 0290 C=CODE S=_TEXT G=(none) M=SRC\LIB\16_HC.C ACBP=28 - 0000:0B16 0235 C=CODE S=_TEXT G=(none) M=SRC\EXMMTEST.C ACBP=28 - 0000:0D4B 0232 C=CODE S=_TEXT G=(none) M=SRC\LIB\16_CA.C ACBP=28 - 0000:0F7D 0242 C=CODE S=_TEXT G=(none) M=SRC\LIB\16_HEAD.C ACBP=28 - 0000:11BF 1992 C=CODE S=_TEXT G=(none) M=SRC\LIB\16_MM.C ACBP=28 - 0000:2B51 0024 C=CODE S=_TEXT G=(none) M=ATEXIT ACBP=28 - 0000:2B75 0049 C=CODE S=_TEXT G=(none) M=CLOCK ACBP=28 - 0000:2BBE 0000 C=CODE S=_TEXT G=(none) M=CTYPE ACBP=28 - 0000:2BBE 003D C=CODE S=_TEXT G=(none) M=DOSFATTR ACBP=28 - 0000:2BFB 0089 C=CODE S=_TEXT G=(none) M=EXIT ACBP=28 - 0000:2C84 0000 C=CODE S=_TEXT G=(none) M=FILES ACBP=28 - 0000:2C84 0000 C=CODE S=_TEXT G=(none) M=FILES2 ACBP=28 - 0000:2C84 0000 C=CODE S=_TEXT G=(none) M=FMODE ACBP=28 - 0000:2C84 0021 C=CODE S=_TEXT G=(none) M=H_LLSH ACBP=28 - 0000:2CA5 0021 C=CODE S=_TEXT G=(none) M=H_LURSH ACBP=28 - 0000:2CC6 0060 C=CODE S=_TEXT G=(none) M=H_PADD ACBP=28 - 0000:2D26 0028 C=CODE S=_TEXT G=(none) M=H_PSBP ACBP=28 - 0000:2D4E 004B C=CODE S=_TEXT G=(none) M=IOERROR ACBP=28 - 0000:2D99 0011 C=CODE S=_TEXT G=(none) M=ISATTY ACBP=28 - 0000:2DAA 00A2 C=CODE S=_TEXT G=(none) M=LONGTOA ACBP=28 - 0000:2E4C 0029 C=CODE S=_TEXT G=(none) M=LSEEK ACBP=28 - 0000:2E75 00B0 C=CODE S=_TEXT G=(none) M=MKNAME ACBP=28 - 0000:2F25 0021 C=CODE S=_TEXT G=(none) M=N_PCMP ACBP=28 - 0000:2F46 002F C=CODE S=_TEXT G=(none) M=READA ACBP=28 - 0000:2F75 00B2 C=CODE S=_TEXT G=(none) M=SETUPIO ACBP=28 - 0000:3027 0000 C=CODE S=_TEXT G=(none) M=STKLEN ACBP=28 - 0000:3027 002C C=CODE S=_TEXT G=(none) M=TOLOWER ACBP=28 - 0000:3053 0018 C=CODE S=_TEXT G=(none) M=UNLINK ACBP=28 - 0000:306B 04DB C=CODE S=_TEXT G=(none) M=VPRINTER ACBP=28 - 0000:3546 009F C=CODE S=_TEXT G=(none) M=VRAM ACBP=28 - 0000:35E5 0000 C=CODE S=_TEXT G=(none) M=WSCROLL ACBP=28 - 0000:35E5 0030 C=CODE S=_TEXT G=(none) M=_STPCPY ACBP=28 - 0000:3615 0004 C=CODE S=_TEXT G=(none) M=CORELEFT ACBP=28 - 0000:3619 014E C=CODE S=_TEXT G=(none) M=CPRINTF ACBP=28 - 0000:3767 01A5 C=CODE S=_TEXT G=(none) M=CRTINIT ACBP=28 - 0000:390C 001F C=CODE S=_TEXT G=(none) M=CVTFAK ACBP=28 - 0000:392B 042D C=CODE S=_TEXT G=(none) M=FARHEAP ACBP=28 - 0000:3D58 013E C=CODE S=_TEXT G=(none) M=FBRK ACBP=28 - 0000:3E96 0050 C=CODE S=_TEXT G=(none) M=FCORELFT ACBP=28 - 0000:3EE6 0054 C=CODE S=_TEXT G=(none) M=GETCH ACBP=28 - 0000:3F3A 00AC C=CODE S=_TEXT G=(none) M=GPTEXT ACBP=28 - 0000:3FE6 0029 C=CODE S=_TEXT G=(none) M=IOCTL ACBP=28 - 0000:400F 0012 C=CODE S=_TEXT G=(none) M=KBHIT ACBP=28 - 0000:4021 009D C=CODE S=_TEXT G=(none) M=MOVETEXT ACBP=28 - 0000:40BE 0017 C=CODE S=_TEXT G=(none) M=PUTCH ACBP=28 - 0000:40D5 0004 C=CODE S=_TEXT G=(none) M=REALCVT ACBP=28 - 0000:40D9 01C7 C=CODE S=_TEXT G=(none) M=SCREEN ACBP=28 - 0000:42A0 0184 C=CODE S=_TEXT G=(none) M=SCROLL ACBP=28 - 0000:4424 0129 C=CODE S=_TEXT G=(none) M=SETARGV ACBP=28 - 0000:454D 001C C=CODE S=_TEXT G=(none) M=SETBLOCK ACBP=28 - 0000:4569 0054 C=CODE S=_TEXT G=(none) M=SETENVP ACBP=28 - 0000:45BD 002C C=CODE S=_TEXT G=(none) M=WHEREXY ACBP=28 - 0000:45E9 001D C=CODE S=_TEXT G=(none) M=CHMODA ACBP=28 - 0000:4606 0026 C=CODE S=_TEXT G=(none) M=CLOSE ACBP=28 - 0000:462C 001E C=CODE S=_TEXT G=(none) M=CLOSEA ACBP=28 - 0000:464A 00B0 C=CODE S=_TEXT G=(none) M=FCLOSE ACBP=28 - 0000:46FA 00C6 C=CODE S=_TEXT G=(none) M=FFLUSH ACBP=28 - 0000:47C0 0041 C=CODE S=_TEXT G=(none) M=FLENGTH ACBP=28 - 0000:4801 0040 C=CODE S=_TEXT G=(none) M=FLUSHALL ACBP=28 - 0000:4841 01FE C=CODE S=_TEXT G=(none) M=FOPEN ACBP=28 - 0000:4A3F 001C C=CODE S=_TEXT G=(none) M=FPRINTF ACBP=28 - 0000:4A5B 01D8 C=CODE S=_TEXT G=(none) M=FSEEK ACBP=28 - 0000:4C33 0070 C=CODE S=_TEXT G=(none) M=GETENV ACBP=28 - 0000:4CA3 0070 C=CODE S=_TEXT G=(none) M=LTOA1 ACBP=28 - 0000:4D13 0024 C=CODE S=_TEXT G=(none) M=MEMCPY ACBP=28 - 0000:4D37 0022 C=CODE S=_TEXT G=(none) M=MOVEDATA ACBP=28 - 0000:4D59 018D C=CODE S=_TEXT G=(none) M=OPEN ACBP=28 - 0000:4EE6 004F C=CODE S=_TEXT G=(none) M=OPENA ACBP=28 - 0000:4F35 001B C=CODE S=_TEXT G=(none) M=PRINTF ACBP=28 - 0000:4F50 03A4 C=CODE S=_TEXT G=(none) M=PUTC ACBP=28 - 0000:52F4 00CB C=CODE S=_TEXT G=(none) M=READ ACBP=28 - 0000:53BF 0003 C=CODE S=_TEXT G=(none) M=READU ACBP=28 - 0000:53C2 0111 C=CODE S=_TEXT G=(none) M=SETVBUF ACBP=28 - 0000:54D3 0081 C=CODE S=_TEXT G=(none) M=SPRINTF ACBP=28 - 0000:5554 003F C=CODE S=_TEXT G=(none) M=STRCAT ACBP=28 - 0000:5593 003D C=CODE S=_TEXT G=(none) M=STRCHR ACBP=28 - 0000:55D0 0030 C=CODE S=_TEXT G=(none) M=STRCMP ACBP=28 - 0000:5600 0029 C=CODE S=_TEXT G=(none) M=STRCPY ACBP=28 - 0000:5629 0040 C=CODE S=_TEXT G=(none) M=STRDUP ACBP=28 - 0000:5669 001F C=CODE S=_TEXT G=(none) M=STRLEN ACBP=28 - 0000:5688 0149 C=CODE S=_TEXT G=(none) M=WRITE ACBP=28 - 0000:57D1 003C C=CODE S=_TEXT G=(none) M=WRITEA ACBP=28 - 0000:580D 0003 C=CODE S=_TEXT G=(none) M=WRITEU ACBP=28 - 0000:5810 003B C=CODE S=_TEXT G=(none) M=XFCLOSE ACBP=28 - 0000:584B 0036 C=CODE S=_TEXT G=(none) M=XFFLUSH ACBP=28 - 0589:0000 0000 C=FAR_DATA S=_FARDATA G=(none) M=c0.ASM ACBP=68 - 0589:0000 0000 C=FAR_BSS S=_FARBSS G=(none) M=c0.ASM ACBP=68 - 0589:0000 0000 C=OVRINFO S=_OVERLAY_ G=(none) M=c0.ASM ACBP=68 - 0589:0000 0000 C=STUBSEG S=_1STUB_ G=(none) M=c0.ASM ACBP=68 - 0589:0000 0093 C=DATA S=_DATA G=DGROUP M=c0.ASM ACBP=68 - 0589:0094 0045 C=DATA S=_DATA G=DGROUP M=SRC\LIB\NYAN\KITTEN.C ACBP=48 - 0589:00DA 0014 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_HC.C ACBP=48 - 0589:00EE 0187 C=DATA S=_DATA G=DGROUP M=SRC\EXMMTEST.C ACBP=48 - 0589:0276 002C C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_CA.C ACBP=48 - 0589:02A2 0010 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_HEAD.C ACBP=48 - 0589:02B2 09FD C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_MM.C ACBP=48 - 0589:0CB0 0002 C=DATA S=_DATA G=DGROUP M=ATEXIT ACBP=48 - 0589:0CB2 0000 C=DATA S=_DATA G=DGROUP M=CLOCK ACBP=48 - 0589:0CB2 0101 C=DATA S=_DATA G=DGROUP M=CTYPE ACBP=48 - 0589:0DB4 0000 C=DATA S=_DATA G=DGROUP M=DOSFATTR ACBP=48 - 0589:0DB4 0006 C=DATA S=_DATA G=DGROUP M=EXIT ACBP=48 - 0589:0DBA 0190 C=DATA S=_DATA G=DGROUP M=FILES ACBP=48 - 0589:0F4A 002A C=DATA S=_DATA G=DGROUP M=FILES2 ACBP=48 - 0589:0F74 0004 C=DATA S=_DATA G=DGROUP M=FMODE ACBP=48 - 0589:0F78 0000 C=DATA S=_DATA G=DGROUP M=H_LLSH ACBP=48 - 0589:0F78 0000 C=DATA S=_DATA G=DGROUP M=H_LURSH ACBP=48 - 0589:0F78 0000 C=DATA S=_DATA G=DGROUP M=H_PADD ACBP=48 - 0589:0F78 0000 C=DATA S=_DATA G=DGROUP M=H_PSBP ACBP=48 - 0589:0F78 005B C=DATA S=_DATA G=DGROUP M=IOERROR ACBP=48 - 0589:0FD4 0000 C=DATA S=_DATA G=DGROUP M=ISATTY ACBP=48 - 0589:0FD4 0000 C=DATA S=_DATA G=DGROUP M=LONGTOA ACBP=48 - 0589:0FD4 0000 C=DATA S=_DATA G=DGROUP M=LSEEK ACBP=48 - 0589:0FD4 0009 C=DATA S=_DATA G=DGROUP M=MKNAME ACBP=48 - 0589:0FDE 0000 C=DATA S=_DATA G=DGROUP M=N_PCMP ACBP=48 - 0589:0FDE 0000 C=DATA S=_DATA G=DGROUP M=READA ACBP=48 - 0589:0FDE 0000 C=DATA S=_DATA G=DGROUP M=SETUPIO ACBP=48 - 0589:0FDE 0002 C=DATA S=_DATA G=DGROUP M=STKLEN ACBP=48 - 0589:0FE0 0000 C=DATA S=_DATA G=DGROUP M=TOLOWER ACBP=48 - 0589:0FE0 0000 C=DATA S=_DATA G=DGROUP M=UNLINK ACBP=48 - 0589:0FE0 0067 C=DATA S=_DATA G=DGROUP M=VPRINTER ACBP=48 - 0589:1048 0000 C=DATA S=_DATA G=DGROUP M=VRAM ACBP=48 - 0589:1048 0002 C=DATA S=_DATA G=DGROUP M=WSCROLL ACBP=48 - 0589:104A 0000 C=DATA S=_DATA G=DGROUP M=_STPCPY ACBP=48 - 0589:104A 0000 C=DATA S=_DATA G=DGROUP M=CORELEFT ACBP=48 - 0589:104A 0000 C=DATA S=_DATA G=DGROUP M=CPRINTF ACBP=48 - 0589:104A 0018 C=DATA S=_DATA G=DGROUP M=CRTINIT ACBP=48 - 0589:1062 0031 C=DATA S=_DATA G=DGROUP M=CVTFAK ACBP=48 - 0589:1094 0000 C=DATA S=_DATA G=DGROUP M=FARHEAP ACBP=48 - 0589:1094 0002 C=DATA S=_DATA G=DGROUP M=FBRK ACBP=48 - 0589:1096 0000 C=DATA S=_DATA G=DGROUP M=FCORELFT ACBP=48 - 0589:1096 0000 C=DATA S=_DATA G=DGROUP M=GETCH ACBP=48 - 0589:1096 0000 C=DATA S=_DATA G=DGROUP M=GPTEXT ACBP=48 - 0589:1096 0000 C=DATA S=_DATA G=DGROUP M=IOCTL ACBP=48 - 0589:1096 0002 C=DATA S=_DATA G=DGROUP M=KBHIT ACBP=48 - 0589:1098 0000 C=DATA S=_DATA G=DGROUP M=MOVETEXT ACBP=48 - 0589:1098 0000 C=DATA S=_DATA G=DGROUP M=PUTCH ACBP=48 - 0589:1098 0000 C=DATA S=_DATA G=DGROUP M=REALCVT ACBP=48 - 0589:1098 0000 C=DATA S=_DATA G=DGROUP M=SCREEN ACBP=48 - 0589:1098 0000 C=DATA S=_DATA G=DGROUP M=SCROLL ACBP=48 - 0589:1098 0010 C=DATA S=_DATA G=DGROUP M=SETARGV ACBP=48 - 0589:10A8 0000 C=DATA S=_DATA G=DGROUP M=SETBLOCK ACBP=48 - 0589:10A8 0004 C=DATA S=_DATA G=DGROUP M=SETENVP ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=WHEREXY ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=CHMODA ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=CLOSE ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=CLOSEA ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=FCLOSE ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=FFLUSH ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=FLENGTH ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=FLUSHALL ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=FOPEN ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=FPRINTF ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=FSEEK ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=GETENV ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=LTOA1 ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=MEMCPY ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=MOVEDATA ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=OPEN ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=OPENA ACBP=48 - 0589:10AC 0000 C=DATA S=_DATA G=DGROUP M=PRINTF ACBP=48 - 0589:10AC 0001 C=DATA S=_DATA G=DGROUP M=PUTC ACBP=48 - 0589:10AE 0000 C=DATA S=_DATA G=DGROUP M=READ ACBP=48 - 0589:10AE 0000 C=DATA S=_DATA G=DGROUP M=READU ACBP=48 - 0589:10AE 0004 C=DATA S=_DATA G=DGROUP M=SETVBUF ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=SPRINTF ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=STRCAT ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=STRCHR ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=STRCMP ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=STRCPY ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=STRDUP ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=STRLEN ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=WRITE ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=WRITEA ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=WRITEU ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=XFCLOSE ACBP=48 - 0589:10B2 0000 C=DATA S=_DATA G=DGROUP M=XFFLUSH ACBP=48 - 0589:10B2 0000 C=DATA S=_CVTSEG G=DGROUP M=c0.ASM ACBP=48 - 0589:10B2 0002 C=DATA S=_CVTSEG G=DGROUP M=CVTFAK ACBP=48 - 0589:10B4 0000 C=DATA S=_CVTSEG G=DGROUP M=REALCVT ACBP=48 - 0589:10B4 0000 C=DATA S=_SCNSEG G=DGROUP M=c0.ASM ACBP=48 - 0589:10B4 0006 C=DATA S=_SCNSEG G=DGROUP M=CVTFAK ACBP=48 - 0589:10BA 0000 C=CONST S=_CONST G=DGROUP M=c0.ASM ACBP=48 - 0589:10BA 0000 C=INITDATA S=_INIT_ G=DGROUP M=c0.ASM ACBP=48 - 0589:10BA 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETUPIO ACBP=48 - 0589:10C0 0006 C=INITDATA S=_INIT_ G=DGROUP M=CRTINIT ACBP=48 - 0589:10C6 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETARGV ACBP=48 - 0589:10CC 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETENVP ACBP=48 - 0589:10D2 0000 C=INITDATA S=_INITEND_ G=DGROUP M=c0.ASM ACBP=28 - 0589:10D2 0000 C=EXITDATA S=_EXIT_ G=DGROUP M=c0.ASM ACBP=48 - 0589:10D2 0000 C=EXITDATA S=_EXITEND_ G=DGROUP M=c0.ASM ACBP=28 - 0589:10D2 0000 C=BSS S=_BSS G=DGROUP M=c0.ASM ACBP=48 - 0589:10D2 0004 C=BSS S=_BSS G=DGROUP M=SRC\LIB\NYAN\KITTEN.C ACBP=48 - 0589:10D6 0002 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_HC.C ACBP=48 - 0589:10D8 0000 C=BSS S=_BSS G=DGROUP M=SRC\EXMMTEST.C ACBP=48 - 0589:10D8 000A C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_CA.C ACBP=48 - 0589:10E2 0000 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_HEAD.C ACBP=48 - 0589:10E2 0006 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_MM.C ACBP=48 - 0589:10E8 0040 C=BSS S=_BSS G=DGROUP M=ATEXIT ACBP=48 - 0589:1128 0001 C=BSS S=_BSS G=DGROUP M=CLOCK ACBP=48 - 0589:112A 0000 C=BSS S=_BSS G=DGROUP M=DOSFATTR ACBP=48 - 0589:112A 0000 C=BSS S=_BSS G=DGROUP M=IOERROR ACBP=48 - 0589:112A 0000 C=BSS S=_BSS G=DGROUP M=ISATTY ACBP=48 - 0589:112A 0000 C=BSS S=_BSS G=DGROUP M=LONGTOA ACBP=48 - 0589:112A 0000 C=BSS S=_BSS G=DGROUP M=LSEEK ACBP=48 - 0589:112A 000D C=BSS S=_BSS G=DGROUP M=MKNAME ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=READA ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=SETUPIO ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=UNLINK ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=VPRINTER ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=VRAM ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=CORELEFT ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=CRTINIT ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=GETCH ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=IOCTL ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=KBHIT ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=SETBLOCK ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=CHMODA ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=CLOSEA ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=FLENGTH ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=GETENV ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=MEMCPY ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=MOVEDATA ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=OPEN ACBP=48 - 0589:1138 0000 C=BSS S=_BSS G=DGROUP M=OPENA ACBP=48 - 0589:1138 0001 C=BSS S=_BSS G=DGROUP M=PUTC ACBP=48 - 0589:113A 0000 C=BSS S=_BSS G=DGROUP M=READ ACBP=48 - 0589:113A 0000 C=BSS S=_BSS G=DGROUP M=STRCAT ACBP=48 - 0589:113A 0000 C=BSS S=_BSS G=DGROUP M=STRCHR ACBP=48 - 0589:113A 0000 C=BSS S=_BSS G=DGROUP M=STRCMP ACBP=48 - 0589:113A 0000 C=BSS S=_BSS G=DGROUP M=STRCPY ACBP=48 - 0589:113A 0000 C=BSS S=_BSS G=DGROUP M=STRLEN ACBP=48 - 0589:113A 0000 C=BSS S=_BSS G=DGROUP M=WRITEA ACBP=48 - 0589:113A 0000 C=BSSEND S=_BSSEND G=DGROUP M=c0.ASM ACBP=28 - 069D:0000 0080 C=STACK S=_STACK G=(none) M=c0.ASM ACBP=74 + 0000:0886 02A6 C=CODE S=_TEXT G=(none) M=SRC\LIB\16_HC.C ACBP=28 + 0000:0B2C 023A C=CODE S=_TEXT G=(none) M=SRC\EXMMTEST.C ACBP=28 + 0000:0D66 0232 C=CODE S=_TEXT G=(none) M=SRC\LIB\16_CA.C ACBP=28 + 0000:0F98 0242 C=CODE S=_TEXT G=(none) M=SRC\LIB\16_HEAD.C ACBP=28 + 0000:11DA 1A14 C=CODE S=_TEXT G=(none) M=SRC\LIB\16_MM.C ACBP=28 + 0000:2BEE 0024 C=CODE S=_TEXT G=(none) M=ATEXIT ACBP=28 + 0000:2C12 0049 C=CODE S=_TEXT G=(none) M=CLOCK ACBP=28 + 0000:2C5B 0000 C=CODE S=_TEXT G=(none) M=CTYPE ACBP=28 + 0000:2C5B 003D C=CODE S=_TEXT G=(none) M=DOSFATTR ACBP=28 + 0000:2C98 0089 C=CODE S=_TEXT G=(none) M=EXIT ACBP=28 + 0000:2D21 0000 C=CODE S=_TEXT G=(none) M=FILES ACBP=28 + 0000:2D21 0000 C=CODE S=_TEXT G=(none) M=FILES2 ACBP=28 + 0000:2D21 0000 C=CODE S=_TEXT G=(none) M=FMODE ACBP=28 + 0000:2D21 0021 C=CODE S=_TEXT G=(none) M=H_LLSH ACBP=28 + 0000:2D42 0021 C=CODE S=_TEXT G=(none) M=H_LURSH ACBP=28 + 0000:2D63 0060 C=CODE S=_TEXT G=(none) M=H_PADD ACBP=28 + 0000:2DC3 0028 C=CODE S=_TEXT G=(none) M=H_PSBP ACBP=28 + 0000:2DEB 004B C=CODE S=_TEXT G=(none) M=IOERROR ACBP=28 + 0000:2E36 0011 C=CODE S=_TEXT G=(none) M=ISATTY ACBP=28 + 0000:2E47 00A2 C=CODE S=_TEXT G=(none) M=LONGTOA ACBP=28 + 0000:2EE9 0029 C=CODE S=_TEXT G=(none) M=LSEEK ACBP=28 + 0000:2F12 00B0 C=CODE S=_TEXT G=(none) M=MKNAME ACBP=28 + 0000:2FC2 0021 C=CODE S=_TEXT G=(none) M=N_PCMP ACBP=28 + 0000:2FE3 002F C=CODE S=_TEXT G=(none) M=READA ACBP=28 + 0000:3012 00B2 C=CODE S=_TEXT G=(none) M=SETUPIO ACBP=28 + 0000:30C4 0000 C=CODE S=_TEXT G=(none) M=STKLEN ACBP=28 + 0000:30C4 002C C=CODE S=_TEXT G=(none) M=TOLOWER ACBP=28 + 0000:30F0 0018 C=CODE S=_TEXT G=(none) M=UNLINK ACBP=28 + 0000:3108 04DB C=CODE S=_TEXT G=(none) M=VPRINTER ACBP=28 + 0000:35E3 009F C=CODE S=_TEXT G=(none) M=VRAM ACBP=28 + 0000:3682 0000 C=CODE S=_TEXT G=(none) M=WSCROLL ACBP=28 + 0000:3682 0030 C=CODE S=_TEXT G=(none) M=_STPCPY ACBP=28 + 0000:36B2 0004 C=CODE S=_TEXT G=(none) M=CORELEFT ACBP=28 + 0000:36B6 014E C=CODE S=_TEXT G=(none) M=CPRINTF ACBP=28 + 0000:3804 01A5 C=CODE S=_TEXT G=(none) M=CRTINIT ACBP=28 + 0000:39A9 001F C=CODE S=_TEXT G=(none) M=CVTFAK ACBP=28 + 0000:39C8 042D C=CODE S=_TEXT G=(none) M=FARHEAP ACBP=28 + 0000:3DF5 013E C=CODE S=_TEXT G=(none) M=FBRK ACBP=28 + 0000:3F33 0050 C=CODE S=_TEXT G=(none) M=FCORELFT ACBP=28 + 0000:3F83 0054 C=CODE S=_TEXT G=(none) M=GETCH ACBP=28 + 0000:3FD7 00AC C=CODE S=_TEXT G=(none) M=GPTEXT ACBP=28 + 0000:4083 0029 C=CODE S=_TEXT G=(none) M=IOCTL ACBP=28 + 0000:40AC 0012 C=CODE S=_TEXT G=(none) M=KBHIT ACBP=28 + 0000:40BE 009D C=CODE S=_TEXT G=(none) M=MOVETEXT ACBP=28 + 0000:415B 0017 C=CODE S=_TEXT G=(none) M=PUTCH ACBP=28 + 0000:4172 0004 C=CODE S=_TEXT G=(none) M=REALCVT ACBP=28 + 0000:4176 01C7 C=CODE S=_TEXT G=(none) M=SCREEN ACBP=28 + 0000:433D 0184 C=CODE S=_TEXT G=(none) M=SCROLL ACBP=28 + 0000:44C1 0129 C=CODE S=_TEXT G=(none) M=SETARGV ACBP=28 + 0000:45EA 001C C=CODE S=_TEXT G=(none) M=SETBLOCK ACBP=28 + 0000:4606 0054 C=CODE S=_TEXT G=(none) M=SETENVP ACBP=28 + 0000:465A 002C C=CODE S=_TEXT G=(none) M=WHEREXY ACBP=28 + 0000:4686 001D C=CODE S=_TEXT G=(none) M=CHMODA ACBP=28 + 0000:46A3 0026 C=CODE S=_TEXT G=(none) M=CLOSE ACBP=28 + 0000:46C9 001E C=CODE S=_TEXT G=(none) M=CLOSEA ACBP=28 + 0000:46E7 00B0 C=CODE S=_TEXT G=(none) M=FCLOSE ACBP=28 + 0000:4797 00C6 C=CODE S=_TEXT G=(none) M=FFLUSH ACBP=28 + 0000:485D 0041 C=CODE S=_TEXT G=(none) M=FLENGTH ACBP=28 + 0000:489E 0040 C=CODE S=_TEXT G=(none) M=FLUSHALL ACBP=28 + 0000:48DE 01FE C=CODE S=_TEXT G=(none) M=FOPEN ACBP=28 + 0000:4ADC 001C C=CODE S=_TEXT G=(none) M=FPRINTF ACBP=28 + 0000:4AF8 01D8 C=CODE S=_TEXT G=(none) M=FSEEK ACBP=28 + 0000:4CD0 0070 C=CODE S=_TEXT G=(none) M=GETENV ACBP=28 + 0000:4D40 0070 C=CODE S=_TEXT G=(none) M=LTOA1 ACBP=28 + 0000:4DB0 0024 C=CODE S=_TEXT G=(none) M=MEMCPY ACBP=28 + 0000:4DD4 0022 C=CODE S=_TEXT G=(none) M=MOVEDATA ACBP=28 + 0000:4DF6 018D C=CODE S=_TEXT G=(none) M=OPEN ACBP=28 + 0000:4F83 004F C=CODE S=_TEXT G=(none) M=OPENA ACBP=28 + 0000:4FD2 001B C=CODE S=_TEXT G=(none) M=PRINTF ACBP=28 + 0000:4FED 03A4 C=CODE S=_TEXT G=(none) M=PUTC ACBP=28 + 0000:5391 00CB C=CODE S=_TEXT G=(none) M=READ ACBP=28 + 0000:545C 0003 C=CODE S=_TEXT G=(none) M=READU ACBP=28 + 0000:545F 0111 C=CODE S=_TEXT G=(none) M=SETVBUF ACBP=28 + 0000:5570 0081 C=CODE S=_TEXT G=(none) M=SPRINTF ACBP=28 + 0000:55F1 003F C=CODE S=_TEXT G=(none) M=STRCAT ACBP=28 + 0000:5630 003D C=CODE S=_TEXT G=(none) M=STRCHR ACBP=28 + 0000:566D 0030 C=CODE S=_TEXT G=(none) M=STRCMP ACBP=28 + 0000:569D 0029 C=CODE S=_TEXT G=(none) M=STRCPY ACBP=28 + 0000:56C6 0040 C=CODE S=_TEXT G=(none) M=STRDUP ACBP=28 + 0000:5706 001F C=CODE S=_TEXT G=(none) M=STRLEN ACBP=28 + 0000:5725 0149 C=CODE S=_TEXT G=(none) M=WRITE ACBP=28 + 0000:586E 003C C=CODE S=_TEXT G=(none) M=WRITEA ACBP=28 + 0000:58AA 0003 C=CODE S=_TEXT G=(none) M=WRITEU ACBP=28 + 0000:58AD 003B C=CODE S=_TEXT G=(none) M=XFCLOSE ACBP=28 + 0000:58E8 0036 C=CODE S=_TEXT G=(none) M=XFFLUSH ACBP=28 + 0592:0000 0000 C=FAR_DATA S=_FARDATA G=(none) M=c0.ASM ACBP=68 + 0592:0000 0000 C=FAR_BSS S=_FARBSS G=(none) M=c0.ASM ACBP=68 + 0592:0000 0000 C=OVRINFO S=_OVERLAY_ G=(none) M=c0.ASM ACBP=68 + 0592:0000 0000 C=STUBSEG S=_1STUB_ G=(none) M=c0.ASM ACBP=68 + 0592:0000 0093 C=DATA S=_DATA G=DGROUP M=c0.ASM ACBP=68 + 0592:0094 0045 C=DATA S=_DATA G=DGROUP M=SRC\LIB\NYAN\KITTEN.C ACBP=48 + 0592:00DA 0014 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_HC.C ACBP=48 + 0592:00EE 0187 C=DATA S=_DATA G=DGROUP M=SRC\EXMMTEST.C ACBP=48 + 0592:0276 002C C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_CA.C ACBP=48 + 0592:02A2 0010 C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_HEAD.C ACBP=48 + 0592:02B2 09DC C=DATA S=_DATA G=DGROUP M=SRC\LIB\16_MM.C ACBP=48 + 0592:0C8E 0002 C=DATA S=_DATA G=DGROUP M=ATEXIT ACBP=48 + 0592:0C90 0000 C=DATA S=_DATA G=DGROUP M=CLOCK ACBP=48 + 0592:0C90 0101 C=DATA S=_DATA G=DGROUP M=CTYPE ACBP=48 + 0592:0D92 0000 C=DATA S=_DATA G=DGROUP M=DOSFATTR ACBP=48 + 0592:0D92 0006 C=DATA S=_DATA G=DGROUP M=EXIT ACBP=48 + 0592:0D98 0190 C=DATA S=_DATA G=DGROUP M=FILES ACBP=48 + 0592:0F28 002A C=DATA S=_DATA G=DGROUP M=FILES2 ACBP=48 + 0592:0F52 0004 C=DATA S=_DATA G=DGROUP M=FMODE ACBP=48 + 0592:0F56 0000 C=DATA S=_DATA G=DGROUP M=H_LLSH ACBP=48 + 0592:0F56 0000 C=DATA S=_DATA G=DGROUP M=H_LURSH ACBP=48 + 0592:0F56 0000 C=DATA S=_DATA G=DGROUP M=H_PADD ACBP=48 + 0592:0F56 0000 C=DATA S=_DATA G=DGROUP M=H_PSBP ACBP=48 + 0592:0F56 005B C=DATA S=_DATA G=DGROUP M=IOERROR ACBP=48 + 0592:0FB2 0000 C=DATA S=_DATA G=DGROUP M=ISATTY ACBP=48 + 0592:0FB2 0000 C=DATA S=_DATA G=DGROUP M=LONGTOA ACBP=48 + 0592:0FB2 0000 C=DATA S=_DATA G=DGROUP M=LSEEK ACBP=48 + 0592:0FB2 0009 C=DATA S=_DATA G=DGROUP M=MKNAME ACBP=48 + 0592:0FBC 0000 C=DATA S=_DATA G=DGROUP M=N_PCMP ACBP=48 + 0592:0FBC 0000 C=DATA S=_DATA G=DGROUP M=READA ACBP=48 + 0592:0FBC 0000 C=DATA S=_DATA G=DGROUP M=SETUPIO ACBP=48 + 0592:0FBC 0002 C=DATA S=_DATA G=DGROUP M=STKLEN ACBP=48 + 0592:0FBE 0000 C=DATA S=_DATA G=DGROUP M=TOLOWER ACBP=48 + 0592:0FBE 0000 C=DATA S=_DATA G=DGROUP M=UNLINK ACBP=48 + 0592:0FBE 0067 C=DATA S=_DATA G=DGROUP M=VPRINTER ACBP=48 + 0592:1026 0000 C=DATA S=_DATA G=DGROUP M=VRAM ACBP=48 + 0592:1026 0002 C=DATA S=_DATA G=DGROUP M=WSCROLL ACBP=48 + 0592:1028 0000 C=DATA S=_DATA G=DGROUP M=_STPCPY ACBP=48 + 0592:1028 0000 C=DATA S=_DATA G=DGROUP M=CORELEFT ACBP=48 + 0592:1028 0000 C=DATA S=_DATA G=DGROUP M=CPRINTF ACBP=48 + 0592:1028 0018 C=DATA S=_DATA G=DGROUP M=CRTINIT ACBP=48 + 0592:1040 0031 C=DATA S=_DATA G=DGROUP M=CVTFAK ACBP=48 + 0592:1072 0000 C=DATA S=_DATA G=DGROUP M=FARHEAP ACBP=48 + 0592:1072 0002 C=DATA S=_DATA G=DGROUP M=FBRK ACBP=48 + 0592:1074 0000 C=DATA S=_DATA G=DGROUP M=FCORELFT ACBP=48 + 0592:1074 0000 C=DATA S=_DATA G=DGROUP M=GETCH ACBP=48 + 0592:1074 0000 C=DATA S=_DATA G=DGROUP M=GPTEXT ACBP=48 + 0592:1074 0000 C=DATA S=_DATA G=DGROUP M=IOCTL ACBP=48 + 0592:1074 0002 C=DATA S=_DATA G=DGROUP M=KBHIT ACBP=48 + 0592:1076 0000 C=DATA S=_DATA G=DGROUP M=MOVETEXT ACBP=48 + 0592:1076 0000 C=DATA S=_DATA G=DGROUP M=PUTCH ACBP=48 + 0592:1076 0000 C=DATA S=_DATA G=DGROUP M=REALCVT ACBP=48 + 0592:1076 0000 C=DATA S=_DATA G=DGROUP M=SCREEN ACBP=48 + 0592:1076 0000 C=DATA S=_DATA G=DGROUP M=SCROLL ACBP=48 + 0592:1076 0010 C=DATA S=_DATA G=DGROUP M=SETARGV ACBP=48 + 0592:1086 0000 C=DATA S=_DATA G=DGROUP M=SETBLOCK ACBP=48 + 0592:1086 0004 C=DATA S=_DATA G=DGROUP M=SETENVP ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=WHEREXY ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=CHMODA ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=CLOSE ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=CLOSEA ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=FCLOSE ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=FFLUSH ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=FLENGTH ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=FLUSHALL ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=FOPEN ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=FPRINTF ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=FSEEK ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=GETENV ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=LTOA1 ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=MEMCPY ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=MOVEDATA ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=OPEN ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=OPENA ACBP=48 + 0592:108A 0000 C=DATA S=_DATA G=DGROUP M=PRINTF ACBP=48 + 0592:108A 0001 C=DATA S=_DATA G=DGROUP M=PUTC ACBP=48 + 0592:108C 0000 C=DATA S=_DATA G=DGROUP M=READ ACBP=48 + 0592:108C 0000 C=DATA S=_DATA G=DGROUP M=READU ACBP=48 + 0592:108C 0004 C=DATA S=_DATA G=DGROUP M=SETVBUF ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=SPRINTF ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=STRCAT ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=STRCHR ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=STRCMP ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=STRCPY ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=STRDUP ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=STRLEN ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=WRITE ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=WRITEA ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=WRITEU ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=XFCLOSE ACBP=48 + 0592:1090 0000 C=DATA S=_DATA G=DGROUP M=XFFLUSH ACBP=48 + 0592:1090 0000 C=DATA S=_CVTSEG G=DGROUP M=c0.ASM ACBP=48 + 0592:1090 0002 C=DATA S=_CVTSEG G=DGROUP M=CVTFAK ACBP=48 + 0592:1092 0000 C=DATA S=_CVTSEG G=DGROUP M=REALCVT ACBP=48 + 0592:1092 0000 C=DATA S=_SCNSEG G=DGROUP M=c0.ASM ACBP=48 + 0592:1092 0006 C=DATA S=_SCNSEG G=DGROUP M=CVTFAK ACBP=48 + 0592:1098 0000 C=CONST S=_CONST G=DGROUP M=c0.ASM ACBP=48 + 0592:1098 0000 C=INITDATA S=_INIT_ G=DGROUP M=c0.ASM ACBP=48 + 0592:1098 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETUPIO ACBP=48 + 0592:109E 0006 C=INITDATA S=_INIT_ G=DGROUP M=CRTINIT ACBP=48 + 0592:10A4 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETARGV ACBP=48 + 0592:10AA 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETENVP ACBP=48 + 0592:10B0 0000 C=INITDATA S=_INITEND_ G=DGROUP M=c0.ASM ACBP=28 + 0592:10B0 0000 C=EXITDATA S=_EXIT_ G=DGROUP M=c0.ASM ACBP=48 + 0592:10B0 0000 C=EXITDATA S=_EXITEND_ G=DGROUP M=c0.ASM ACBP=28 + 0592:10B0 0000 C=BSS S=_BSS G=DGROUP M=c0.ASM ACBP=48 + 0592:10B0 0004 C=BSS S=_BSS G=DGROUP M=SRC\LIB\NYAN\KITTEN.C ACBP=48 + 0592:10B4 0002 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_HC.C ACBP=48 + 0592:10B6 0000 C=BSS S=_BSS G=DGROUP M=SRC\EXMMTEST.C ACBP=48 + 0592:10B6 000A C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_CA.C ACBP=48 + 0592:10C0 0000 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_HEAD.C ACBP=48 + 0592:10C0 0006 C=BSS S=_BSS G=DGROUP M=SRC\LIB\16_MM.C ACBP=48 + 0592:10C6 0040 C=BSS S=_BSS G=DGROUP M=ATEXIT ACBP=48 + 0592:1106 0001 C=BSS S=_BSS G=DGROUP M=CLOCK ACBP=48 + 0592:1108 0000 C=BSS S=_BSS G=DGROUP M=DOSFATTR ACBP=48 + 0592:1108 0000 C=BSS S=_BSS G=DGROUP M=IOERROR ACBP=48 + 0592:1108 0000 C=BSS S=_BSS G=DGROUP M=ISATTY ACBP=48 + 0592:1108 0000 C=BSS S=_BSS G=DGROUP M=LONGTOA ACBP=48 + 0592:1108 0000 C=BSS S=_BSS G=DGROUP M=LSEEK ACBP=48 + 0592:1108 000D C=BSS S=_BSS G=DGROUP M=MKNAME ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=READA ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=SETUPIO ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=UNLINK ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=VPRINTER ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=VRAM ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=CORELEFT ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=CRTINIT ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=GETCH ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=IOCTL ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=KBHIT ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=SETBLOCK ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=CHMODA ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=CLOSEA ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=FLENGTH ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=GETENV ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=MEMCPY ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=MOVEDATA ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=OPEN ACBP=48 + 0592:1116 0000 C=BSS S=_BSS G=DGROUP M=OPENA ACBP=48 + 0592:1116 0001 C=BSS S=_BSS G=DGROUP M=PUTC ACBP=48 + 0592:1118 0000 C=BSS S=_BSS G=DGROUP M=READ ACBP=48 + 0592:1118 0000 C=BSS S=_BSS G=DGROUP M=STRCAT ACBP=48 + 0592:1118 0000 C=BSS S=_BSS G=DGROUP M=STRCHR ACBP=48 + 0592:1118 0000 C=BSS S=_BSS G=DGROUP M=STRCMP ACBP=48 + 0592:1118 0000 C=BSS S=_BSS G=DGROUP M=STRCPY ACBP=48 + 0592:1118 0000 C=BSS S=_BSS G=DGROUP M=STRLEN ACBP=48 + 0592:1118 0000 C=BSS S=_BSS G=DGROUP M=WRITEA ACBP=48 + 0592:1118 0000 C=BSSEND S=_BSSEND G=DGROUP M=c0.ASM ACBP=28 + 06A4:0000 0080 C=STACK S=_STACK G=(none) M=c0.ASM ACBP=74 Address Publics by Name - 0589:0000 idle DATASEG@ + 0592:0000 idle DATASEG@ 0000:028B idle DGROUP@ - 0000:2C87 idle F_LXLSH@ - 0000:2CA8 idle F_LXURSH@ - 0000:2CC9 idle F_PADD@ - 0000:2D29 idle F_PSBP@ - 0000:2CF8 idle F_PSUB@ + 0000:2D24 idle F_LXLSH@ + 0000:2D45 idle F_LXURSH@ + 0000:2D66 idle F_PADD@ + 0000:2DC6 idle F_PSBP@ + 0000:2D95 idle F_PSUB@ 0000:028F idle KITTENGETS - 0000:2C87 idle LXLSH@ - 0000:2CA8 idle LXURSH@ - 0000:2C84 N_LXLSH@ - 0000:2CA5 N_LXURSH@ - 0000:2CC6 N_PADD@ - 0000:2F25 N_PCMP@ - 0000:2D26 N_PSBP@ - 0000:2CF5 idle N_PSUB@ - 0000:2CC9 idle PADD@ - 0000:2D29 idle PSBP@ - 0000:2CF8 idle PSUB@ + 0000:2D24 idle LXLSH@ + 0000:2D45 idle LXURSH@ + 0000:2D21 N_LXLSH@ + 0000:2D42 N_LXURSH@ + 0000:2D63 N_PADD@ + 0000:2FC2 N_PCMP@ + 0000:2DC3 N_PSBP@ + 0000:2D92 idle N_PSUB@ + 0000:2D66 idle PADD@ + 0000:2DC6 idle PSBP@ + 0000:2D95 idle PSUB@ 0000:0276 _abort - 0589:10E4 idle _aftersort - 0000:2B51 idle _atexit - 0589:10E6 idle _beforesort - 0000:0EE1 idle _CAL_OptimizeNodes + 0592:10C2 idle _aftersort + 0000:2BEE idle _atexit + 0592:10C4 idle _beforesort + 0000:0EFC idle _CAL_OptimizeNodes 0000:04AF idle _catread - 0000:0D6C _CA_CloseDebug - 0000:0D79 idle _CA_FarRead - 0000:0DB7 idle _CA_FarWrite - 0000:0E5C _CA_LoadFile - 0000:0D4B _CA_OpenDebug - 0000:0DF5 idle _CA_ReadFile - 0000:0F70 _CA_Shutdown - 0000:0F4F _CA_Startup - 0000:2B75 _clock - 0000:4606 _close - 0000:3615 _coreleft - 0000:374B idle _cprintf + 0000:0D87 _CA_CloseDebug + 0000:0D94 idle _CA_FarRead + 0000:0DD2 idle _CA_FarWrite + 0000:0E77 _CA_LoadFile + 0000:0D66 _CA_OpenDebug + 0000:0E10 idle _CA_ReadFile + 0000:0F8B _CA_Shutdown + 0000:0F6A _CA_Startup + 0000:2C12 _clock + 0000:46A3 _close + 0000:36B2 _coreleft + 0000:37E8 idle _cprintf 0000:078D idle _db_fetch 0000:07DD idle _db_insert - 0589:10DE _debughandle - 0589:1059 _directvideo - 0589:10DC idle _drawcachebox - 0589:10A8 _environ - 0589:007F _errno - 0000:2C49 _exit - 0000:3E96 _farcoreleft - 0000:3A6B _farfree - 0000:3B7F _farmalloc - 0000:3CE0 idle _farrealloc - 0000:464A _fclose - 0000:46FA _fflush - 0000:47C0 _filelength - 0000:0FBC idle _filesize - 0589:10D8 idle _finishcachebox - 0000:4801 _flushall - 0000:4A0A _fopen - 0000:4A3F _fprintf - 0000:4F6A idle _fputc - 0000:50F3 idle _fputchar - 0000:3A6B _free - 0000:4ADD _fseek - 0000:4B59 _ftell - 0000:3EE6 _getch - 0000:3EFF idle _getche - 0000:4C33 _getenv - 0000:3F3A _gettext + 0592:10BC _debughandle + 0592:1037 _directvideo + 0592:10BA idle _drawcachebox + 0592:1086 _environ + 0592:007F _errno + 0000:2CE6 _exit + 0000:3F33 _farcoreleft + 0000:3B08 _farfree + 0000:3C1C _farmalloc + 0000:3D7D idle _farrealloc + 0000:46E7 _fclose + 0000:4797 _fflush + 0000:485D _filelength + 0000:0FD7 idle _filesize + 0592:10B6 idle _finishcachebox + 0000:489E _flushall + 0000:4AA7 _fopen + 0000:4ADC _fprintf + 0000:5007 idle _fputc + 0000:5190 idle _fputchar + 0000:3B08 _free + 0000:4B7A _fseek + 0000:4BF6 _ftell + 0000:3F83 _getch + 0000:3F9C idle _getche + 0000:4CD0 _getenv + 0000:3FD7 _gettext 0000:0738 idle _get_line - 0000:0B09 idle _HC_CloseDebug - 0000:0AE8 idle _HC_OpenDebug - 0589:10D6 idle _heaphandle - 0000:3FE6 _ioctl - 0000:2D99 _isatty - 0000:4CA3 idle _itoa - 0000:400F _kbhit + 0000:0B1F idle _HC_CloseDebug + 0000:0AFE idle _HC_OpenDebug + 0592:10B4 idle _heaphandle + 0000:4083 _ioctl + 0000:2E36 _isatty + 0000:4D40 idle _itoa + 0000:40AC _kbhit 0000:0546 idle _kittenclose 0000:02DE idle _kittenopen - 0000:0979 idle _LargestFarFreeBlock + 0000:098F idle _LargestFarFreeBlock 0000:0886 idle _LargestFreeBlock - 0000:2E4C _lseek - 0000:4CEB idle _ltoa - 0000:0B16 _main - 0000:3B75 _malloc - 0000:4D13 _memcpy - 0000:11BF idle _MML_CheckForEMS - 0000:148D idle _MML_CheckForXMS - 0000:1747 idle _MML_ClearBlock - 0000:1204 idle _MML_SetupEMS - 0000:14C4 idle _MML_SetupXMS - 0000:130A idle _MML_ShutdownEMS - 0000:156A idle _MML_ShutdownXMS - 0000:159D idle _MML_UseSpace - 0000:2A47 idle _MM_BombOnError - 0000:24F4 _MM_DumpData - 0000:2AFA idle _MM_FreeBlock - 0000:1F64 _MM_FreePtr - 0000:2A56 idle _MM_GetNewBlock - 0000:1BEB _MM_GetPtr - 0000:134B idle _MM_MapEMS - 0000:13E4 idle _MM_MapXEMS - 0000:273B _MM_Report - 0000:2B4B idle _MM_segude - 0000:2B40 idle _MM_seguin - 0000:2105 idle _MM_SetLock - 0000:203E idle _MM_SetPurge - 0000:2348 _MM_ShowMemory - 0000:1B69 _MM_Shutdown - 0000:21D1 idle _MM_SortMem - 0000:17AD _MM_Startup - 0000:26A2 idle _MM_TotalFree - 0000:2630 idle _MM_UnusedMemory - 0000:4D37 _movedata - 0000:4021 _movetext + 0000:2EE9 _lseek + 0000:4D88 idle _ltoa + 0000:0B2C _main + 0000:3C12 _malloc + 0000:4DB0 _memcpy + 0000:11DA idle _MML_CheckForEMS + 0000:14A8 idle _MML_CheckForXMS + 0000:17D3 idle _MML_ClearBlock + 0000:121F idle _MML_SetupEMS + 0000:14DF idle _MML_SetupXMS + 0000:1325 idle _MML_ShutdownEMS + 0000:1585 idle _MML_ShutdownXMS + 0000:15B8 idle _MML_UseSpace + 0000:2BCE idle _MM_BombOnError + 0000:267B _MM_DumpData + 0000:20A1 _MM_FreePtr + 0000:1CBD _MM_GetPtr + 0000:1366 idle _MM_MapEMS + 0000:13FF idle _MM_MapXEMS + 0000:28C2 _MM_Report + 0000:2BE8 idle _MM_segude + 0000:2BDD idle _MM_seguin + 0000:2267 idle _MM_SetLock + 0000:21A0 idle _MM_SetPurge + 0000:24CF _MM_ShowMemory + 0000:1C3B _MM_Shutdown + 0000:2333 idle _MM_SortMem + 0000:1839 _MM_Startup + 0000:2829 idle _MM_TotalFree + 0000:27B7 idle _MM_UnusedMemory + 0000:4DD4 _movedata + 0000:40BE _movetext 0000:0551 idle _mystrtoul - 0000:4D86 _open - 0000:4F35 _printf - 0000:101B idle _printmeminfoline + 0000:4E23 _open + 0000:4FD2 _printf + 0000:1036 idle _printmeminfoline 0000:05DE idle _processEscChars - 0589:10E0 idle _profilehandle - 0000:40BE _putch - 0000:3F90 _puttext - 0000:53BF _read - 0000:3CD9 idle _realloc - 0000:454D _setblock - 0000:53C2 _setvbuf - 0000:5511 _sprintf - 0000:5554 _strcat - 0000:5593 _strchr - 0000:55D0 _strcmp - 0000:5600 _strcpy - 0000:5629 _strdup - 0000:5669 _strlen - 0000:3027 _tolower - 0000:4CCE _ultoa - 0000:3F1C idle _ungetch - 0000:3053 _unlink - 0589:10DA idle _updatecachebox - 0000:10ED _US_CheckParm - 0000:5533 idle _vsprintf - 0000:0F7D idle _wait - 0000:45C7 idle _wherex - 0000:45D6 idle _wherey - 0000:580D _write - 0589:10E2 idle _XMSaddr + 0592:10BE idle _profilehandle + 0000:415B _putch + 0000:402D _puttext + 0000:545C _read + 0000:3D76 idle _realloc + 0000:45EA _setblock + 0000:545F _setvbuf + 0000:55AE _sprintf + 0000:55F1 _strcat + 0000:5630 _strchr + 0000:566D _strcmp + 0000:569D _strcpy + 0000:56C6 _strdup + 0000:5706 _strlen + 0000:30C4 _tolower + 0000:4D6B _ultoa + 0000:3FB9 idle _ungetch + 0000:30F0 _unlink + 0592:10B8 idle _updatecachebox + 0000:1108 _US_CheckParm + 0000:55D0 idle _vsprintf + 0000:0F98 idle _wait + 0000:4664 idle _wherex + 0000:4673 idle _wherey + 0000:58AA _write + 0592:10C0 idle _XMSaddr 0000:1000 idle __AHINCR 0000:000C idle __AHSHIFT - 0589:1098 __argc - 0589:109A __argv - 0589:0CB0 __atexitcnt - 0589:10E8 __atexittbl - 0000:3DCC __brk - 0589:008B __brklvl - 0589:006B __C0argc - 0589:006D __C0argv - 0000:382D idle __c0crtinit - 0589:0071 __C0environ - 0589:1097 __cChar - 0000:2C6A idle __cexit - 0589:1096 __cFlag + 0592:1076 __argc + 0592:1078 __argv + 0592:0C8E __atexitcnt + 0592:10C6 __atexittbl + 0000:3E69 __brk + 0592:008B __brklvl + 0592:006B __C0argc + 0592:006D __C0argv + 0000:38CA idle __c0crtinit + 0592:0071 __C0environ + 0592:1075 __cChar + 0000:2D07 idle __cexit + 0592:1074 __cFlag 0000:0166 __checknull - 0000:45E9 __chmod + 0000:4686 __chmod 0000:0153 __cleanup - 0000:462C __close - 0000:0906 idle __coreleft - 0000:3619 __CPUTN - 0000:384A idle __crtinit - 0589:0CB2 __ctype + 0000:46C9 __close + 0000:091C idle __coreleft + 0000:36B6 __CPUTN + 0000:38E7 idle __crtinit + 0592:0C90 __ctype 0000:0000 Abs __cvtfak - 0000:2C78 idle __c_exit - 0589:0F78 __doserrno - 0000:2D87 __DOSERROR - 0589:0F7A idle __dosErrorToSV - 0000:2BBE __dos_getfileattr - 0000:2BDE idle __dos_setfileattr - 0589:0075 __envLng - 0589:0077 __envseg - 0589:0079 __envSize - 0000:2C58 __exit - 0589:0DB4 __exitbuf - 0589:0DB6 __exitfopen - 0589:0DB8 idle __exitopen - 0000:0A1B idle __farcoreleft - 0589:0F74 __fmode - 0000:4F50 idle __fputc - 0000:5106 __FPUTN - 0000:49C0 idle __GETFP - 0589:0087 __heapbase - 0589:008F __heaptop - 0589:005B idle __Int0Vector - 0589:005F idle __Int4Vector - 0589:0063 idle __Int5Vector - 0589:0067 idle __Int6Vector - 0000:2D4E __IOERROR - 0589:0094 idle __kitten_catalog - 0000:2DAA __LONGTOA - 0000:2E75 __MKNAME + 0000:2D15 idle __c_exit + 0592:0F56 __doserrno + 0000:2E24 __DOSERROR + 0592:0F58 idle __dosErrorToSV + 0000:2C5B __dos_getfileattr + 0000:2C7B idle __dos_setfileattr + 0592:0075 __envLng + 0592:0077 __envseg + 0592:0079 __envSize + 0000:2CF5 __exit + 0592:0D92 __exitbuf + 0592:0D94 __exitfopen + 0592:0D96 idle __exitopen + 0000:0A31 idle __farcoreleft + 0592:0F52 __fmode + 0000:4FED idle __fputc + 0000:51A3 __FPUTN + 0000:4A5D idle __GETFP + 0592:0087 __heapbase + 0592:008F __heaptop + 0592:005B idle __Int0Vector + 0592:005F idle __Int4Vector + 0592:0063 idle __Int5Vector + 0592:0067 idle __Int6Vector + 0000:2DEB __IOERROR + 0592:0094 idle __kitten_catalog + 0000:2E47 __LONGTOA + 0000:2F12 __MKNAME 0000:028D idle __MMODEL - 0589:0F4A __nfile - 0000:3EFF idle __Ngetche - 0589:0F76 __notUmask - 0000:3F1C idle __Nungetch - 0000:4EE6 __open - 0589:0F4C __openfd - 0000:48F7 idle __OPENFP - 0589:007D __osmajor - 0589:007E idle __osminor - 0589:007D idle __osversion - 0589:007B __psp - 0000:2F46 __read - 0000:40D5 __REALCVT - 0589:10B2 __RealCvtVector + 0592:0F28 __nfile + 0000:3F9C idle __Ngetche + 0592:0F54 __notUmask + 0000:3FB9 idle __Nungetch + 0000:4F83 __open + 0592:0F2A __openfd + 0000:4994 idle __OPENFP + 0592:007D __osmajor + 0592:007E idle __osminor + 0592:007D idle __osversion + 0592:007B __psp + 0000:2FE3 __read + 0000:4172 __REALCVT + 0592:1090 __RealCvtVector 0000:01BC __restorezero - 0000:3E0B __sbrk - 0589:10B4 idle __ScanTodVector - 0000:420F __SCREENIO - 0000:42C2 __SCROLL + 0000:3EA8 __sbrk + 0592:1092 idle __ScanTodVector + 0000:42AC __SCREENIO + 0000:435F __SCROLL 0000:0000 Abs __setargv__ 0000:0000 idle __setenvp__ - 0000:2F75 __setupio - 0589:0081 __StartTime - 0589:0FDE __stklen - 0000:35E5 __stpcpy - 0589:0DBA __streams + 0000:3012 __setupio + 0592:0081 __StartTime + 0592:0FBC __stklen + 0000:3682 __stpcpy + 0592:0D98 __streams 0000:0167 __terminate - 0000:2ECE idle __TMPNAM + 0000:2F6B idle __TMPNAM 0000:0000 idle __turboCrt - 0000:2E2C __UTOA - 0000:424B __VALIDATEXY - 0589:007D idle __version - 0589:104A __video - 0000:37A2 __VideoInt - 0000:3083 __VPRINTER - 0000:3546 __VPTR - 0000:356B __VRAM - 0000:45BD __wherexy - 0000:57D1 __write - 0589:1048 __wscroll - 0000:5810 __xfclose - 0000:584B __xfflush - 0589:0085 idle ___brklvl - 0000:392B idle ___first - 0000:392D idle ___last - 0000:52F4 ___read - 0000:392F idle ___rover - 0000:5688 ___write + 0000:2EC9 __UTOA + 0000:42E8 __VALIDATEXY + 0592:007D idle __version + 0592:1028 __video + 0000:383F __VideoInt + 0000:3120 __VPRINTER + 0000:35E3 __VPTR + 0000:3608 __VRAM + 0000:465A __wherexy + 0000:586E __write + 0592:1026 __wscroll + 0000:58AD __xfclose + 0000:58E8 __xfflush + 0592:0085 idle ___brklvl + 0000:39C8 idle ___first + 0000:39CA idle ___last + 0000:5391 ___read + 0000:39CC idle ___rover + 0000:5725 ___write Address Publics by Value @@ -529,228 +527,226 @@ Detailed map of segments 0000:078D idle _db_fetch 0000:07DD idle _db_insert 0000:0886 idle _LargestFreeBlock - 0000:0906 idle __coreleft - 0000:0979 idle _LargestFarFreeBlock - 0000:0A1B idle __farcoreleft - 0000:0AE8 idle _HC_OpenDebug - 0000:0B09 idle _HC_CloseDebug - 0000:0B16 _main - 0000:0D4B _CA_OpenDebug - 0000:0D6C _CA_CloseDebug - 0000:0D79 idle _CA_FarRead - 0000:0DB7 idle _CA_FarWrite - 0000:0DF5 idle _CA_ReadFile - 0000:0E5C _CA_LoadFile - 0000:0EE1 idle _CAL_OptimizeNodes - 0000:0F4F _CA_Startup - 0000:0F70 _CA_Shutdown - 0000:0F7D idle _wait - 0000:0FBC idle _filesize + 0000:091C idle __coreleft + 0000:098F idle _LargestFarFreeBlock + 0000:0A31 idle __farcoreleft + 0000:0AFE idle _HC_OpenDebug + 0000:0B1F idle _HC_CloseDebug + 0000:0B2C _main + 0000:0D66 _CA_OpenDebug + 0000:0D87 _CA_CloseDebug + 0000:0D94 idle _CA_FarRead + 0000:0DD2 idle _CA_FarWrite + 0000:0E10 idle _CA_ReadFile + 0000:0E77 _CA_LoadFile + 0000:0EFC idle _CAL_OptimizeNodes + 0000:0F6A _CA_Startup + 0000:0F8B _CA_Shutdown + 0000:0F98 idle _wait + 0000:0FD7 idle _filesize 0000:1000 idle __AHINCR - 0000:101B idle _printmeminfoline - 0000:10ED _US_CheckParm - 0000:11BF idle _MML_CheckForEMS - 0000:1204 idle _MML_SetupEMS - 0000:130A idle _MML_ShutdownEMS - 0000:134B idle _MM_MapEMS - 0000:13E4 idle _MM_MapXEMS - 0000:148D idle _MML_CheckForXMS - 0000:14C4 idle _MML_SetupXMS - 0000:156A idle _MML_ShutdownXMS - 0000:159D idle _MML_UseSpace - 0000:1747 idle _MML_ClearBlock - 0000:17AD _MM_Startup - 0000:1B69 _MM_Shutdown - 0000:1BEB _MM_GetPtr - 0000:1F64 _MM_FreePtr - 0000:203E idle _MM_SetPurge - 0000:2105 idle _MM_SetLock - 0000:21D1 idle _MM_SortMem - 0000:2348 _MM_ShowMemory - 0000:24F4 _MM_DumpData - 0000:2630 idle _MM_UnusedMemory - 0000:26A2 idle _MM_TotalFree - 0000:273B _MM_Report - 0000:2A47 idle _MM_BombOnError - 0000:2A56 idle _MM_GetNewBlock - 0000:2AFA idle _MM_FreeBlock - 0000:2B40 idle _MM_seguin - 0000:2B4B idle _MM_segude - 0000:2B51 idle _atexit - 0000:2B75 _clock - 0000:2BBE __dos_getfileattr - 0000:2BDE idle __dos_setfileattr - 0000:2C49 _exit - 0000:2C58 __exit - 0000:2C6A idle __cexit - 0000:2C78 idle __c_exit - 0000:2C84 N_LXLSH@ - 0000:2C87 idle LXLSH@ - 0000:2C87 idle F_LXLSH@ - 0000:2CA5 N_LXURSH@ - 0000:2CA8 idle LXURSH@ - 0000:2CA8 idle F_LXURSH@ - 0000:2CC6 N_PADD@ - 0000:2CC9 idle F_PADD@ - 0000:2CC9 idle PADD@ - 0000:2CF5 idle N_PSUB@ - 0000:2CF8 idle F_PSUB@ - 0000:2CF8 idle PSUB@ - 0000:2D26 N_PSBP@ - 0000:2D29 idle PSBP@ - 0000:2D29 idle F_PSBP@ - 0000:2D4E __IOERROR - 0000:2D87 __DOSERROR - 0000:2D99 _isatty - 0000:2DAA __LONGTOA - 0000:2E2C __UTOA - 0000:2E4C _lseek - 0000:2E75 __MKNAME - 0000:2ECE idle __TMPNAM - 0000:2F25 N_PCMP@ - 0000:2F46 __read - 0000:2F75 __setupio - 0000:3027 _tolower - 0000:3053 _unlink - 0000:3083 __VPRINTER - 0000:3546 __VPTR - 0000:356B __VRAM - 0000:35E5 __stpcpy - 0000:3615 _coreleft - 0000:3619 __CPUTN - 0000:374B idle _cprintf - 0000:37A2 __VideoInt - 0000:382D idle __c0crtinit - 0000:384A idle __crtinit - 0000:392B idle ___first - 0000:392D idle ___last - 0000:392F idle ___rover - 0000:3A6B _free - 0000:3A6B _farfree - 0000:3B75 _malloc - 0000:3B7F _farmalloc - 0000:3CD9 idle _realloc - 0000:3CE0 idle _farrealloc - 0000:3DCC __brk - 0000:3E0B __sbrk - 0000:3E96 _farcoreleft - 0000:3EE6 _getch - 0000:3EFF idle __Ngetche - 0000:3EFF idle _getche - 0000:3F1C idle __Nungetch - 0000:3F1C idle _ungetch - 0000:3F3A _gettext - 0000:3F90 _puttext - 0000:3FE6 _ioctl - 0000:400F _kbhit - 0000:4021 _movetext - 0000:40BE _putch - 0000:40D5 __REALCVT - 0000:420F __SCREENIO - 0000:424B __VALIDATEXY - 0000:42C2 __SCROLL - 0000:454D _setblock - 0000:45BD __wherexy - 0000:45C7 idle _wherex - 0000:45D6 idle _wherey - 0000:45E9 __chmod - 0000:4606 _close - 0000:462C __close - 0000:464A _fclose - 0000:46FA _fflush - 0000:47C0 _filelength - 0000:4801 _flushall - 0000:48F7 idle __OPENFP - 0000:49C0 idle __GETFP - 0000:4A0A _fopen - 0000:4A3F _fprintf - 0000:4ADD _fseek - 0000:4B59 _ftell - 0000:4C33 _getenv - 0000:4CA3 idle _itoa - 0000:4CCE _ultoa - 0000:4CEB idle _ltoa - 0000:4D13 _memcpy - 0000:4D37 _movedata - 0000:4D86 _open - 0000:4EE6 __open - 0000:4F35 _printf - 0000:4F50 idle __fputc - 0000:4F6A idle _fputc - 0000:50F3 idle _fputchar - 0000:5106 __FPUTN - 0000:52F4 ___read - 0000:53BF _read - 0000:53C2 _setvbuf - 0000:5511 _sprintf - 0000:5533 idle _vsprintf - 0000:5554 _strcat - 0000:5593 _strchr - 0000:55D0 _strcmp - 0000:5600 _strcpy - 0000:5629 _strdup - 0000:5669 _strlen - 0000:5688 ___write - 0000:57D1 __write - 0000:580D _write - 0000:5810 __xfclose - 0000:584B __xfflush - 0589:0000 idle DATASEG@ - 0589:005B idle __Int0Vector - 0589:005F idle __Int4Vector - 0589:0063 idle __Int5Vector - 0589:0067 idle __Int6Vector - 0589:006B __C0argc - 0589:006D __C0argv - 0589:0071 __C0environ - 0589:0075 __envLng - 0589:0077 __envseg - 0589:0079 __envSize - 0589:007B __psp - 0589:007D idle __osversion - 0589:007D __osmajor - 0589:007D idle __version - 0589:007E idle __osminor - 0589:007F _errno - 0589:0081 __StartTime - 0589:0085 idle ___brklvl - 0589:0087 __heapbase - 0589:008B __brklvl - 0589:008F __heaptop - 0589:0094 idle __kitten_catalog - 0589:0CB0 __atexitcnt - 0589:0CB2 __ctype - 0589:0DB4 __exitbuf - 0589:0DB6 __exitfopen - 0589:0DB8 idle __exitopen - 0589:0DBA __streams - 0589:0F4A __nfile - 0589:0F4C __openfd - 0589:0F74 __fmode - 0589:0F76 __notUmask - 0589:0F78 __doserrno - 0589:0F7A idle __dosErrorToSV - 0589:0FDE __stklen - 0589:1048 __wscroll - 0589:104A __video - 0589:1059 _directvideo - 0589:1096 __cFlag - 0589:1097 __cChar - 0589:1098 __argc - 0589:109A __argv - 0589:10A8 _environ - 0589:10B2 __RealCvtVector - 0589:10B4 idle __ScanTodVector - 0589:10D6 idle _heaphandle - 0589:10D8 idle _finishcachebox - 0589:10DA idle _updatecachebox - 0589:10DC idle _drawcachebox - 0589:10DE _debughandle - 0589:10E0 idle _profilehandle - 0589:10E2 idle _XMSaddr - 0589:10E4 idle _aftersort - 0589:10E6 idle _beforesort - 0589:10E8 __atexittbl + 0000:1036 idle _printmeminfoline + 0000:1108 _US_CheckParm + 0000:11DA idle _MML_CheckForEMS + 0000:121F idle _MML_SetupEMS + 0000:1325 idle _MML_ShutdownEMS + 0000:1366 idle _MM_MapEMS + 0000:13FF idle _MM_MapXEMS + 0000:14A8 idle _MML_CheckForXMS + 0000:14DF idle _MML_SetupXMS + 0000:1585 idle _MML_ShutdownXMS + 0000:15B8 idle _MML_UseSpace + 0000:17D3 idle _MML_ClearBlock + 0000:1839 _MM_Startup + 0000:1C3B _MM_Shutdown + 0000:1CBD _MM_GetPtr + 0000:20A1 _MM_FreePtr + 0000:21A0 idle _MM_SetPurge + 0000:2267 idle _MM_SetLock + 0000:2333 idle _MM_SortMem + 0000:24CF _MM_ShowMemory + 0000:267B _MM_DumpData + 0000:27B7 idle _MM_UnusedMemory + 0000:2829 idle _MM_TotalFree + 0000:28C2 _MM_Report + 0000:2BCE idle _MM_BombOnError + 0000:2BDD idle _MM_seguin + 0000:2BE8 idle _MM_segude + 0000:2BEE idle _atexit + 0000:2C12 _clock + 0000:2C5B __dos_getfileattr + 0000:2C7B idle __dos_setfileattr + 0000:2CE6 _exit + 0000:2CF5 __exit + 0000:2D07 idle __cexit + 0000:2D15 idle __c_exit + 0000:2D21 N_LXLSH@ + 0000:2D24 idle LXLSH@ + 0000:2D24 idle F_LXLSH@ + 0000:2D42 N_LXURSH@ + 0000:2D45 idle LXURSH@ + 0000:2D45 idle F_LXURSH@ + 0000:2D63 N_PADD@ + 0000:2D66 idle F_PADD@ + 0000:2D66 idle PADD@ + 0000:2D92 idle N_PSUB@ + 0000:2D95 idle F_PSUB@ + 0000:2D95 idle PSUB@ + 0000:2DC3 N_PSBP@ + 0000:2DC6 idle PSBP@ + 0000:2DC6 idle F_PSBP@ + 0000:2DEB __IOERROR + 0000:2E24 __DOSERROR + 0000:2E36 _isatty + 0000:2E47 __LONGTOA + 0000:2EC9 __UTOA + 0000:2EE9 _lseek + 0000:2F12 __MKNAME + 0000:2F6B idle __TMPNAM + 0000:2FC2 N_PCMP@ + 0000:2FE3 __read + 0000:3012 __setupio + 0000:30C4 _tolower + 0000:30F0 _unlink + 0000:3120 __VPRINTER + 0000:35E3 __VPTR + 0000:3608 __VRAM + 0000:3682 __stpcpy + 0000:36B2 _coreleft + 0000:36B6 __CPUTN + 0000:37E8 idle _cprintf + 0000:383F __VideoInt + 0000:38CA idle __c0crtinit + 0000:38E7 idle __crtinit + 0000:39C8 idle ___first + 0000:39CA idle ___last + 0000:39CC idle ___rover + 0000:3B08 _free + 0000:3B08 _farfree + 0000:3C12 _malloc + 0000:3C1C _farmalloc + 0000:3D76 idle _realloc + 0000:3D7D idle _farrealloc + 0000:3E69 __brk + 0000:3EA8 __sbrk + 0000:3F33 _farcoreleft + 0000:3F83 _getch + 0000:3F9C idle __Ngetche + 0000:3F9C idle _getche + 0000:3FB9 idle __Nungetch + 0000:3FB9 idle _ungetch + 0000:3FD7 _gettext + 0000:402D _puttext + 0000:4083 _ioctl + 0000:40AC _kbhit + 0000:40BE _movetext + 0000:415B _putch + 0000:4172 __REALCVT + 0000:42AC __SCREENIO + 0000:42E8 __VALIDATEXY + 0000:435F __SCROLL + 0000:45EA _setblock + 0000:465A __wherexy + 0000:4664 idle _wherex + 0000:4673 idle _wherey + 0000:4686 __chmod + 0000:46A3 _close + 0000:46C9 __close + 0000:46E7 _fclose + 0000:4797 _fflush + 0000:485D _filelength + 0000:489E _flushall + 0000:4994 idle __OPENFP + 0000:4A5D idle __GETFP + 0000:4AA7 _fopen + 0000:4ADC _fprintf + 0000:4B7A _fseek + 0000:4BF6 _ftell + 0000:4CD0 _getenv + 0000:4D40 idle _itoa + 0000:4D6B _ultoa + 0000:4D88 idle _ltoa + 0000:4DB0 _memcpy + 0000:4DD4 _movedata + 0000:4E23 _open + 0000:4F83 __open + 0000:4FD2 _printf + 0000:4FED idle __fputc + 0000:5007 idle _fputc + 0000:5190 idle _fputchar + 0000:51A3 __FPUTN + 0000:5391 ___read + 0000:545C _read + 0000:545F _setvbuf + 0000:55AE _sprintf + 0000:55D0 idle _vsprintf + 0000:55F1 _strcat + 0000:5630 _strchr + 0000:566D _strcmp + 0000:569D _strcpy + 0000:56C6 _strdup + 0000:5706 _strlen + 0000:5725 ___write + 0000:586E __write + 0000:58AA _write + 0000:58AD __xfclose + 0000:58E8 __xfflush + 0592:0000 idle DATASEG@ + 0592:005B idle __Int0Vector + 0592:005F idle __Int4Vector + 0592:0063 idle __Int5Vector + 0592:0067 idle __Int6Vector + 0592:006B __C0argc + 0592:006D __C0argv + 0592:0071 __C0environ + 0592:0075 __envLng + 0592:0077 __envseg + 0592:0079 __envSize + 0592:007B __psp + 0592:007D idle __osversion + 0592:007D __osmajor + 0592:007D idle __version + 0592:007E idle __osminor + 0592:007F _errno + 0592:0081 __StartTime + 0592:0085 idle ___brklvl + 0592:0087 __heapbase + 0592:008B __brklvl + 0592:008F __heaptop + 0592:0094 idle __kitten_catalog + 0592:0C8E __atexitcnt + 0592:0C90 __ctype + 0592:0D92 __exitbuf + 0592:0D94 __exitfopen + 0592:0D96 idle __exitopen + 0592:0D98 __streams + 0592:0F28 __nfile + 0592:0F2A __openfd + 0592:0F52 __fmode + 0592:0F54 __notUmask + 0592:0F56 __doserrno + 0592:0F58 idle __dosErrorToSV + 0592:0FBC __stklen + 0592:1026 __wscroll + 0592:1028 __video + 0592:1037 _directvideo + 0592:1074 __cFlag + 0592:1075 __cChar + 0592:1076 __argc + 0592:1078 __argv + 0592:1086 _environ + 0592:1090 __RealCvtVector + 0592:1092 idle __ScanTodVector + 0592:10B4 idle _heaphandle + 0592:10B6 idle _finishcachebox + 0592:10B8 idle _updatecachebox + 0592:10BA idle _drawcachebox + 0592:10BC _debughandle + 0592:10BE idle _profilehandle + 0592:10C0 idle _XMSaddr + 0592:10C2 idle _aftersort + 0592:10C4 idle _beforesort + 0592:10C6 __atexittbl Program entry point at 0000:0000 diff --git a/16/exmmtest/EXMMTEST.PRJ b/16/exmmtest/EXMMTEST.PRJ index 752cc1cf..339ef6f0 100644 Binary files a/16/exmmtest/EXMMTEST.PRJ and b/16/exmmtest/EXMMTEST.PRJ differ diff --git a/16/exmmtest/src/exmmtest.c b/16/exmmtest/src/exmmtest.c index c93e902a..828bbc69 100644 --- a/16/exmmtest/src/exmmtest.c +++ b/16/exmmtest/src/exmmtest.c @@ -56,6 +56,7 @@ main(int argc, char *argv[]) #endif //static page_t screen; + argc=argc; printf("&main()= %Fp\n", *argv[0]); printf("bigbuffer= %Fp\n", bigbuffer); printf("&bigbuffer= %Fp\n", &bigbuffer); diff --git a/16/exmmtest/src/lib/16_hc.c b/16/exmmtest/src/lib/16_hc.c index df9602d8..a904560a 100644 --- a/16/exmmtest/src/lib/16_hc.c +++ b/16/exmmtest/src/lib/16_hc.c @@ -27,10 +27,20 @@ int heaphandle; +#ifdef __BORLANDC__ +void * LargestFreeBlock(size_t* Size) +#endif +#ifdef __WATCOMC__ void __near* LargestFreeBlock(size_t* Size) +#endif { size_t s0, s1; +#ifdef __BORLANDC__ + void * p; +#endif +#ifdef __WATCOMC__ void __near* p; +#endif s0 = ~(size_t)0 ^ (~(size_t)0 >> 1); #ifdef __BORLANDC__ diff --git a/16/exmmtest/src/lib/16_hc.h b/16/exmmtest/src/lib/16_hc.h index d9677d10..db0265a8 100644 --- a/16/exmmtest/src/lib/16_hc.h +++ b/16/exmmtest/src/lib/16_hc.h @@ -30,7 +30,12 @@ extern int heaphandle; +#ifdef __BORLANDC__ +void * LargestFreeBlock(size_t* Size); +#endif +#ifdef __WATCOMC__ void __near* LargestFreeBlock(size_t* Size); +#endif size_t _coreleft(void); void far* LargestFarFreeBlock(size_t* Size); size_t _farcoreleft(void); diff --git a/16/exmmtest/src/lib/16_mm.c b/16/exmmtest/src/lib/16_mm.c index 90439b1d..9b4c475a 100644 --- a/16/exmmtest/src/lib/16_mm.c +++ b/16/exmmtest/src/lib/16_mm.c @@ -632,7 +632,7 @@ printf("seglen=%lu\n", seglength); if(segstart == scan->start) { last->next = scan->next; // unlink block - MM_FreeBlock(scan, mm); + FREEBLOCK(scan); scan = last; } else @@ -642,7 +642,8 @@ printf("seglen=%lu\n", seglength); if(extra > 0) { - MM_GetNewBlock(mm); + //MM_GetNewBlock(mm); + GETNEWBLOCK; mm->mmnew->next = scan->next; scan->next = mm->mmnew; mm->mmnew->start = segstart+seglength; @@ -728,7 +729,8 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) // locked block of all memory until we punch out free space // //printf(" newblock making!\n"); - MM_GetNewBlock(mm); + //MM_GetNewBlock(mm); + GETNEWBLOCK; mm->mmhead = mm->mmnew; // this will allways be the first node mm->mmnew->start = 0; mm->mmnew->length = 0xffff; @@ -743,11 +745,11 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) #ifdef __WATCOMC__ _nheapgrow(); length=(dword)_memmax();//(dword)GetFreeSize(); - start = (void huge *)(mm->nearheap = _nmalloc(length)); + start = (mm->nearheap = (void huge *)_nmalloc(length)); #endif #ifdef __BORLANDC__ length=coreleft(); - start = (void huge *)(mm->nearheap = malloc(length)); + start = (mm->nearheap = malloc(length)); #endif length -= 16-(FP_OFF(start)&15); length -= SAVENEARHEAP; @@ -922,7 +924,8 @@ void MM_GetPtr(memptr *baseptr,dword size, mminfo_t *mm, mminfotype *mmi) needed = (size+15)/16; // convert size from bytes to paragraphs printf("."); //0000 - MM_GetNewBlock(mm); // fill in start and next after a spot is found + //MM_GetNewBlock(mm); + GETNEWBLOCK; // fill in start and next after a spot is found mm->mmnew->length = needed; mm->mmnew->useptr = baseptr; mm->mmnew->attributes = BASEATTRIBUTES; @@ -981,7 +984,8 @@ printf("."); //0000 { // free the purgable block printf(" freeing block~\n"); //0000 next = purge->next; - MM_FreeBlock(purge, mm); + FREEBLOCK(purge); + //MM_FreeBlock(purge, mm); purge = next; // purge another if not at scan } mm->mmrover = mm->mmnew; @@ -1056,7 +1060,8 @@ void MM_FreePtr(memptr *baseptr, mminfo_t *mm) last->next = scan->next; - MM_FreeBlock(scan, mm); + FREEBLOCK(scan); + //MM_FreeBlock(scan, mm); } //========================================================================== @@ -1201,7 +1206,8 @@ void MM_SortMem(mminfo_t *mm) // throw out the purgable block // next = scan->next; - MM_FreeBlock(scan, mm); + FREEBLOCK(scan); + //MM_FreeBlock(scan, mm); last->next = next; scan = next; continue; @@ -1372,7 +1378,7 @@ CA_CloseDebug (); void MM_DumpData(mminfo_t *mm) { - mmblocktype far *scan,far *best; + mmblocktype huge *scan,huge *best; long lowest,oldlowest; word owner; byte lock,purge; @@ -1670,7 +1676,7 @@ void MM_BombOnError(boolean bomb, mminfo_t *mm) mm->bombonerror = bomb; } -void MM_GetNewBlock(mminfo_t *mm) +/*void MM_GetNewBlock(mminfo_t *mm) { if(!mm->mmfree) MML_ClearBlock(mm); @@ -1691,7 +1697,7 @@ void MM_FreeBlock(mmblocktype *x, mminfo_t *mm) x->next=mm->mmfree; mm->mmfree=x; mm->endid--; //end of list -} +}*/ void MM_seguin(void) { diff --git a/16/exmmtest/src/lib/16_mm.h b/16/exmmtest/src/lib/16_mm.h index 8d3c09fe..7425fc93 100644 --- a/16/exmmtest/src/lib/16_mm.h +++ b/16/exmmtest/src/lib/16_mm.h @@ -36,6 +36,11 @@ #define OUT_OF_MEM_MSG "\npee\n" #endif +//#define GETNEWBLOCK {if(!(mmnew=mmfree))Quit("MM_GETNEWBLOCK: No free blocks!") ;mmfree=mmfree->next;} +#define GETNEWBLOCK {if(!mm->mmfree)MML_ClearBlock(mm);mm->mmnew=mm->mmfree;mm->mmfree=mm->mmfree->next;} + +#define FREEBLOCK(x) {*x->useptr=NULL;x->next=mm->mmfree;mm->mmfree=x;} + #define SAVENEARHEAP 0//_memavl()/4 // space to leave in data segment #define SAVEFARHEAP 0//x400 // space to leave in far heap @@ -186,8 +191,8 @@ dword MM_TotalFree(mminfo_t *mm); void MM_Report(/*page_t *page, */mminfo_t *mm, mminfotype *mmi); static void MM_EMSerr(byte *stri, byte err); void MM_BombOnError(boolean bomb, mminfo_t *mm); -void MM_GetNewBlock(mminfo_t *mm); -void MM_FreeBlock(mmblocktype *x, mminfo_t *mm); +//void MM_GetNewBlock(mminfo_t *mm); +//void MM_FreeBlock(mmblocktype *x, mminfo_t *mm); //========================================================================== diff --git a/exmmtest.exe b/exmmtest.exe index 25791ee7..248516e8 100644 Binary files a/exmmtest.exe and b/exmmtest.exe differ diff --git a/src/exmmtest.c b/src/exmmtest.c index c93e902a..828bbc69 100644 --- a/src/exmmtest.c +++ b/src/exmmtest.c @@ -56,6 +56,7 @@ main(int argc, char *argv[]) #endif //static page_t screen; + argc=argc; printf("&main()= %Fp\n", *argv[0]); printf("bigbuffer= %Fp\n", bigbuffer); printf("&bigbuffer= %Fp\n", &bigbuffer); diff --git a/src/lib/16_hc.c b/src/lib/16_hc.c index df9602d8..a904560a 100644 --- a/src/lib/16_hc.c +++ b/src/lib/16_hc.c @@ -27,10 +27,20 @@ int heaphandle; +#ifdef __BORLANDC__ +void * LargestFreeBlock(size_t* Size) +#endif +#ifdef __WATCOMC__ void __near* LargestFreeBlock(size_t* Size) +#endif { size_t s0, s1; +#ifdef __BORLANDC__ + void * p; +#endif +#ifdef __WATCOMC__ void __near* p; +#endif s0 = ~(size_t)0 ^ (~(size_t)0 >> 1); #ifdef __BORLANDC__ diff --git a/src/lib/16_hc.h b/src/lib/16_hc.h index d9677d10..db0265a8 100644 --- a/src/lib/16_hc.h +++ b/src/lib/16_hc.h @@ -30,7 +30,12 @@ extern int heaphandle; +#ifdef __BORLANDC__ +void * LargestFreeBlock(size_t* Size); +#endif +#ifdef __WATCOMC__ void __near* LargestFreeBlock(size_t* Size); +#endif size_t _coreleft(void); void far* LargestFarFreeBlock(size_t* Size); size_t _farcoreleft(void); diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index 90439b1d..9b4c475a 100644 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -632,7 +632,7 @@ printf("seglen=%lu\n", seglength); if(segstart == scan->start) { last->next = scan->next; // unlink block - MM_FreeBlock(scan, mm); + FREEBLOCK(scan); scan = last; } else @@ -642,7 +642,8 @@ printf("seglen=%lu\n", seglength); if(extra > 0) { - MM_GetNewBlock(mm); + //MM_GetNewBlock(mm); + GETNEWBLOCK; mm->mmnew->next = scan->next; scan->next = mm->mmnew; mm->mmnew->start = segstart+seglength; @@ -728,7 +729,8 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) // locked block of all memory until we punch out free space // //printf(" newblock making!\n"); - MM_GetNewBlock(mm); + //MM_GetNewBlock(mm); + GETNEWBLOCK; mm->mmhead = mm->mmnew; // this will allways be the first node mm->mmnew->start = 0; mm->mmnew->length = 0xffff; @@ -743,11 +745,11 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) #ifdef __WATCOMC__ _nheapgrow(); length=(dword)_memmax();//(dword)GetFreeSize(); - start = (void huge *)(mm->nearheap = _nmalloc(length)); + start = (mm->nearheap = (void huge *)_nmalloc(length)); #endif #ifdef __BORLANDC__ length=coreleft(); - start = (void huge *)(mm->nearheap = malloc(length)); + start = (mm->nearheap = malloc(length)); #endif length -= 16-(FP_OFF(start)&15); length -= SAVENEARHEAP; @@ -922,7 +924,8 @@ void MM_GetPtr(memptr *baseptr,dword size, mminfo_t *mm, mminfotype *mmi) needed = (size+15)/16; // convert size from bytes to paragraphs printf("."); //0000 - MM_GetNewBlock(mm); // fill in start and next after a spot is found + //MM_GetNewBlock(mm); + GETNEWBLOCK; // fill in start and next after a spot is found mm->mmnew->length = needed; mm->mmnew->useptr = baseptr; mm->mmnew->attributes = BASEATTRIBUTES; @@ -981,7 +984,8 @@ printf("."); //0000 { // free the purgable block printf(" freeing block~\n"); //0000 next = purge->next; - MM_FreeBlock(purge, mm); + FREEBLOCK(purge); + //MM_FreeBlock(purge, mm); purge = next; // purge another if not at scan } mm->mmrover = mm->mmnew; @@ -1056,7 +1060,8 @@ void MM_FreePtr(memptr *baseptr, mminfo_t *mm) last->next = scan->next; - MM_FreeBlock(scan, mm); + FREEBLOCK(scan); + //MM_FreeBlock(scan, mm); } //========================================================================== @@ -1201,7 +1206,8 @@ void MM_SortMem(mminfo_t *mm) // throw out the purgable block // next = scan->next; - MM_FreeBlock(scan, mm); + FREEBLOCK(scan); + //MM_FreeBlock(scan, mm); last->next = next; scan = next; continue; @@ -1372,7 +1378,7 @@ CA_CloseDebug (); void MM_DumpData(mminfo_t *mm) { - mmblocktype far *scan,far *best; + mmblocktype huge *scan,huge *best; long lowest,oldlowest; word owner; byte lock,purge; @@ -1670,7 +1676,7 @@ void MM_BombOnError(boolean bomb, mminfo_t *mm) mm->bombonerror = bomb; } -void MM_GetNewBlock(mminfo_t *mm) +/*void MM_GetNewBlock(mminfo_t *mm) { if(!mm->mmfree) MML_ClearBlock(mm); @@ -1691,7 +1697,7 @@ void MM_FreeBlock(mmblocktype *x, mminfo_t *mm) x->next=mm->mmfree; mm->mmfree=x; mm->endid--; //end of list -} +}*/ void MM_seguin(void) { diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index 8d3c09fe..7425fc93 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -36,6 +36,11 @@ #define OUT_OF_MEM_MSG "\npee\n" #endif +//#define GETNEWBLOCK {if(!(mmnew=mmfree))Quit("MM_GETNEWBLOCK: No free blocks!") ;mmfree=mmfree->next;} +#define GETNEWBLOCK {if(!mm->mmfree)MML_ClearBlock(mm);mm->mmnew=mm->mmfree;mm->mmfree=mm->mmfree->next;} + +#define FREEBLOCK(x) {*x->useptr=NULL;x->next=mm->mmfree;mm->mmfree=x;} + #define SAVENEARHEAP 0//_memavl()/4 // space to leave in data segment #define SAVEFARHEAP 0//x400 // space to leave in far heap @@ -186,8 +191,8 @@ dword MM_TotalFree(mminfo_t *mm); void MM_Report(/*page_t *page, */mminfo_t *mm, mminfotype *mmi); static void MM_EMSerr(byte *stri, byte err); void MM_BombOnError(boolean bomb, mminfo_t *mm); -void MM_GetNewBlock(mminfo_t *mm); -void MM_FreeBlock(mmblocktype *x, mminfo_t *mm); +//void MM_GetNewBlock(mminfo_t *mm); +//void MM_FreeBlock(mmblocktype *x, mminfo_t *mm); //==========================================================================