From c0ae467c0485d2b22069a67aef17cad58bd2aa96 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Tue, 21 Jul 2015 10:28:06 -0500 Subject: [PATCH] ok! modified: awoo.sh modified: exmmtest.exe modified: src/lib/16_mm.c modified: src/lib/16_mm.h --- awoo.sh | 1 + exmmtest.exe | Bin 54797 -> 54827 bytes src/lib/16_mm.c | 29 ++++++++++++++++------------- src/lib/16_mm.h | 6 +++--- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/awoo.sh b/awoo.sh index 9e26c560..5ef0ca15 100644 --- a/awoo.sh +++ b/awoo.sh @@ -1,3 +1,4 @@ #!/bin/bash git add . bash ./boop.sh +cp exmmtest.exe /var/www/html/ diff --git a/exmmtest.exe b/exmmtest.exe index d13e21ed3fc608108fbc1e8d66997ae2849ba83e..22a4fa56d6dad04c5d383a827a6832d25e3ca6b5 100644 GIT binary patch delta 16206 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 = (i)*0x4000lu; return 0; } -byte MM_MapXEMS(mminfo_t *mm) +byte MM_MapXEMS(mminfo_t *mm, mminfotype *mmi) { //SUB EMS.MapXPages (PhysicalStart, LogicalStart, NumPages, Handle) @@ -330,9 +331,9 @@ byte MM_MapXEMS(mminfo_t *mm) // EMS.Error = (Regs.ax AND &HFF00&) \ &H100 //Store the status code //END SUB - char str[80];//,str2[10]; - unsigned EMShandle; + char str[80]; byte err; + word EMShandle; boolean errorflag=false; int i; EMShandle=mm->EMShandle; @@ -344,7 +345,7 @@ byte MM_MapXEMS(mminfo_t *mm) { __asm { - mov ah,EMS_MAPXPAGE + mov ax,EMS_MAPXPAGE mov cx,[i] // logical page mov al,bl // physical page mov dx,[EMShandle] // handle @@ -369,6 +370,7 @@ byte MM_MapXEMS(mminfo_t *mm) return err; } } + mmi->EMSmem = (i)*0x4000lu; return 0; } @@ -698,7 +700,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) // // detect EMS and allocate up to 64K at page frame // - printf("EMS!\n\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! + printf("EMS1\n\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++) { @@ -708,16 +710,17 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) 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! if(MML_CheckForEMS()) { -printf("EMS1\n"); - MML_SetupEMS(mm); // allocate space printf("EMS2\n"); + MML_SetupEMS(mm); // allocate space +printf("EMS3\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! //TODO: EMS4! AND EMS 3.2 MASSIVE DATA HANDLMENT! MML_UseSpace(mm->EMSpageframe,(MAPPAGES)*0x4000lu, mm); -printf("EMS3\n"); - MM_MapEMS(mm); // map in used pages printf("EMS4\n"); - mmi->EMSmem = (MAPPAGES)*0x4000lu; + if(mm->EMSVer<0x40) + MM_MapEMS(mm, mmi); // map in used pages + else + MM_MapXEMS(mm, mmi); // map in used pages } // diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index 974af530..8b729644 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -54,7 +54,7 @@ #define EMS_GETPAGES 0x42 #define EMS_ALLOCPAGES 0x43 #define EMS_MAPPAGE 0x44 -#define EMS_MAPXPAGE 0x50 +#define EMS_MAPXPAGE 0x5000 #define EMS_FREEPAGES 0x45 #define EMS_VERSION 0x46 @@ -166,8 +166,8 @@ typedef struct boolean MML_CheckForEMS(void); byte MML_SetupEMS(mminfo_t *mm); void MML_ShutdownEMS(mminfo_t *mm); -byte MM_MapEMS(mminfo_t *mm); -byte MM_MapXEMS(mminfo_t *mm); +byte MM_MapEMS(mminfo_t *mm, mminfotype *mmi); +byte MM_MapXEMS(mminfo_t *mm, mminfotype *mmi); boolean MML_CheckForXMS(mminfo_t *mm); void MML_SetupXMS(mminfo_t *mm, mminfotype *mmi); void MML_ShutdownXMS(mminfo_t *mm); -- 2.39.2