]> 4ch.mooo.com Git - 16.git/commitdiff
OK i got the borland C version of exmmtest.exe to compile and it dose not go BOOM...
authorsparky4 <sparky4@cock.li>
Wed, 29 Jul 2015 16:24:43 +0000 (11:24 -0500)
committersparky4 <sparky4@cock.li>
Wed, 29 Jul 2015 16:24:43 +0000 (11:24 -0500)
modified:   16.hed
modified:   16/exmmtest/16_ca.c
modified:   16/exmmtest/16_head.h
modified:   16/exmmtest/16_mm.c
modified:   16/exmmtest/16_mm.h
modified:   16/exmmtest/EXMMTEST.DSK
new file:   16/exmmtest/EXMMTEST.EXE
modified:   16/exmmtest/EXMMTEST.MAP
modified:   16/exmmtest/EXMMTEST.PRJ
renamed:    PROFILE.16 -> 16/exmmtest/MMDUMP.16
new file:   16/exmmtest/PROFILE.16
modified:   16/exmmtest/exmmtest.c
modified:   16/segm/WPEE
modified:   16/segm/pee.c
modified:   16/segm/pee.exe
deleted:    DEBUG.16
deleted:    MMDUMP.16
modified:   exmmtest.exe
modified:   src/exmmtest.c
modified:   src/lib/16_ca.c
modified:   src/lib/16_ca.h
modified:   src/lib/16_head.h

22 files changed:
16.hed
16/exmmtest/16_ca.c
16/exmmtest/16_head.h
16/exmmtest/16_mm.c
16/exmmtest/16_mm.h
16/exmmtest/EXMMTEST.DSK
16/exmmtest/EXMMTEST.EXE [new file with mode: 0644]
16/exmmtest/EXMMTEST.MAP
16/exmmtest/EXMMTEST.PRJ
16/exmmtest/MMDUMP.16 [moved from PROFILE.16 with 100% similarity]
16/exmmtest/PROFILE.16 [new file with mode: 0644]
16/exmmtest/exmmtest.c
16/segm/WPEE
16/segm/pee.c
16/segm/pee.exe
DEBUG.16 [deleted file]
MMDUMP.16 [deleted file]
exmmtest.exe
src/exmmtest.c
src/lib/16_ca.c
src/lib/16_ca.h
src/lib/16_head.h

diff --git a/16.hed b/16.hed
index 6814787e9899c385b679ad06b6fc02d0ef866272..9ee3884070db330ef9688838897e02e89f55e6cd 100644 (file)
Binary files a/16.hed and b/16.hed differ
index 46a295657b3912be31ee7811000b504126bfc586..1783f87a5e1ff81e822ec73c139e13884132f985 100644 (file)
@@ -232,8 +232,7 @@ boolean CA_FarRead(int handle, byte huge *dest, dword length, mminfo_t *mm)
 
        if(!fat&&!segm)
        {*/\r
-               __asm\r
-               {\r
+               __asm {\r
                        push    ds\r
                        mov     bx,[handle]\r
                        mov     cx,[WORD PTR length]\r
@@ -245,17 +244,21 @@ boolean CA_FarRead(int handle, byte huge *dest, dword length, mminfo_t *mm)
                        jnc     good\r
                        mov     errno,ax\r
                        mov     flag,0\r
-                       jmp End\r
-good:\r
+                       jmp End
+               }\r
+good:
+               __asm {\r
                        cmp     ax,[WORD PTR length]\r
                        je      done\r
 //                     errno = EINVFMT;                        // user manager knows this is bad read\r
                        mov     flag,0\r
-                       jmp End\r
-done:\r
-                       mov     flag,1\r
-End:\r
+                       jmp End
+               }\r
+done:
+               __asm {\r
+                       mov     flag,1
                }\r
+End:\r
        return flag;
        //}else return 0;//todo: EXPAND!!!\r
 }\r
@@ -288,8 +291,7 @@ boolean CA_FarWrite(int handle, byte huge *source, dword length, mminfo_t *mm)
 
        if(!fat&&!segm)
        {*/\r
-               __asm\r
-               {\r
+               __asm {\r
                        push    ds\r
                        mov     bx,[handle]\r
                        mov     cx,[WORD PTR length]\r
@@ -301,17 +303,21 @@ boolean CA_FarWrite(int handle, byte huge *source, dword length, mminfo_t *mm)
                        jnc     good\r
                        mov     errno,ax\r
                        mov flag,0\r
-                       jmp End\r
-good:\r
+                       jmp End
+               }\r
+good:
+               __asm {\r
                        cmp     ax,[WORD PTR length]\r
                        je      done\r
                        //errno = ENOMEM;                               // user manager knows this is bad write\r
                        mov     flag,0\r
-                       jmp End\r
-done:\r
-                       mov     flag,1\r
-End:\r
+                       jmp End
+               }\r
+done:
+               __asm {\r
+                       mov     flag,1
                }\r
+End:\r
        return flag;
        //}else return 0;\r
 }\r
index 7e75ce359bee4bdc16813e9ac1bbddbdc7a18292..9e7bc93a0f59548bac0429242595cb1eb92f2b72 100644 (file)
@@ -32,7 +32,7 @@
 
 #ifndef _LIBHEAD_H_
 #define _LIBHEAD_H_
-//#include <i86.h>
+#include <io.h>
 #include <dos.h>
 #include <stdio.h>
 #include <conio.h> // just for wait
@@ -40,9 +40,9 @@
 #include <stdlib.h>
 #include <malloc.h>
 #include <ctype.h>
-//#include <unistd.h>\r
+//#include <unistd.h>
 #include <fcntl.h>\r
-//#include <sys/stat.h>
+#include <sys/stat.h>
 #include <mem.h>
 #include "../../src/lib/types.h"
 
index e05076cfc2c93b8ffc890547ad554eaf03f1d992..e4223716b34066b024924e664ad6c8d70407f338 100644 (file)
@@ -52,6 +52,13 @@ Open Watcom port by sparky4
 #pragma warn -pro
 #pragma warn -use
 
+/*#define GETNEWBLOCK {if(!(mmnew=mmfree))Quit("MM_GETNEWBLOCK: No free blocks!")\\r
+       ;mmfree=mmfree->next;}\r
+\r
+//#define GETNEWBLOCK {if(!mmfree)MML_ClearBlock();mmnew=mmfree;mmfree=mmfree->next;}\r
+\r
+#define FREEBLOCK(x) {*x->useptr=NULL;x->next=mmfree;mmfree=x;}*/
+
 /*
 =============================================================================
 
@@ -120,15 +127,15 @@ boolean MML_CheckForEMS(void)
                //
                mov     emmcfems,1
                jmp End
+       }
                error:
+       __asm {
                //
                // EMS is bad
                //
                mov     emmcfems,0
-               End:
        }
-       End:
-       error:
+               End:
        return(emmcfems);
 }
 
@@ -188,13 +195,17 @@ byte MML_SetupEMS(mminfo_t *mm)
                jle     getpages
                mov     bx,[freeEMSpages]
                jmp     getpages
+       }
 
 low:
+       __asm {
                cmp     bx,4
                jle     getpages                                        // there is only 1,2,3,or 4 pages
                mov     bx,4                                            // we can't use more than 4 pages
+       }
 
 getpages:
+       __asm {
                mov     [EMSpagesmapped],bx
                mov     ah,EMS_ALLOCPAGES                       // allocate up to 64k of EMS
                int     EMS_INT
@@ -202,19 +213,21 @@ getpages:
                jnz     error
                mov     [EMShandle],dx
                jmp End
+       }
 error:
+       __asm {
                mov     err,ah
                mov     errorflag,1
                jmp End
+       }
 noEMS:
 End:
-       }
        if(errorflag==true)
        {
                //err = CPURegs.h.ah;
                strcpy(str,"MM_SetupEMS: EMS error ");
                //itoa(err,str2,16);
-               MM_EMSerr(&str, err);
+               MM_EMSerr(str, err);
                printf("%s\n",str);
                return err;
        }
@@ -243,16 +256,15 @@ void MML_ShutdownEMS(mminfo_t *mm)
 
        if(!EMShandle)
                return;
-       __asm
-       {
+       __asm {
                mov     ah,EMS_FREEPAGES
                mov     dx,[EMShandle]
                int     EMS_INT
                or      ah,ah
                jz      ok
                mov     errorflag,1
-               ok:
        }
+               ok:
        if(errorflag==true) printf("MML_ShutdownEMS: Error freeing EMS!\n");    //++++ add something
 }
 
@@ -279,8 +291,7 @@ byte MM_MapEMS(mminfo_t *mm, mminfotype *mmi)
 
        for (i=0;i<4/*MAPPAGES*/;i++)
        {
-               __asm
-               {
+               __asm {
                        mov     ah,EMS_MAPPAGE
                        mov     bx,[i]                  // logical page
                        mov     al,bl                   // physical page
@@ -289,11 +300,13 @@ byte MM_MapEMS(mminfo_t *mm, mminfotype *mmi)
                        or      ah,ah
                        jnz     error
                        jmp End
+               }
                        error:
+               __asm {
                        mov     err,ah
                        mov     errorflag,1
-                       End:
                }
+                       End:
                if(errorflag==true)
                {
                        //err = CPURegs.h.ah;
@@ -345,8 +358,7 @@ byte MM_MapXEMS(mminfo_t *mm, mminfotype *mmi)
 
        for (i=0;i<MAPPAGES;i++)
        {
-               __asm
-               {
+               __asm {
                        mov     ah,EMS_MAPXPAGE
                        mov     cx,[i]                  // logical page
                        mov     al,bl                   // physical page
@@ -355,18 +367,20 @@ byte MM_MapXEMS(mminfo_t *mm, mminfotype *mmi)
                        or      ah,ah
                        jnz     error
                        jmp End
+               }
                        error:
+               __asm {
                        mov     err,ah
                        mov     errorflag,1
-                       End:
                }
+                       End:
                if(errorflag==true)
                {
                        //err = CPURegs.h.ah;
                        //strcpy(str,"MM_MapXEMS: EMS error 0x");
                        strcpy(str,"MM_MapXEMS: EMS error ");
                        //itoa(err,str2,16);
-                       MM_EMSerr(&str, err);
+                       MM_EMSerr(str, err);
                        printf("%s\n",str);
                        //printf("%s%x\n",str, err);
                        //printf("FACK! %x\n", err);
@@ -394,15 +408,14 @@ boolean MML_CheckForXMS(mminfo_t *mm)
        boolean errorflag=false;
        mm->numUMBs = 0;
 
-       __asm
-       {
+       __asm {
                mov     ax,0x4300
                int     0x2f                            // query status of installed diver
                cmp     al,0x80
                je      good
                mov     errorflag,1
-               good:
        }
+               good:
        if(errorflag==true) return false;
        else return true;
 }
@@ -423,8 +436,7 @@ void MML_SetupXMS(mminfo_t *mm, mminfotype *mmi)
        unsigned        base,size;
 
 getmemory:
-       __asm
-       {
+       __asm {
                mov     ax,0x4310
                int     0x2f
                mov     [WORD PTR XMSaddr],bx
@@ -444,12 +456,13 @@ getmemory:
                call    [DWORD PTR XMSaddr]             // DX holds largest available UMB
                or      ax,ax
                jz      done                                            // another error...
-
+       }
 gotone:
+       __asm {
                mov     [base],bx
                mov     [size],dx
-done:
        }
+done:
        printf("base=%u ", base); printf("size=%u\n", size);
        MML_UseSpace(base,size, mm);
        mmi->XMSmem += size*16;
@@ -476,8 +489,7 @@ void MML_ShutdownXMS(mminfo_t *mm)
        for (i=0;i<mm->numUMBs;i++)
        {
                base = mm->UMBbase[i];
-               __asm
-               {
+               __asm {
                        mov     ah,XMS_FREEUMB
                        mov     dx,[base]
                        call    [DWORD PTR XMSaddr]
@@ -672,10 +684,10 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 //
 // get all available near conventional memory segments
 //
-//---- length=coreleft();
+       length=coreleft();
        printf("                nearheap making!\n");
-       _heapgrow();
-       length=_memmax();//(dword)GetFreeSize();
+       //_heapgrow();
+       //length=_memmax();//(dword)GetFreeSize();
        start = (void huge *)(mm->nearheap = malloc(length));
        length -= 16-(FP_OFF(start)&15);
        length -= SAVENEARHEAP;
@@ -683,16 +695,16 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
        segstart = FP_SEG(start)+(FP_OFF(start)+15)/16;
        MML_UseSpace(segstart,seglength, mm);
        mmi->nearheap = length;
-       printf("start=%FP       segstart=%X     seglen=%lu      len=%lu\n", start, segstart, seglength, length);
+       printf("start=%Fp       segstart=%x     seglen=%l       len=%l\n", start, segstart, seglength, length);
        printf("                near heap ok!\n");
 
 //
 // get all available far conventional memory segments
 //
-//---- length=farcoreleft();
-       printf("                farheap making!\n");
-       _fheapgrow();
-       length=(dword)GetFarFreeSize();//0xffffUL*4UL;
+       length=farcoreleft();
+       //printf("              farheap making!\n");
+       //_fheapgrow();
+       //length=(dword)GetFarFreeSize();//0xffffUL*4UL;
        //start = mm->farheap = halloc(length, 1);
        start = mm->farheap = _fmalloc(length);
        length -= 16-(FP_OFF(start)&15);
@@ -701,7 +713,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
        segstart = FP_SEG(start)+(FP_OFF(start)+15)/16;
        MML_UseSpace(segstart,seglength, mm);
        mmi->farheap = length;
-       printf("start=%FP       segstart=%X     seglen=%lu      len=%lu\n", start, segstart, seglength, length);
+       printf("start=%Fp       segstart=%x     seglen=%l       len=%l\n", start, segstart, seglength, length);
        printf("                far heap ok!\n");
 
        mmi->mainmem = mmi->nearheap + mmi->farheap;
@@ -714,9 +726,9 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 printf("               EMS1\n");
 printf("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");    //bug!
        mmi->EMSmem = 0;
-       for(i = 1;i < __argc;i++)
+       for(i = 1;i < _argc;i++)
        {
-               if(US_CheckParm(__argv[i],ParmStringsexmm) == 0)
+               if(US_CheckParm(_argv[i],ParmStringsexmm) == 0)
                        goto emsskip;                           // param NOEMS
        }
 printf("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");    //bug!
@@ -742,9 +754,9 @@ printf("            EMS4\n");
 //
 emsskip:
        mmi->XMSmem = 0;
-       for(i = 1;i < __argc;i++)
+       for(i = 1;i < _argc;i++)
        {
-               if(US_CheckParm(__argv[i],ParmStringsexmm) == 0)
+               if(US_CheckParm(_argv[i],ParmStringsexmm) == 0)
                        goto xmsskip;                           // param NOXMS
        }
 printf("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");    //bug!
@@ -1545,12 +1557,12 @@ void MM_GetNewBlock(mminfo_t *mm)
                MML_ClearBlock(mm);
        mm->mmnew=mm->mmfree;
        mm->mmfree=mm->mmfree->next;
-       /*if(!(mm->mmnew=mm->mmfree))
-       {
-               printf("MM_GETNEWBLOCK: No free blocks!");
-               return;
-       }
-       mm->mmfree=mm->mmfree->next;*/
+       //if(!(mm->mmnew=mm->mmfree))
+       //{
+               //printf("MM_GETNEWBLOCK: No free blocks!");
+//             return;
+       //}
+       //mm->mmfree=mm->mmfree->next;
 }
 
 void MM_FreeBlock(mmblocktype *x, mminfo_t *mm)
@@ -1560,7 +1572,7 @@ void MM_FreeBlock(mmblocktype *x, mminfo_t *mm)
        mm->mmfree=x;
 }
 
-void MM_seguin(void)
+/*void MM_seguin(void)
 {
        __asm
        {
@@ -1577,7 +1589,7 @@ void MM_segude(void)
        {
                pop ds
        }
-}
+}*/
 
 /*
 pull data from far and put it into ds var
index 6a0b578fc0bd64cc22694ed066fc6b4c3966241a..a431bf7d5ebb25742c002d8d94c991a49ef0aa7d 100644 (file)
@@ -49,7 +49,7 @@
 
 #define        EMS_INT                 0x67
 
-//#define      EMS_STATUS              0x40
+#define        EMS_STATUS              0x40
 #define        EMS_GETFRAME    0x41
 #define        EMS_GETPAGES    0x42
 #define        EMS_ALLOCPAGES  0x43
index b9eaf2e971e68a44032a1924d3d40368fc678afd..fffb53e9d77ed87823162f07dc38f63be737736b 100644 (file)
Binary files a/16/exmmtest/EXMMTEST.DSK and b/16/exmmtest/EXMMTEST.DSK differ
diff --git a/16/exmmtest/EXMMTEST.EXE b/16/exmmtest/EXMMTEST.EXE
new file mode 100644 (file)
index 0000000..ec0e8fe
Binary files /dev/null and b/16/exmmtest/EXMMTEST.EXE differ
index f2305ba24ca3090cb2bd97354c24ce59ba2816ab..3327d1b956578efa7eacbadcae821b9acd68f3ec 100644 (file)
@@ -1,2 +1,698 @@
-Fatal: Unable to open file '16_MM.OBJ'\r
+\r
+ Start  Stop   Length Name               Class\r
+\r
+ 00000H 04F29H 04F2AH _TEXT              CODE\r
+ 04F30H 04F30H 00000H _FARDATA           FAR_DATA\r
+ 04F30H 04F30H 00000H _FARBSS            FAR_BSS\r
+ 04F30H 04F30H 00000H _OVERLAY_          OVRINFO\r
+ 04F30H 04F30H 00000H _1STUB_            STUBSEG\r
+ 04F30H 06029H 010FAH _DATA              DATA\r
+ 0602AH 0602BH 00002H _CVTSEG            DATA\r
+ 0602CH 06031H 00006H _SCNSEG            DATA\r
+ 06032H 06032H 00000H _CONST             CONST\r
+ 06032H 06043H 00012H _INIT_             INITDATA\r
+ 06044H 06044H 00000H _INITEND_          INITDATA\r
+ 06044H 06044H 00000H _EXIT_             EXITDATA\r
+ 06044H 06044H 00000H _EXITEND_          EXITDATA\r
+ 06044H 060A5H 00062H _BSS               BSS\r
+ 060A6H 060A6H 00000H _BSSEND            BSSEND\r
+ 060B0H 0612FH 00080H _STACK             STACK\r
+\r
+\r
+Detailed map of segments\r
+\r
+ 0000:0000 028F C=CODE   S=_TEXT          G=(none)  M=c0.ASM     ACBP=28\r
+ 0000:028F 01F1 C=CODE   S=_TEXT          G=(none)  M=EXMMTEST.C ACBP=28\r
+ 0000:0480 1947 C=CODE   S=_TEXT          G=(none)  M=16_MM.C    ACBP=28\r
+ 0000:1DC7 0442 C=CODE   S=_TEXT          G=(none)  M=16_HEAD.C  ACBP=28\r
+ 0000:2209 0232 C=CODE   S=_TEXT          G=(none)  M=16_CA.C    ACBP=28\r
+ 0000:243B 0024 C=CODE   S=_TEXT          G=(none)  M=ATEXIT     ACBP=28\r
+ 0000:245F 0049 C=CODE   S=_TEXT          G=(none)  M=CLOCK      ACBP=28\r
+ 0000:24A8 0000 C=CODE   S=_TEXT          G=(none)  M=CTYPE      ACBP=28\r
+ 0000:24A8 003D C=CODE   S=_TEXT          G=(none)  M=DOSFATTR   ACBP=28\r
+ 0000:24E5 0089 C=CODE   S=_TEXT          G=(none)  M=EXIT       ACBP=28\r
+ 0000:256E 0000 C=CODE   S=_TEXT          G=(none)  M=FILES      ACBP=28\r
+ 0000:256E 0000 C=CODE   S=_TEXT          G=(none)  M=FILES2     ACBP=28\r
+ 0000:256E 0000 C=CODE   S=_TEXT          G=(none)  M=FMODE      ACBP=28\r
+ 0000:256E 00AE C=CODE   S=_TEXT          G=(none)  M=H_LDIV     ACBP=28\r
+ 0000:261C 0021 C=CODE   S=_TEXT          G=(none)  M=H_LLSH     ACBP=28\r
+ 0000:263D 0021 C=CODE   S=_TEXT          G=(none)  M=H_LURSH    ACBP=28\r
+ 0000:265E 0060 C=CODE   S=_TEXT          G=(none)  M=H_PADD     ACBP=28\r
+ 0000:26BE 0028 C=CODE   S=_TEXT          G=(none)  M=H_PSBP     ACBP=28\r
+ 0000:26E6 004B C=CODE   S=_TEXT          G=(none)  M=IOERROR    ACBP=28\r
+ 0000:2731 0011 C=CODE   S=_TEXT          G=(none)  M=ISATTY     ACBP=28\r
+ 0000:2742 00A2 C=CODE   S=_TEXT          G=(none)  M=LONGTOA    ACBP=28\r
+ 0000:27E4 0029 C=CODE   S=_TEXT          G=(none)  M=LSEEK      ACBP=28\r
+ 0000:280D 00B0 C=CODE   S=_TEXT          G=(none)  M=MKNAME     ACBP=28\r
+ 0000:28BD 0021 C=CODE   S=_TEXT          G=(none)  M=N_PCMP     ACBP=28\r
+ 0000:28DE 00B2 C=CODE   S=_TEXT          G=(none)  M=SETUPIO    ACBP=28\r
+ 0000:2990 0000 C=CODE   S=_TEXT          G=(none)  M=STKLEN     ACBP=28\r
+ 0000:2990 002C C=CODE   S=_TEXT          G=(none)  M=TOLOWER    ACBP=28\r
+ 0000:29BC 0018 C=CODE   S=_TEXT          G=(none)  M=UNLINK     ACBP=28\r
+ 0000:29D4 04DB C=CODE   S=_TEXT          G=(none)  M=VPRINTER   ACBP=28\r
+ 0000:2EAF 009F C=CODE   S=_TEXT          G=(none)  M=VRAM       ACBP=28\r
+ 0000:2F4E 0000 C=CODE   S=_TEXT          G=(none)  M=WSCROLL    ACBP=28\r
+ 0000:2F4E 0030 C=CODE   S=_TEXT          G=(none)  M=_STPCPY    ACBP=28\r
+ 0000:2F7E 0004 C=CODE   S=_TEXT          G=(none)  M=CORELEFT   ACBP=28\r
+ 0000:2F82 014E C=CODE   S=_TEXT          G=(none)  M=CPRINTF    ACBP=28\r
+ 0000:30D0 01A5 C=CODE   S=_TEXT          G=(none)  M=CRTINIT    ACBP=28\r
+ 0000:3275 001F C=CODE   S=_TEXT          G=(none)  M=CVTFAK     ACBP=28\r
+ 0000:3294 042D C=CODE   S=_TEXT          G=(none)  M=FARHEAP    ACBP=28\r
+ 0000:36C1 013E C=CODE   S=_TEXT          G=(none)  M=FBRK       ACBP=28\r
+ 0000:37FF 0050 C=CODE   S=_TEXT          G=(none)  M=FCORELFT   ACBP=28\r
+ 0000:384F 0054 C=CODE   S=_TEXT          G=(none)  M=GETCH      ACBP=28\r
+ 0000:38A3 00AC C=CODE   S=_TEXT          G=(none)  M=GPTEXT     ACBP=28\r
+ 0000:394F 0029 C=CODE   S=_TEXT          G=(none)  M=IOCTL      ACBP=28\r
+ 0000:3978 0012 C=CODE   S=_TEXT          G=(none)  M=KBHIT      ACBP=28\r
+ 0000:398A 009D C=CODE   S=_TEXT          G=(none)  M=MOVETEXT   ACBP=28\r
+ 0000:3A27 0017 C=CODE   S=_TEXT          G=(none)  M=PUTCH      ACBP=28\r
+ 0000:3A3E 0004 C=CODE   S=_TEXT          G=(none)  M=REALCVT    ACBP=28\r
+ 0000:3A42 01C7 C=CODE   S=_TEXT          G=(none)  M=SCREEN     ACBP=28\r
+ 0000:3C09 0184 C=CODE   S=_TEXT          G=(none)  M=SCROLL     ACBP=28\r
+ 0000:3D8D 0129 C=CODE   S=_TEXT          G=(none)  M=SETARGV    ACBP=28\r
+ 0000:3EB6 001C C=CODE   S=_TEXT          G=(none)  M=SETBLOCK   ACBP=28\r
+ 0000:3ED2 002C C=CODE   S=_TEXT          G=(none)  M=WHEREXY    ACBP=28\r
+ 0000:3EFE 001D C=CODE   S=_TEXT          G=(none)  M=CHMODA     ACBP=28\r
+ 0000:3F1B 0026 C=CODE   S=_TEXT          G=(none)  M=CLOSE      ACBP=28\r
+ 0000:3F41 001E C=CODE   S=_TEXT          G=(none)  M=CLOSEA     ACBP=28\r
+ 0000:3F5F 00B0 C=CODE   S=_TEXT          G=(none)  M=FCLOSE     ACBP=28\r
+ 0000:400F 00C6 C=CODE   S=_TEXT          G=(none)  M=FFLUSH     ACBP=28\r
+ 0000:40D5 0041 C=CODE   S=_TEXT          G=(none)  M=FLENGTH    ACBP=28\r
+ 0000:4116 0040 C=CODE   S=_TEXT          G=(none)  M=FLUSHALL   ACBP=28\r
+ 0000:4156 01FE C=CODE   S=_TEXT          G=(none)  M=FOPEN      ACBP=28\r
+ 0000:4354 001C C=CODE   S=_TEXT          G=(none)  M=FPRINTF    ACBP=28\r
+ 0000:4370 01D8 C=CODE   S=_TEXT          G=(none)  M=FSEEK      ACBP=28\r
+ 0000:4548 0070 C=CODE   S=_TEXT          G=(none)  M=LTOA1      ACBP=28\r
+ 0000:45B8 0024 C=CODE   S=_TEXT          G=(none)  M=MEMCPY     ACBP=28\r
+ 0000:45DC 0022 C=CODE   S=_TEXT          G=(none)  M=MOVEDATA   ACBP=28\r
+ 0000:45FE 018D C=CODE   S=_TEXT          G=(none)  M=OPEN       ACBP=28\r
+ 0000:478B 004F C=CODE   S=_TEXT          G=(none)  M=OPENA      ACBP=28\r
+ 0000:47DA 001B C=CODE   S=_TEXT          G=(none)  M=PRINTF     ACBP=28\r
+ 0000:47F5 03A4 C=CODE   S=_TEXT          G=(none)  M=PUTC       ACBP=28\r
+ 0000:4B99 0111 C=CODE   S=_TEXT          G=(none)  M=SETVBUF    ACBP=28\r
+ 0000:4CAA 003F C=CODE   S=_TEXT          G=(none)  M=STRCAT     ACBP=28\r
+ 0000:4CE9 0029 C=CODE   S=_TEXT          G=(none)  M=STRCPY     ACBP=28\r
+ 0000:4D12 001F C=CODE   S=_TEXT          G=(none)  M=STRLEN     ACBP=28\r
+ 0000:4D31 0149 C=CODE   S=_TEXT          G=(none)  M=WRITE      ACBP=28\r
+ 0000:4E7A 003C C=CODE   S=_TEXT          G=(none)  M=WRITEA     ACBP=28\r
+ 0000:4EB6 0003 C=CODE   S=_TEXT          G=(none)  M=WRITEU     ACBP=28\r
+ 0000:4EB9 003B C=CODE   S=_TEXT          G=(none)  M=XFCLOSE    ACBP=28\r
+ 0000:4EF4 0036 C=CODE   S=_TEXT          G=(none)  M=XFFLUSH    ACBP=28\r
+ 04F3:0000 0000 C=FAR_DATA S=_FARDATA       G=(none)  M=c0.ASM     ACBP=68\r
+ 04F3:0000 0000 C=FAR_BSS S=_FARBSS        G=(none)  M=c0.ASM     ACBP=68\r
+ 04F3:0000 0000 C=OVRINFO S=_OVERLAY_      G=(none)  M=c0.ASM     ACBP=68\r
+ 04F3:0000 0000 C=STUBSEG S=_1STUB_        G=(none)  M=c0.ASM     ACBP=68\r
+ 04F3:0000 0093 C=DATA   S=_DATA          G=DGROUP  M=c0.ASM     ACBP=68\r
+ 04F3:0094 0137 C=DATA   S=_DATA          G=DGROUP  M=EXMMTEST.C ACBP=48\r
+ 04F3:01CC 0AFF C=DATA   S=_DATA          G=DGROUP  M=16_MM.C    ACBP=48\r
+ 04F3:0CCC 0004 C=DATA   S=_DATA          G=DGROUP  M=16_HEAD.C  ACBP=48\r
+ 04F3:0CD0 002C C=DATA   S=_DATA          G=DGROUP  M=16_CA.C    ACBP=48\r
+ 04F3:0CFC 0002 C=DATA   S=_DATA          G=DGROUP  M=ATEXIT     ACBP=48\r
+ 04F3:0CFE 0000 C=DATA   S=_DATA          G=DGROUP  M=CLOCK      ACBP=48\r
+ 04F3:0CFE 0101 C=DATA   S=_DATA          G=DGROUP  M=CTYPE      ACBP=48\r
+ 04F3:0E00 0000 C=DATA   S=_DATA          G=DGROUP  M=DOSFATTR   ACBP=48\r
+ 04F3:0E00 0006 C=DATA   S=_DATA          G=DGROUP  M=EXIT       ACBP=48\r
+ 04F3:0E06 0190 C=DATA   S=_DATA          G=DGROUP  M=FILES      ACBP=48\r
+ 04F3:0F96 002A C=DATA   S=_DATA          G=DGROUP  M=FILES2     ACBP=48\r
+ 04F3:0FC0 0004 C=DATA   S=_DATA          G=DGROUP  M=FMODE      ACBP=48\r
+ 04F3:0FC4 0000 C=DATA   S=_DATA          G=DGROUP  M=H_LDIV     ACBP=48\r
+ 04F3:0FC4 0000 C=DATA   S=_DATA          G=DGROUP  M=H_LLSH     ACBP=48\r
+ 04F3:0FC4 0000 C=DATA   S=_DATA          G=DGROUP  M=H_LURSH    ACBP=48\r
+ 04F3:0FC4 0000 C=DATA   S=_DATA          G=DGROUP  M=H_PADD     ACBP=48\r
+ 04F3:0FC4 0000 C=DATA   S=_DATA          G=DGROUP  M=H_PSBP     ACBP=48\r
+ 04F3:0FC4 005B C=DATA   S=_DATA          G=DGROUP  M=IOERROR    ACBP=48\r
+ 04F3:1020 0000 C=DATA   S=_DATA          G=DGROUP  M=ISATTY     ACBP=48\r
+ 04F3:1020 0000 C=DATA   S=_DATA          G=DGROUP  M=LONGTOA    ACBP=48\r
+ 04F3:1020 0000 C=DATA   S=_DATA          G=DGROUP  M=LSEEK      ACBP=48\r
+ 04F3:1020 0009 C=DATA   S=_DATA          G=DGROUP  M=MKNAME     ACBP=48\r
+ 04F3:102A 0000 C=DATA   S=_DATA          G=DGROUP  M=N_PCMP     ACBP=48\r
+ 04F3:102A 0000 C=DATA   S=_DATA          G=DGROUP  M=SETUPIO    ACBP=48\r
+ 04F3:102A 0002 C=DATA   S=_DATA          G=DGROUP  M=STKLEN     ACBP=48\r
+ 04F3:102C 0000 C=DATA   S=_DATA          G=DGROUP  M=TOLOWER    ACBP=48\r
+ 04F3:102C 0000 C=DATA   S=_DATA          G=DGROUP  M=UNLINK     ACBP=48\r
+ 04F3:102C 0067 C=DATA   S=_DATA          G=DGROUP  M=VPRINTER   ACBP=48\r
+ 04F3:1094 0000 C=DATA   S=_DATA          G=DGROUP  M=VRAM       ACBP=48\r
+ 04F3:1094 0002 C=DATA   S=_DATA          G=DGROUP  M=WSCROLL    ACBP=48\r
+ 04F3:1096 0000 C=DATA   S=_DATA          G=DGROUP  M=_STPCPY    ACBP=48\r
+ 04F3:1096 0000 C=DATA   S=_DATA          G=DGROUP  M=CORELEFT   ACBP=48\r
+ 04F3:1096 0000 C=DATA   S=_DATA          G=DGROUP  M=CPRINTF    ACBP=48\r
+ 04F3:1096 0018 C=DATA   S=_DATA          G=DGROUP  M=CRTINIT    ACBP=48\r
+ 04F3:10AE 0031 C=DATA   S=_DATA          G=DGROUP  M=CVTFAK     ACBP=48\r
+ 04F3:10E0 0000 C=DATA   S=_DATA          G=DGROUP  M=FARHEAP    ACBP=48\r
+ 04F3:10E0 0002 C=DATA   S=_DATA          G=DGROUP  M=FBRK       ACBP=48\r
+ 04F3:10E2 0000 C=DATA   S=_DATA          G=DGROUP  M=FCORELFT   ACBP=48\r
+ 04F3:10E2 0000 C=DATA   S=_DATA          G=DGROUP  M=GETCH      ACBP=48\r
+ 04F3:10E2 0000 C=DATA   S=_DATA          G=DGROUP  M=GPTEXT     ACBP=48\r
+ 04F3:10E2 0000 C=DATA   S=_DATA          G=DGROUP  M=IOCTL      ACBP=48\r
+ 04F3:10E2 0002 C=DATA   S=_DATA          G=DGROUP  M=KBHIT      ACBP=48\r
+ 04F3:10E4 0000 C=DATA   S=_DATA          G=DGROUP  M=MOVETEXT   ACBP=48\r
+ 04F3:10E4 0000 C=DATA   S=_DATA          G=DGROUP  M=PUTCH      ACBP=48\r
+ 04F3:10E4 0000 C=DATA   S=_DATA          G=DGROUP  M=REALCVT    ACBP=48\r
+ 04F3:10E4 0000 C=DATA   S=_DATA          G=DGROUP  M=SCREEN     ACBP=48\r
+ 04F3:10E4 0000 C=DATA   S=_DATA          G=DGROUP  M=SCROLL     ACBP=48\r
+ 04F3:10E4 0010 C=DATA   S=_DATA          G=DGROUP  M=SETARGV    ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=SETBLOCK   ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=WHEREXY    ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=CHMODA     ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=CLOSE      ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=CLOSEA     ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=FCLOSE     ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=FFLUSH     ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=FLENGTH    ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=FLUSHALL   ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=FOPEN      ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=FPRINTF    ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=FSEEK      ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=LTOA1      ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=MEMCPY     ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=MOVEDATA   ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=OPEN       ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=OPENA      ACBP=48\r
+ 04F3:10F4 0000 C=DATA   S=_DATA          G=DGROUP  M=PRINTF     ACBP=48\r
+ 04F3:10F4 0001 C=DATA   S=_DATA          G=DGROUP  M=PUTC       ACBP=48\r
+ 04F3:10F6 0004 C=DATA   S=_DATA          G=DGROUP  M=SETVBUF    ACBP=48\r
+ 04F3:10FA 0000 C=DATA   S=_DATA          G=DGROUP  M=STRCAT     ACBP=48\r
+ 04F3:10FA 0000 C=DATA   S=_DATA          G=DGROUP  M=STRCPY     ACBP=48\r
+ 04F3:10FA 0000 C=DATA   S=_DATA          G=DGROUP  M=STRLEN     ACBP=48\r
+ 04F3:10FA 0000 C=DATA   S=_DATA          G=DGROUP  M=WRITE      ACBP=48\r
+ 04F3:10FA 0000 C=DATA   S=_DATA          G=DGROUP  M=WRITEA     ACBP=48\r
+ 04F3:10FA 0000 C=DATA   S=_DATA          G=DGROUP  M=WRITEU     ACBP=48\r
+ 04F3:10FA 0000 C=DATA   S=_DATA          G=DGROUP  M=XFCLOSE    ACBP=48\r
+ 04F3:10FA 0000 C=DATA   S=_DATA          G=DGROUP  M=XFFLUSH    ACBP=48\r
+ 04F3:10FA 0000 C=DATA   S=_CVTSEG        G=DGROUP  M=c0.ASM     ACBP=48\r
+ 04F3:10FA 0002 C=DATA   S=_CVTSEG        G=DGROUP  M=CVTFAK     ACBP=48\r
+ 04F3:10FC 0000 C=DATA   S=_CVTSEG        G=DGROUP  M=REALCVT    ACBP=48\r
+ 04F3:10FC 0000 C=DATA   S=_SCNSEG        G=DGROUP  M=c0.ASM     ACBP=48\r
+ 04F3:10FC 0006 C=DATA   S=_SCNSEG        G=DGROUP  M=CVTFAK     ACBP=48\r
+ 04F3:1102 0000 C=CONST  S=_CONST         G=DGROUP  M=c0.ASM     ACBP=48\r
+ 04F3:1102 0000 C=INITDATA S=_INIT_         G=DGROUP  M=c0.ASM     ACBP=48\r
+ 04F3:1102 0006 C=INITDATA S=_INIT_         G=DGROUP  M=SETUPIO    ACBP=48\r
+ 04F3:1108 0006 C=INITDATA S=_INIT_         G=DGROUP  M=CRTINIT    ACBP=48\r
+ 04F3:110E 0006 C=INITDATA S=_INIT_         G=DGROUP  M=SETARGV    ACBP=48\r
+ 04F3:1114 0000 C=INITDATA S=_INITEND_      G=DGROUP  M=c0.ASM     ACBP=28\r
+ 04F3:1114 0000 C=EXITDATA S=_EXIT_         G=DGROUP  M=c0.ASM     ACBP=48\r
+ 04F3:1114 0000 C=EXITDATA S=_EXITEND_      G=DGROUP  M=c0.ASM     ACBP=28\r
+ 04F3:1114 0000 C=BSS    S=_BSS           G=DGROUP  M=c0.ASM     ACBP=48\r
+ 04F3:1114 0000 C=BSS    S=_BSS           G=DGROUP  M=EXMMTEST.C ACBP=48\r
+ 04F3:1114 0006 C=BSS    S=_BSS           G=DGROUP  M=16_MM.C    ACBP=48\r
+ 04F3:111A 0000 C=BSS    S=_BSS           G=DGROUP  M=16_HEAD.C  ACBP=48\r
+ 04F3:111A 000A C=BSS    S=_BSS           G=DGROUP  M=16_CA.C    ACBP=48\r
+ 04F3:1124 0040 C=BSS    S=_BSS           G=DGROUP  M=ATEXIT     ACBP=48\r
+ 04F3:1164 0001 C=BSS    S=_BSS           G=DGROUP  M=CLOCK      ACBP=48\r
+ 04F3:1166 0000 C=BSS    S=_BSS           G=DGROUP  M=DOSFATTR   ACBP=48\r
+ 04F3:1166 0000 C=BSS    S=_BSS           G=DGROUP  M=IOERROR    ACBP=48\r
+ 04F3:1166 0000 C=BSS    S=_BSS           G=DGROUP  M=ISATTY     ACBP=48\r
+ 04F3:1166 0000 C=BSS    S=_BSS           G=DGROUP  M=LONGTOA    ACBP=48\r
+ 04F3:1166 0000 C=BSS    S=_BSS           G=DGROUP  M=LSEEK      ACBP=48\r
+ 04F3:1166 000D C=BSS    S=_BSS           G=DGROUP  M=MKNAME     ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=SETUPIO    ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=UNLINK     ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=VPRINTER   ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=VRAM       ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=CORELEFT   ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=CRTINIT    ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=GETCH      ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=IOCTL      ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=KBHIT      ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=SETBLOCK   ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=CHMODA     ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=CLOSEA     ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=FLENGTH    ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=MEMCPY     ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=MOVEDATA   ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=OPEN       ACBP=48\r
+ 04F3:1174 0000 C=BSS    S=_BSS           G=DGROUP  M=OPENA      ACBP=48\r
+ 04F3:1174 0001 C=BSS    S=_BSS           G=DGROUP  M=PUTC       ACBP=48\r
+ 04F3:1176 0000 C=BSS    S=_BSS           G=DGROUP  M=STRCAT     ACBP=48\r
+ 04F3:1176 0000 C=BSS    S=_BSS           G=DGROUP  M=STRCPY     ACBP=48\r
+ 04F3:1176 0000 C=BSS    S=_BSS           G=DGROUP  M=STRLEN     ACBP=48\r
+ 04F3:1176 0000 C=BSS    S=_BSS           G=DGROUP  M=WRITEA     ACBP=48\r
+ 04F3:1176 0000 C=BSSEND S=_BSSEND        G=DGROUP  M=c0.ASM     ACBP=28\r
+ 060B:0000 0080 C=STACK  S=_STACK         G=(none)  M=c0.ASM     ACBP=74\r
+\r
+  Address         Publics by Name\r
+\r
+ 04F3:0000 idle  DATASEG@\r
+ 0000:028B idle  DGROUP@\r
+ 0000:2571 idle  F_LDIV@\r
+ 0000:2580 idle  F_LMOD@\r
+ 0000:2578 idle  F_LUDIV@\r
+ 0000:2588 idle  F_LUMOD@\r
+ 0000:261F idle  F_LXLSH@\r
+ 0000:2640 idle  F_LXURSH@\r
+ 0000:2661 idle  F_PADD@\r
+ 0000:26C1 idle  F_PSBP@\r
+ 0000:2690 idle  F_PSUB@\r
+ 0000:2571 idle  LDIV@\r
+ 0000:2580 idle  LMOD@\r
+ 0000:2578 idle  LUDIV@\r
+ 0000:2588 idle  LUMOD@\r
+ 0000:261F idle  LXLSH@\r
+ 0000:2640 idle  LXURSH@\r
+ 0000:256E idle  N_LDIV@\r
+ 0000:257D idle  N_LMOD@\r
+ 0000:2575       N_LUDIV@\r
+ 0000:2585 idle  N_LUMOD@\r
+ 0000:261C       N_LXLSH@\r
+ 0000:263D       N_LXURSH@\r
+ 0000:265E       N_PADD@\r
+ 0000:28BD       N_PCMP@\r
+ 0000:26BE       N_PSBP@\r
+ 0000:268D idle  N_PSUB@\r
+ 0000:2661 idle  PADD@\r
+ 0000:26C1 idle  PSBP@\r
+ 0000:2690 idle  PSUB@\r
+ 0000:0276       _abort\r
+ 04F3:1116 idle  _aftersort\r
+ 0000:1F69 idle  _AllocateLargestFarFreeBlock\r
+ 0000:1E06 idle  _AllocateLargestFreeBlock\r
+ 0000:243B idle  _atexit\r
+ 04F3:1118 idle  _beforesort\r
+ 0000:239F idle  _CAL_OptimizeNodes\r
+ 0000:222A       _CA_CloseDebug\r
+ 0000:2237 idle  _CA_FarRead\r
+ 0000:2275 idle  _CA_FarWrite\r
+ 0000:231A       _CA_LoadFile\r
+ 0000:2209       _CA_OpenDebug\r
+ 0000:22B3 idle  _CA_ReadFile\r
+ 0000:242E       _CA_Shutdown\r
+ 0000:240D       _CA_Startup\r
+ 0000:245F       _clock\r
+ 0000:3F1B       _close\r
+ 0000:2F7E       _coreleft\r
+ 0000:30B4 idle  _cprintf\r
+ 04F3:1120       _debughandle\r
+ 04F3:10A5       _directvideo\r
+ 04F3:111E idle  _drawcachebox\r
+ 04F3:007F       _errno\r
+ 0000:2533       _exit\r
+ 0000:37FF       _farcoreleft\r
+ 0000:33D4       _farfree\r
+ 0000:34E8       _farmalloc\r
+ 0000:3649 idle  _farrealloc\r
+ 0000:3F5F       _fclose\r
+ 0000:400F       _fflush\r
+ 0000:40D5       _filelength\r
+ 0000:20D8 idle  _filesize\r
+ 04F3:111A idle  _finishcachebox\r
+ 0000:4116       _flushall\r
+ 0000:431F       _fopen\r
+ 0000:4354       _fprintf\r
+ 0000:480F idle  _fputc\r
+ 0000:4998 idle  _fputchar\r
+ 0000:33D4       _free\r
+ 0000:43F2       _fseek\r
+ 0000:446E       _ftell\r
+ 0000:384F       _getch\r
+ 0000:3868 idle  _getche\r
+ 0000:200B idle  _GetFarFreeSize\r
+ 0000:1E9C idle  _GetFreeSize\r
+ 0000:38A3       _gettext\r
+ 0000:394F       _ioctl\r
+ 0000:2731       _isatty\r
+ 0000:4548 idle  _itoa\r
+ 0000:3978       _kbhit\r
+ 0000:27E4       _lseek\r
+ 0000:4590 idle  _ltoa\r
+ 0000:028F       _main\r
+ 0000:34DE       _malloc\r
+ 0000:45B8       _memcpy\r
+ 0000:0480 idle  _MML_CheckForEMS\r
+ 0000:074E idle  _MML_CheckForXMS\r
+ 0000:0A0E idle  _MML_ClearBlock\r
+ 0000:04C5 idle  _MML_SetupEMS\r
+ 0000:0785 idle  _MML_SetupXMS\r
+ 0000:05CB idle  _MML_ShutdownEMS\r
+ 0000:082B idle  _MML_ShutdownXMS\r
+ 0000:085E idle  _MML_UseSpace\r
+ 0000:1D23 idle  _MM_BombOnError\r
+ 0000:17D0       _MM_DumpData\r
+ 0000:1D88 idle  _MM_FreeBlock\r
+ 0000:11EF       _MM_FreePtr\r
+ 0000:1D32 idle  _MM_GetNewBlock\r
+ 0000:0F3B       _MM_GetPtr\r
+ 0000:060C idle  _MM_MapEMS\r
+ 0000:06A5 idle  _MM_MapXEMS\r
+ 0000:1A17       _MM_Report\r
+ 0000:138D idle  _MM_SetLock\r
+ 0000:12C9 idle  _MM_SetPurge\r
+ 0000:15CD       _MM_ShowMemory\r
+ 0000:0EB6       _MM_Shutdown\r
+ 0000:1456 idle  _MM_SortMem\r
+ 0000:0A74       _MM_Startup\r
+ 0000:197E idle  _MM_TotalFree\r
+ 0000:190C idle  _MM_UnusedMemory\r
+ 0000:45DC       _movedata\r
+ 0000:398A       _movetext\r
+ 0000:462B       _open\r
+ 0000:47DA       _printf\r
+ 04F3:1122 idle  _profilehandle\r
+ 0000:3A27       _putch\r
+ 0000:38F9       _puttext\r
+ 0000:3642 idle  _realloc\r
+ 0000:3EB6       _setblock\r
+ 0000:4B99       _setvbuf\r
+ 0000:4CAA       _strcat\r
+ 0000:4CE9       _strcpy\r
+ 0000:4D12       _strlen\r
+ 0000:2990       _tolower\r
+ 0000:4573       _ultoa\r
+ 0000:3885 idle  _ungetch\r
+ 0000:29BC       _unlink\r
+ 04F3:111C idle  _updatecachebox\r
+ 0000:2137       _US_CheckParm\r
+ 0000:1DC7 idle  _wait\r
+ 0000:3EDC idle  _wherex\r
+ 0000:3EEB idle  _wherey\r
+ 0000:4EB6       _write\r
+ 04F3:1114 idle  _XMSaddr\r
+ 0000:1000 idle  __AHINCR\r
+ 0000:000C idle  __AHSHIFT\r
+ 04F3:10E4       __argc\r
+ 04F3:10E6       __argv\r
+ 04F3:0CFC       __atexitcnt\r
+ 04F3:1124       __atexittbl\r
+ 0000:3735       __brk\r
+ 04F3:008B       __brklvl\r
+ 04F3:006B       __C0argc\r
+ 04F3:006D       __C0argv\r
+ 0000:3196 idle  __c0crtinit\r
+ 04F3:0071 idle  __C0environ\r
+ 04F3:10E3       __cChar\r
+ 0000:2554 idle  __cexit\r
+ 04F3:10E2       __cFlag\r
+ 0000:0166       __checknull\r
+ 0000:3EFE       __chmod\r
+ 0000:0153       __cleanup\r
+ 0000:3F41       __close\r
+ 0000:2F82       __CPUTN\r
+ 0000:31B3 idle  __crtinit\r
+ 04F3:0CFE       __ctype\r
+ 0000:0000  Abs  __cvtfak\r
+ 0000:2562 idle  __c_exit\r
+ 04F3:0FC4       __doserrno\r
+ 0000:271F       __DOSERROR\r
+ 04F3:0FC6 idle  __dosErrorToSV\r
+ 0000:24A8       __dos_getfileattr\r
+ 0000:24C8 idle  __dos_setfileattr\r
+ 04F3:0075       __envLng\r
+ 04F3:0077       __envseg\r
+ 04F3:0079 idle  __envSize\r
+ 0000:2542       __exit\r
+ 04F3:0E00       __exitbuf\r
+ 04F3:0E02       __exitfopen\r
+ 04F3:0E04 idle  __exitopen\r
+ 04F3:0FC0       __fmode\r
+ 0000:47F5 idle  __fputc\r
+ 0000:49AB       __FPUTN\r
+ 0000:42D5 idle  __GETFP\r
+ 04F3:0087       __heapbase\r
+ 04F3:008F       __heaptop\r
+ 04F3:005B idle  __Int0Vector\r
+ 04F3:005F idle  __Int4Vector\r
+ 04F3:0063 idle  __Int5Vector\r
+ 04F3:0067 idle  __Int6Vector\r
+ 0000:26E6       __IOERROR\r
+ 0000:2742       __LONGTOA\r
+ 0000:280D       __MKNAME\r
+ 0000:028D idle  __MMODEL\r
+ 04F3:0F96       __nfile\r
+ 0000:3868 idle  __Ngetche\r
+ 04F3:0FC2       __notUmask\r
+ 0000:3885 idle  __Nungetch\r
+ 0000:478B       __open\r
+ 04F3:0F98       __openfd\r
+ 0000:420C idle  __OPENFP\r
+ 04F3:007D       __osmajor\r
+ 04F3:007E idle  __osminor\r
+ 04F3:007D idle  __osversion\r
+ 04F3:007B       __psp\r
+ 0000:3A3E       __REALCVT\r
+ 04F3:10FA       __RealCvtVector\r
+ 0000:01BC       __restorezero\r
+ 0000:3774       __sbrk\r
+ 04F3:10FC idle  __ScanTodVector\r
+ 0000:3B78       __SCREENIO\r
+ 0000:3C2B       __SCROLL\r
+ 0000:0000  Abs  __setargv__\r
+ 0000:28DE       __setupio\r
+ 04F3:0081       __StartTime\r
+ 04F3:102A       __stklen\r
+ 0000:2F4E       __stpcpy\r
+ 04F3:0E06       __streams\r
+ 0000:0167       __terminate\r
+ 0000:2866 idle  __TMPNAM\r
+ 0000:0000 idle  __turboCrt\r
+ 0000:27C4       __UTOA\r
+ 0000:3BB4       __VALIDATEXY\r
+ 04F3:007D idle  __version\r
+ 04F3:1096       __video\r
+ 0000:310B       __VideoInt\r
+ 0000:29EC       __VPRINTER\r
+ 0000:2EAF       __VPTR\r
+ 0000:2ED4       __VRAM\r
+ 0000:3ED2       __wherexy\r
+ 0000:4E7A       __write\r
+ 04F3:1094       __wscroll\r
+ 0000:4EB9       __xfclose\r
+ 0000:4EF4       __xfflush\r
+ 04F3:0085 idle  ___brklvl\r
+ 0000:3294 idle  ___first\r
+ 0000:3296 idle  ___last\r
+ 0000:3298 idle  ___rover\r
+ 0000:4D31       ___write\r
+\r
+  Address         Publics by Value\r
+\r
+ 0000:0000  Abs  __setargv__\r
+ 0000:0000 idle  __turboCrt\r
+ 0000:0000  Abs  __cvtfak\r
+ 0000:000C idle  __AHSHIFT\r
+ 0000:0153       __cleanup\r
+ 0000:0166       __checknull\r
+ 0000:0167       __terminate\r
+ 0000:01BC       __restorezero\r
+ 0000:0276       _abort\r
+ 0000:028B idle  DGROUP@\r
+ 0000:028D idle  __MMODEL\r
+ 0000:028F       _main\r
+ 0000:0480 idle  _MML_CheckForEMS\r
+ 0000:04C5 idle  _MML_SetupEMS\r
+ 0000:05CB idle  _MML_ShutdownEMS\r
+ 0000:060C idle  _MM_MapEMS\r
+ 0000:06A5 idle  _MM_MapXEMS\r
+ 0000:074E idle  _MML_CheckForXMS\r
+ 0000:0785 idle  _MML_SetupXMS\r
+ 0000:082B idle  _MML_ShutdownXMS\r
+ 0000:085E idle  _MML_UseSpace\r
+ 0000:0A0E idle  _MML_ClearBlock\r
+ 0000:0A74       _MM_Startup\r
+ 0000:0EB6       _MM_Shutdown\r
+ 0000:0F3B       _MM_GetPtr\r
+ 0000:1000 idle  __AHINCR\r
+ 0000:11EF       _MM_FreePtr\r
+ 0000:12C9 idle  _MM_SetPurge\r
+ 0000:138D idle  _MM_SetLock\r
+ 0000:1456 idle  _MM_SortMem\r
+ 0000:15CD       _MM_ShowMemory\r
+ 0000:17D0       _MM_DumpData\r
+ 0000:190C idle  _MM_UnusedMemory\r
+ 0000:197E idle  _MM_TotalFree\r
+ 0000:1A17       _MM_Report\r
+ 0000:1D23 idle  _MM_BombOnError\r
+ 0000:1D32 idle  _MM_GetNewBlock\r
+ 0000:1D88 idle  _MM_FreeBlock\r
+ 0000:1DC7 idle  _wait\r
+ 0000:1E06 idle  _AllocateLargestFreeBlock\r
+ 0000:1E9C idle  _GetFreeSize\r
+ 0000:1F69 idle  _AllocateLargestFarFreeBlock\r
+ 0000:200B idle  _GetFarFreeSize\r
+ 0000:20D8 idle  _filesize\r
+ 0000:2137       _US_CheckParm\r
+ 0000:2209       _CA_OpenDebug\r
+ 0000:222A       _CA_CloseDebug\r
+ 0000:2237 idle  _CA_FarRead\r
+ 0000:2275 idle  _CA_FarWrite\r
+ 0000:22B3 idle  _CA_ReadFile\r
+ 0000:231A       _CA_LoadFile\r
+ 0000:239F idle  _CAL_OptimizeNodes\r
+ 0000:240D       _CA_Startup\r
+ 0000:242E       _CA_Shutdown\r
+ 0000:243B idle  _atexit\r
+ 0000:245F       _clock\r
+ 0000:24A8       __dos_getfileattr\r
+ 0000:24C8 idle  __dos_setfileattr\r
+ 0000:2533       _exit\r
+ 0000:2542       __exit\r
+ 0000:2554 idle  __cexit\r
+ 0000:2562 idle  __c_exit\r
+ 0000:256E idle  N_LDIV@\r
+ 0000:2571 idle  LDIV@\r
+ 0000:2571 idle  F_LDIV@\r
+ 0000:2575       N_LUDIV@\r
+ 0000:2578 idle  F_LUDIV@\r
+ 0000:2578 idle  LUDIV@\r
+ 0000:257D idle  N_LMOD@\r
+ 0000:2580 idle  F_LMOD@\r
+ 0000:2580 idle  LMOD@\r
+ 0000:2585 idle  N_LUMOD@\r
+ 0000:2588 idle  LUMOD@\r
+ 0000:2588 idle  F_LUMOD@\r
+ 0000:261C       N_LXLSH@\r
+ 0000:261F idle  LXLSH@\r
+ 0000:261F idle  F_LXLSH@\r
+ 0000:263D       N_LXURSH@\r
+ 0000:2640 idle  LXURSH@\r
+ 0000:2640 idle  F_LXURSH@\r
+ 0000:265E       N_PADD@\r
+ 0000:2661 idle  F_PADD@\r
+ 0000:2661 idle  PADD@\r
+ 0000:268D idle  N_PSUB@\r
+ 0000:2690 idle  F_PSUB@\r
+ 0000:2690 idle  PSUB@\r
+ 0000:26BE       N_PSBP@\r
+ 0000:26C1 idle  PSBP@\r
+ 0000:26C1 idle  F_PSBP@\r
+ 0000:26E6       __IOERROR\r
+ 0000:271F       __DOSERROR\r
+ 0000:2731       _isatty\r
+ 0000:2742       __LONGTOA\r
+ 0000:27C4       __UTOA\r
+ 0000:27E4       _lseek\r
+ 0000:280D       __MKNAME\r
+ 0000:2866 idle  __TMPNAM\r
+ 0000:28BD       N_PCMP@\r
+ 0000:28DE       __setupio\r
+ 0000:2990       _tolower\r
+ 0000:29BC       _unlink\r
+ 0000:29EC       __VPRINTER\r
+ 0000:2EAF       __VPTR\r
+ 0000:2ED4       __VRAM\r
+ 0000:2F4E       __stpcpy\r
+ 0000:2F7E       _coreleft\r
+ 0000:2F82       __CPUTN\r
+ 0000:30B4 idle  _cprintf\r
+ 0000:310B       __VideoInt\r
+ 0000:3196 idle  __c0crtinit\r
+ 0000:31B3 idle  __crtinit\r
+ 0000:3294 idle  ___first\r
+ 0000:3296 idle  ___last\r
+ 0000:3298 idle  ___rover\r
+ 0000:33D4       _free\r
+ 0000:33D4       _farfree\r
+ 0000:34DE       _malloc\r
+ 0000:34E8       _farmalloc\r
+ 0000:3642 idle  _realloc\r
+ 0000:3649 idle  _farrealloc\r
+ 0000:3735       __brk\r
+ 0000:3774       __sbrk\r
+ 0000:37FF       _farcoreleft\r
+ 0000:384F       _getch\r
+ 0000:3868 idle  __Ngetche\r
+ 0000:3868 idle  _getche\r
+ 0000:3885 idle  __Nungetch\r
+ 0000:3885 idle  _ungetch\r
+ 0000:38A3       _gettext\r
+ 0000:38F9       _puttext\r
+ 0000:394F       _ioctl\r
+ 0000:3978       _kbhit\r
+ 0000:398A       _movetext\r
+ 0000:3A27       _putch\r
+ 0000:3A3E       __REALCVT\r
+ 0000:3B78       __SCREENIO\r
+ 0000:3BB4       __VALIDATEXY\r
+ 0000:3C2B       __SCROLL\r
+ 0000:3EB6       _setblock\r
+ 0000:3ED2       __wherexy\r
+ 0000:3EDC idle  _wherex\r
+ 0000:3EEB idle  _wherey\r
+ 0000:3EFE       __chmod\r
+ 0000:3F1B       _close\r
+ 0000:3F41       __close\r
+ 0000:3F5F       _fclose\r
+ 0000:400F       _fflush\r
+ 0000:40D5       _filelength\r
+ 0000:4116       _flushall\r
+ 0000:420C idle  __OPENFP\r
+ 0000:42D5 idle  __GETFP\r
+ 0000:431F       _fopen\r
+ 0000:4354       _fprintf\r
+ 0000:43F2       _fseek\r
+ 0000:446E       _ftell\r
+ 0000:4548 idle  _itoa\r
+ 0000:4573       _ultoa\r
+ 0000:4590 idle  _ltoa\r
+ 0000:45B8       _memcpy\r
+ 0000:45DC       _movedata\r
+ 0000:462B       _open\r
+ 0000:478B       __open\r
+ 0000:47DA       _printf\r
+ 0000:47F5 idle  __fputc\r
+ 0000:480F idle  _fputc\r
+ 0000:4998 idle  _fputchar\r
+ 0000:49AB       __FPUTN\r
+ 0000:4B99       _setvbuf\r
+ 0000:4CAA       _strcat\r
+ 0000:4CE9       _strcpy\r
+ 0000:4D12       _strlen\r
+ 0000:4D31       ___write\r
+ 0000:4E7A       __write\r
+ 0000:4EB6       _write\r
+ 0000:4EB9       __xfclose\r
+ 0000:4EF4       __xfflush\r
+ 04F3:0000 idle  DATASEG@\r
+ 04F3:005B idle  __Int0Vector\r
+ 04F3:005F idle  __Int4Vector\r
+ 04F3:0063 idle  __Int5Vector\r
+ 04F3:0067 idle  __Int6Vector\r
+ 04F3:006B       __C0argc\r
+ 04F3:006D       __C0argv\r
+ 04F3:0071 idle  __C0environ\r
+ 04F3:0075       __envLng\r
+ 04F3:0077       __envseg\r
+ 04F3:0079 idle  __envSize\r
+ 04F3:007B       __psp\r
+ 04F3:007D idle  __osversion\r
+ 04F3:007D       __osmajor\r
+ 04F3:007D idle  __version\r
+ 04F3:007E idle  __osminor\r
+ 04F3:007F       _errno\r
+ 04F3:0081       __StartTime\r
+ 04F3:0085 idle  ___brklvl\r
+ 04F3:0087       __heapbase\r
+ 04F3:008B       __brklvl\r
+ 04F3:008F       __heaptop\r
+ 04F3:0CFC       __atexitcnt\r
+ 04F3:0CFE       __ctype\r
+ 04F3:0E00       __exitbuf\r
+ 04F3:0E02       __exitfopen\r
+ 04F3:0E04 idle  __exitopen\r
+ 04F3:0E06       __streams\r
+ 04F3:0F96       __nfile\r
+ 04F3:0F98       __openfd\r
+ 04F3:0FC0       __fmode\r
+ 04F3:0FC2       __notUmask\r
+ 04F3:0FC4       __doserrno\r
+ 04F3:0FC6 idle  __dosErrorToSV\r
+ 04F3:102A       __stklen\r
+ 04F3:1094       __wscroll\r
+ 04F3:1096       __video\r
+ 04F3:10A5       _directvideo\r
+ 04F3:10E2       __cFlag\r
+ 04F3:10E3       __cChar\r
+ 04F3:10E4       __argc\r
+ 04F3:10E6       __argv\r
+ 04F3:10FA       __RealCvtVector\r
+ 04F3:10FC idle  __ScanTodVector\r
+ 04F3:1114 idle  _XMSaddr\r
+ 04F3:1116 idle  _aftersort\r
+ 04F3:1118 idle  _beforesort\r
+ 04F3:111A idle  _finishcachebox\r
+ 04F3:111C idle  _updatecachebox\r
+ 04F3:111E idle  _drawcachebox\r
+ 04F3:1120       _debughandle\r
+ 04F3:1122 idle  _profilehandle\r
+ 04F3:1124       __atexittbl\r
+\r
+Program entry point at 0000:0000\r
 \r
index 785304c705662ca809b9299250aa02d53783d46e..7a51675a5aaac9344e615159d70692a9a321ad61 100644 (file)
Binary files a/16/exmmtest/EXMMTEST.PRJ and b/16/exmmtest/EXMMTEST.PRJ differ
similarity index 100%
rename from PROFILE.16
rename to 16/exmmtest/MMDUMP.16
diff --git a/16/exmmtest/PROFILE.16 b/16/exmmtest/PROFILE.16
new file mode 100644 (file)
index 0000000..e69de29
index d2491c4262d7f87d6553461c715643fdc4f3d125..42d2d1b56eb693f412077494b333eae49352e83d 100644 (file)
 
 //file load or read definition
 #define FILERL
-#define FILEREAD
+//#define FILEREAD
 
 void
 main(int argc, char *argv[])
 {
        mminfo_t mm; mminfotype mmi;
-       void _seg * segu;
+       unsigned __far *segu;
 #ifdef FILERL
        memptr bigbuffer;
        char *bakapee;
@@ -57,7 +57,9 @@ main(int argc, char *argv[])
        //mmi.segu=FP_SEG(segu);
 
        printf("&main()=%Fp\n", *argv[0]);
-       printf("&segu=%p\n", (segu));
+       printf("&segu=%Fp\n", &segu);
+       printf("bigbuffer=      %Fp\n", bigbuffer);
+       printf("&bigbuffer=     %Fp\n", &bigbuffer);
        //printf("mmi.segu=%p\n", (mmi.segu));
 
 #ifdef FILERL
@@ -94,7 +96,9 @@ main(int argc, char *argv[])
                exit(-5);
        }*/
        printf("&main()=%Fp\n", *argv[0]);
-       printf("&segu=%p\n", (segu));\r
+       printf("&segu=%Fp\n", &segu);
+       printf("bigbuffer=      %Fp\n", bigbuffer);
+       printf("&bigbuffer=     %Fp\n", &bigbuffer);\r
        //printf("mmi.segu=%p\n", (mmi.segu));
 #ifdef FILERL
 //     bakapeehandle = open(bakapee,O_RDONLY | O_BINARY, S_IREAD);
@@ -112,7 +116,7 @@ main(int argc, char *argv[])
                baka=0;
 //     close(bakapeehandle);
        //hmm functions in cache system use the buffered stuff
-       printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
+//     printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
 #endif
        printf("dark purple = purgable\n");
        printf("medium blue = non purgable\n");
@@ -138,5 +142,6 @@ main(int argc, char *argv[])
        if(baka) printf("\nyay!\n");
        else printf("\npoo!\n");
 #endif
-       printf("_bios_memsize=%u\n", _bios_memsize());
+       printf("bigbuffer=      %Fp\n", bigbuffer);
+       printf("&bigbuffer=     %Fp\n", &bigbuffer);
 }
index 5317ade1f2a3d023f18862ffbc1446105260f4b9..f008f6c9137333bd980844c916e96e81c25c5056 100644 (file)
@@ -16,8 +16,8 @@ local variable bee=           0bce
 far pointer value of pee=      0000:0000\r
 pointer value of pee=          0000\r
 ==compact is what project 16 uses==\r
-local variable bee=            05d5:0c32\r
-local variable bee=            05d5:0c32\r
+local variable bee=            05d4:0c32\r
+local variable bee=            05d4:0c32\r
 far pointer value of pee=      0000:0000\r
 pointer value of pee=          0000:0000\r
 ==large==\r
index 03c13ab3e98e83b325ee7540e28b6851b68d4b64..6532eed7a7ca2e901ea1eaa3106ea7a87e377fbe 100644 (file)
@@ -25,8 +25,7 @@
 #include <stdio.h>
 #ifdef __WATCOMC__
 //typedef void __based(__self) * memptr;
-//typedef __segment * memptr;
-typedef __segment * memptr;
+typedef __segment memptr;
 #endif
 #ifdef __BORLANDC__
 typedef void _seg * memptr;
index 6a00ab3d687347b8abc6741a2209fbdf1bbbcfc9..608fec8bda20851d06077c31ddcc16f4d2f4db51 100644 (file)
Binary files a/16/segm/pee.exe and b/16/segm/pee.exe differ
diff --git a/DEBUG.16 b/DEBUG.16
deleted file mode 100644 (file)
index 9ffc225..0000000
--- a/DEBUG.16
+++ /dev/null
@@ -1,16 +0,0 @@
-Seg:0  Size:6760       Owner:0x8709\r
-Seg:1b41       Size:33 Owner:0x6843\r
-Seg:1b62       Size:256        Owner:0xc25c\r
-Seg:1f07       Size:45306      Owner:0x20\r
-Seg:d021       Size:4294967264 Owner:0xc70\r
-Seg:d021       Size:4294967264 Owner:0x102\r
-Seg:d021       Size:4294967264 Owner:0xe712\r
-Seg:d021       Size:4294967264 Owner:0x1f00\r
-Seg:d021       Size:4294967264 Owner:0xe70b\r
-Seg:d021       Size:4294967264 Owner:0x656e\r
-Seg:d021       Size:4294967264 Owner:0x5e7\r
-Seg:d021       Size:4294967264 Owner:0x2020\r
-Seg:d021       Size:4294967264 Owner:0x0\r
-Seg:d021       Size:4294967264 Owner:0x0\r
-Seg:d021       Size:525        Owner:0x1500\r
-Seg:e000       Size:4294909951 Owner:0xffff\r
diff --git a/MMDUMP.16 b/MMDUMP.16
deleted file mode 100644 (file)
index f5d78c5..0000000
Binary files a/MMDUMP.16 and /dev/null differ
index 38fcc5951aacdc36d718d66a15f6c06bc42a16b9..44c686380f716d5d7d24a4a8da49a5b7db8049ec 100644 (file)
Binary files a/exmmtest.exe and b/exmmtest.exe differ
index afbc9d042000e39255208fa1aab0fb7bca977f0b..60354499b26f5ce157263b2a79c8077c5c290d89 100644 (file)
@@ -42,7 +42,6 @@ void
 main(int argc, char *argv[])
 {
        mminfo_t mm; mminfotype mmi;
-       __segment segu;
 #ifdef FILERL
        memptr bigbuffer;
        char *bakapee;
@@ -54,7 +53,7 @@ main(int argc, char *argv[])
        //mmi.segu=FP_SEG(segu);
 
        printf("&main()=%Fp\n", *argv[0]);
-       printf("&segu=%p\n", (segu));
+       printf("&bigbuffer=%Fp\n", &bigbuffer);
        //printf("mmi.segu=%p\n", (mmi.segu));
 
 #ifdef FILERL
@@ -91,11 +90,11 @@ main(int argc, char *argv[])
                exit(-5);
        }*/
        printf("&main()=%Fp\n", *argv[0]);
-       printf("&segu=%p\n", (segu));\r
+       printf("&bigbuffer=%Fp\n", &bigbuffer);\r
        //printf("mmi.segu=%p\n", (mmi.segu));
 #ifdef FILERL
 //     bakapeehandle = open(bakapee,O_RDONLY | O_BINARY, S_IREAD);
-       printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
+//     printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
 //     if(CA_FarRead(bakapeehandle,(void far *)&bigbuffer,sizeof(bigbuffer),&mm))
 #ifdef FILEREAD
        printf("                read\n");
@@ -109,7 +108,7 @@ main(int argc, char *argv[])
                baka=0;
 //     close(bakapeehandle);
        //hmm functions in cache system use the buffered stuff
-       printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
+//     printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
 #endif
        printf("dark purple = purgable\n");
        printf("medium blue = non purgable\n");
@@ -135,5 +134,7 @@ main(int argc, char *argv[])
        if(baka) printf("\nyay!\n");
        else printf("\npoo!\n");
 #endif
-       printf("_bios_memsize=%u\n", _bios_memsize());
+       //printf("_bios_memsize=%u\n", _bios_memsize());
+       printf("bigbuffer=      %Fp\n", bigbuffer);
+       printf("&bigbuffer=     %Fp\n", &bigbuffer);
 }
index f74a5710a4349999c819f619c959e02f890c7f2d..b740655ca1cebe39dea9c9c05222fdd7db12f2cd 100644 (file)
@@ -215,7 +215,7 @@ void CAL_GetGrChunkLength (int chunk)
 ==========================\r
 */\r
 \r
-boolean CA_FarRead(int handle, byte huge *dest, dword length, mminfo_t *mm)\r
+boolean CA_FarRead(int handle, word huge *dest, dword length, mminfo_t *mm)\r
 {\r
        boolean flag;\r
        /*dword fat=0;
@@ -271,7 +271,7 @@ End:
 ==========================\r
 */\r
 \r
-boolean CA_FarWrite(int handle, byte huge *source, dword length, mminfo_t *mm)\r
+boolean CA_FarWrite(int handle, word huge *source, dword length, mminfo_t *mm)\r
 {\r
        boolean flag;\r
        /*dword fat=0;
index 77809387576c8437e4e1978adf7b33614dbc011c..1dc0ce76cc8cb25140fa1e12f4024991cc4756e5 100644 (file)
@@ -83,8 +83,8 @@ extern        void    (*finishcachebox)       (void);
 
 void CA_OpenDebug (void);\r
 void CA_CloseDebug (void);
-boolean CA_FarRead (int handle, byte huge *dest, dword length, mminfo_t *mm);\r
-boolean CA_FarWrite (int handle, byte huge *source, dword length, mminfo_t *mm);
+boolean CA_FarRead (int handle, word huge *dest, dword length, mminfo_t *mm);\r
+boolean CA_FarWrite (int handle, word huge *source, dword length, mminfo_t *mm);
 \r
 boolean CA_ReadFile (char *filename, memptr *ptr, mminfo_t *mm);\r
 boolean CA_LoadFile (char *filename, memptr *ptr, mminfo_t *mm, mminfotype *mmi);
index 807b297e871b668efb513ace312f20cd03755aa2..0fe12ce3857c59bbff9db092a1639692265227a0 100644 (file)
@@ -42,6 +42,7 @@
 #include <fcntl.h>\r
 #include <sys/stat.h>
 #include <mem.h>
+//#include <fenv.h>
 #include "src/lib/types.h"
 
 /* Control codes for all keys on the keyboard */
@@ -140,10 +141,12 @@ static dword far* clockdw= (dword far*) 0x046C; /* 18.2hz clock */
 //static dword clockdw=0;
 extern int                     profilehandle,debughandle;      //make it into game global
 
-#define        nil     ((void *)0)
-
 #define __DEBUG__
 
+//#define _SEGU(__p) ((unsigned)((unsigned long)(void __huge*)(__p) >> 16))
+
+#define        nil     ((void *)0)
+
 #define peekb(segm,ofs) (*(byte far*)MK_FP((segm),(ofs)))\r
 #define peekw(segm,ofs) (*(word far*)MK_FP((segm),(ofs)))\r
 #define pokeb(segm,ofs,value) (peekb((segm),(ofs)) = (byte)(value))\r
@@ -152,9 +155,9 @@ extern      int                     profilehandle,debughandle;      //make it into game global
 typedef union REGPACK  regs_t;
 typedef        enum    {false,true}    boolean;
 //I hope this is correct!
-//__self
 typedef void __based(__self) * memptr;
 //typedef __segment * memptr;
+//typedef fenp.op_ptr_seg * memptr;//=fenv_t.;
 typedef struct
 {\r
        int old_mode;   //old video mode before game!