From 6c94ef75b28003fa453cbb1ee47c985c9a3a0a84 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Tue, 21 Jul 2015 12:23:35 -0500 Subject: [PATCH] pee modified: DEBUG.TXT modified: MMDUMP.TXT modified: exmmtest.exe modified: src/lib/16_mm.c modified: src/lib/16_mm.h --- DEBUG.TXT | 12 +++++++----- MMDUMP.TXT | Bin 125 -> 0 bytes exmmtest.exe | Bin 58853 -> 58643 bytes src/lib/16_mm.c | 42 ++++++++++++++++++++++++++++++++++++++++-- src/lib/16_mm.h | 2 +- 5 files changed, 48 insertions(+), 8 deletions(-) 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 b5a1baa034c4baa3d4480d96558cdcbf7319f8f6..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 125 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 delta 18955 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 + 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 -- 2.39.5