From: sparky4 Date: Tue, 21 Jul 2015 17:23:35 +0000 (-0500) Subject: pee X-Git-Url: http://4ch.mooo.com/gitweb/?p=16.git;a=commitdiff_plain;h=6c94ef75b28003fa453cbb1ee47c985c9a3a0a84 pee modified: DEBUG.TXT modified: MMDUMP.TXT modified: exmmtest.exe modified: src/lib/16_mm.c modified: src/lib/16_mm.h --- diff --git a/DEBUG.TXT b/DEBUG.TXT index a9cdbe7a..4505bcdc 100644 --- a/DEBUG.TXT +++ b/DEBUG.TXT @@ -1,5 +1,7 @@ -Seg:0 Size:143152 Owner:0x9a50 -Seg:22f3 Size:4096 Owner:0x97a0 -Seg:2560 Size:544 Owner:0x90c7 -Seg:280f Size:753424 Owner:0x70bc -Seg:e000 Size:131056 Owner:0x8d03 +Seg:0 Size:114016 Owner:0xbc84 +Seg:1bd6 Size:8192 Owner:0x7972 +Seg:2200 Size:8512 Owner:0xb1dc +Seg:2a5e Size:743968 Owner:0x7c00 +Seg:e000 Size:31344 Owner:0x9aa8 + +MM_ShowMemory: Memory block order currupted! diff --git a/MMDUMP.TXT b/MMDUMP.TXT index b5a1baa0..e69de29b 100644 Binary files a/MMDUMP.TXT and b/MMDUMP.TXT differ diff --git a/exmmtest.exe b/exmmtest.exe index 84a2e387..36037c4f 100644 Binary files a/exmmtest.exe and b/exmmtest.exe differ diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index 38449a14..fc5238a3 100644 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -548,14 +548,14 @@ void MML_UseSpace(/*d*/word segstart, dword seglength, mminfo_t *mm) // oldend = scan->start + scan->length; extra = oldend - (segstart+seglength); - +/* printf("segm=%u ", segm); printf("ex=%lu ", extra); printf("start+seglen=%lu ", segstart+seglength); printf("len=%u ", scan->length); printf("segsta=%x ", segstart); printf("seglen=%lu\n", seglength); - +*/ //segu: //++++todo: linked list of segment! //printf("segm=%lu\n", segm); @@ -1395,82 +1395,120 @@ void MM_EMSerr(byte *stri, byte err) //Returns a text string describing the error code in EMS.Error. fprintf(stderr, "\n%x\n\n", err); fprintf(stderr, "\n%u\n\n", err); + getch(); switch(err) { case 0x0: strcat(stri, "successful"); + break; case 0x80: strcat(stri, "internal error"); + break; case 0x81: strcat(stri, "hardware malfunction"); + break; case 0x82: strcat(stri, "busy .. retry later"); + break; case 0x83: strcat(stri, "invalid handle"); + break; case 0x84: strcat(stri, "undefined function requested by application"); + break; case 0x85: strcat(stri, "no more handles available"); + break; case 0x86: strcat(stri, "error in save or restore of mapping context"); + break; case 0x87: strcat(stri, "insufficient memory pages in system"); + break; case 0x88: strcat(stri, "insufficient memory pages available"); + break; case 0x89: strcat(stri, "zero pages requested"); + break; case 0x8A: strcat(stri, "invalid logical page number encountered"); + break; case 0x8B: strcat(stri, "invalid physical page number encountered"); + break; case 0x8C: strcat(stri, "page-mapping hardware state save area is full"); + break; case 0x8D: strcat(stri, "save of mapping context failed"); + break; case 0x8E: strcat(stri, "restore of mapping context failed"); + break; case 0x8F: strcat(stri, "undefined subfunction"); + break; case 0x90: strcat(stri, "undefined attribute type"); + break; case 0x91: strcat(stri, "feature not supported"); + break; case 0x92: strcat(stri, "successful, but a portion of the source region has been overwritten"); + break; case 0x93: strcat(stri, "length of source or destination region exceeds length of region allocated to either source or destination handle"); + break; case 0x94: strcat(stri, "conventional and expanded memory regions overlap"); + break; case 0x95: strcat(stri, "offset within logical page exceeds size of logical page"); + break; case 0x96: strcat(stri, "region length exceeds 1 MB"); + break; case 0x97: strcat(stri, "source and destination EMS regions have same handle and overlap"); + break; case 0x98: strcat(stri, "memory source or destination type undefined"); + break; case 0x9A: strcat(stri, "specified alternate map register or DMA register set not supported"); + break; case 0x9B: strcat(stri, "all alternate map register or DMA register sets currently allocated"); + break; case 0x9C: strcat(stri, "alternate map register or DMA register sets not supported"); + break; case 0x9D: strcat(stri, "undefined or unallocated alternate map register or DMA register set"); + break; case 0x9E: strcat(stri, "dedicated DMA channels not supported"); + break; case 0x9F: strcat(stri, "specified dedicated DMA channel not supported"); + break; case 0xA0: strcat(stri, "no such handle name"); + break; case 0xA1: strcat(stri, "a handle found had no name, or duplicate handle name"); + break; case 0xA2: strcat(stri, "attempted to wrap around 1M conventional address space"); + break; case 0xA3: strcat(stri, "source array corrupted"); + break; case 0xA4: strcat(stri, "operating system denied access"); + break; default: strcat(stri, "undefined error"); } diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index 0ee0c8e3..fb8b79c4 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -39,7 +39,7 @@ #define SAVENEARHEAP 0x200 // space to leave in data segment #define SAVEFARHEAP 0 // space to leave in far heap -#define BUFFERSIZE 0x1000 // miscelanious, allways available buffer +#define BUFFERSIZE 0x2000 // miscelanious, allways available buffer #define MAXBLOCKS 600