From 8f435c884a38d1d14b3b95940156245da755872f Mon Sep 17 00:00:00 2001 From: sparky4 Date: Thu, 11 Dec 2014 13:06:45 -0600 Subject: [PATCH] i do not know how to allocate and move variables to EMS modified: scroll.exe modified: src/lib/ems.c modified: src/lib/xms.c modified: src/scroll.c --- scroll.exe | Bin 53729 -> 54323 bytes src/lib/ems.c | 30 ++++++++++++++++++++++++++++++ src/lib/xms.c | 2 +- src/scroll.c | 15 ++++++++++----- 4 files changed, 41 insertions(+), 6 deletions(-) diff --git a/scroll.exe b/scroll.exe index c68134465168f82b1507acf11cd3953e075eb473..c2c6c3fc1ecbe1e9eef169b0f4d1fb3ea0adf0c8 100644 GIT binary patch delta 14485 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 CCkP7w delta 13949 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 diff --git a/src/lib/ems.c b/src/lib/ems.c index 9883f60c..52658e56 100644 --- a/src/lib/ems.c +++ b/src/lib/ems.c @@ -287,3 +287,33 @@ int mem_emem(unsigned int *total, unsigned int *freeall) return( 1 ); } + +void emmmove(int page, short *str, int n) + { + /* + Move 'n' bytes from conventional memory to the specified + expanded memory + page + */ + + char far *ptr; + + ptr = pageframeEMS() + page * 16384; + while(n-- > 0) + *ptr++ = *str++; + } + + void emmget(int page, short *str, int n) + { + /* + Move 'n' bytes from the specified expanded memory page into + conventional + memory + */ + + char far *ptr; + + ptr = pageframeEMS() + page * 16384; + while(n-- > 0) + *str++ = *ptr++; + } diff --git a/src/lib/xms.c b/src/lib/xms.c index 09797210..1781754f 100644 --- a/src/lib/xms.c +++ b/src/lib/xms.c @@ -82,7 +82,7 @@ void huge * xmsmalloc(long unsigned int size) call [XMSControl] mov [XMSStatus], ax - mov word ptr [XMSPointer], bx + mov word ptr [XMSPointer], bx mov word ptr [XMSPointer+2],dx } diff --git a/src/scroll.c b/src/scroll.c index 45c705ee..68683202 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -75,7 +75,8 @@ void main() { bitmap_t ptmp;//, npctmp; // player sprite const char *cpus; static int persist_aniframe = 0; /* gonna be increased to 1 before being used, so 0 is ok for default */ - int emmhandle; + int emmhandle; + XMOVE mm; page_t screen, screen2, screen3; map_t map; map_view_t mv, mv2, mv3; @@ -88,10 +89,11 @@ void main() { if(isEMS()) printf("%d\n", coretotalEMS()); if(isEMS()) { - emmhandle = alloc_emem(1024); + emmhandle = mallocEMS(coretotalEMS()); mapEMS(emmhandle, 0, 0); - move_emem((XMOVE *)&map); -// printf("%d\n", emmhandle); + //halp! + //move_emem((XMOVE *)&map); + //printf("%d\n", emmhandle); printf("%d\n", coretotalEMS()); } @@ -105,7 +107,8 @@ void main() { /* draw the tiles */ ptr = map.data; /* data */ - ptmp = bitmapLoadPcx("ptmp.pcx"); // load sprite + ptmp = bitmapLoadPcx("ptmp.pcx"); // load sprite + //if(isEMS()) emmmove(emmhandle,ptmp,sizeof(ptmp)+ 1); //npctmp = bitmapLoadPcx("ptmp1.pcx"); // load sprite /* save the palette */ @@ -495,8 +498,10 @@ void main() { //xmsreport(); if(isEMS()) { + printf("%d\n", get_emem()); printf("%d\n", coretotalEMS()); dealloc_emem(emmhandle); + //freeEMS(emmtotal); printf("%d\n", coretotalEMS()); } switch(detectcpu()) -- 2.39.5