X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Fexmmtest.c;h=7e3bd8de5e46b49a7029ec360f266a5869793113;hb=6cb7af40446a399db9f56ba66d8db74a1a1f3181;hp=d668c2db7cdbffe4d7c96343ae063ee8f767c1c9;hpb=597af81b9704b1b5e5c6753071e6e0ee18b1a9d5;p=16.git diff --git a/src/exmmtest.c b/src/exmmtest.c index d668c2db..7e3bd8de 100755 --- a/src/exmmtest.c +++ b/src/exmmtest.c @@ -22,51 +22,7 @@ /* exmm test */ -#include // for _memavl() -#include "src/lib/16_head.h" -#include "src/lib/16_tail.h" -#include "src/lib/16_pm.h" -#include "src/lib/16_ca.h" -#include "src/lib/16_mm.h" -#include "src/lib/16_hc.h" -#include "src/lib/16_dbg.h" - -#pragma hdrstop - -#pragma warn -pro -#pragma warn -use - -//file load or read definition -#define FILEREADLOAD -#define FILEREAD -//#define EXMMVERBOSE -//#define BUFFDUMPPAUSE -//#define EXMMVERBOSE__ -// #define PRINTBBDUMP -#define BUFFDUMP - -#ifdef __BORLANDC__ -#define NOVID -#endif -#ifdef __WATCOMC__ -//#define NOVID -#endif - - -#define KEYP IN_Shutdown(&gvar); printf("\n\npress any key to continue!\n"); getch(); IN_Startup(&gvar); - -#define BBUFNAME gvar.mm.bufferseg//bigbuffer -//#define INITBBUF static memptr BBUFNAME; -#define BBUFPTR MEMPTR BBUFNAME - -#ifdef __BORLANDC__ -#define BBUF (memptr *)BBUFPTR -#define BBUFSTRING (memptr *)BBUFNAME -#endif -#ifdef __WATCOMC__ -#define BBUF BBUFNAME -#define BBUFSTRING BBUF -#endif +#include "src/exmmtest.h" //////////////////////////////////////////////////////////////////////////// #ifdef NOVID @@ -77,36 +33,35 @@ void VGAmodeX(sword vq, boolean cmem, global_game_variables_t *gv) printf("VGAmodeX dummy:\n %Fp %Fp %Fp\n", &vq, &cmem, gv); } -word modexPalOverscan(word col) +word +VL_modexPalOverscan(byte *p, word col) { + int i; //modexWaitBorder(); +// vga_wait_for_vsync(); outp(PAL_WRITE_REG, 0); /* start at the beginning of palette */ - outp(PAL_DATA_REG, col); + for(i=col; i<(3+col); i++) + { + outp(PAL_DATA_REG, p[i]); + } +// modexPalSave(p); return col; } void TL_VidInit(global_game_variables_t *gvar) { gvar->video.old_mode = 3; } + +void VL_print(const byte *str, nibble pagenum, global_game_variables_t *gvar){ printf("%s\n", str); } + +#ifdef __WATCOMC__ +void VL_ShowPage(page_t *page, boolean vsync, boolean sr){} +void modexClearRegion(page_t *page, int x, int y, int w, int h, byte color){} +void modexprint(page_t *page, sword x, sword y, word t, boolean tlsw, word color, word bgcolor, boolean vidsw, const byte *str){ printf("%s\n", str); } +void modexpdump(nibble pagenum, global_game_variables_t *gvar){} +#endif #endif -//printf("* %Fp\t", *BBUF); -//printf("* %04x\t", *BBUF); -#define PRINTBB {\ - printf("-------------------------------------------------------------------------------\n");\ - printf("&main()= %Fp\n", argv[0]);\ - printf("buffer:\n");\ - printf(" %Fp\t", BBUF);\ - printf("&%Fp\n", BBUFPTR);\ - printf(" %04x\t", BBUF);\ - printf("& %04x\n", BBUFPTR);\ - printf("-------------------------------------------------------------------------------\n");\ -} - //printf("&main()= %Fp\n", *argv[0]); - //printf("bigbuffer= %Fp\n", bigbuffer); - //printf("&bigbuffer= %Fp\n", &bigbuffer); - //printf("bigbuffer= %04x\n", bigbuffer); - //printf("&bigbuffer= %04x\n", &bigbuffer); #ifdef __WATCOMC__ void segatesuto() { @@ -129,6 +84,14 @@ void segatesuto() } #endif +#ifdef SCROLLLOAD +#define FILENAME_1 "data/spri/chikyuu.vrs" +#define FILENAME_2 "data/test.map" +#else +#define FILENAME_1 "data/spri/chikyuu.sht" +#define FILENAME_2 "data/test.map" +#endif + //===========================================================================// //=======================================// @@ -139,22 +102,13 @@ void segatesuto() void main(int argc, char *argv[]) { - byte w; - #ifndef NOVID - boolean done; - ScanCode scan; - #endif static global_game_variables_t gvar; #ifdef INITBBUF INITBBUF #endif -#if 0 -//#ifdef __WATCOMC__ - __segment sega; -#endif - char bakapee1[64] = "data/koishi~.pcx"; - char bakapee2[64] = "data/test.map"; - word baka; + + char bakapee1[64] = FILENAME_1; + char bakapee2[64] = FILENAME_2; #ifdef __BORLANDC__ argc=argc; @@ -177,42 +131,33 @@ main(int argc, char *argv[]) if(argv[1]){ strcpy(bakapee1, argv[1]);//bakapee1[] = *argv[1]; if(argv[2]) strcpy(bakapee2, argv[2]); }//bakapee2[] = argv[2]; } -#if 0 - else{ - //{ printf("filename!: "); scanf("%[^\n]", &bakapee); } - strcpy(bakapee1, "data/koishi~.pcx"); //bakapee1 = "data/koishi~.pcx"; - strcpy(bakapee2, "data/test.map"); //bakapee2 = "data/test.map"; - } -#endif + printf("bakapee1[%s]\n", bakapee1); printf("bakapee2[%s]\n", bakapee2); + #ifdef EXMMVERBOSE__ + printf("coreleft(): %u\n", coreleft()); + printf("farcoreleft(): %ld\n", farcoreleft()); + #endif + printf("stackavail()=%u\n", stackavail()); KEYP #ifndef NOVID Startup16(&gvar); // save the palette - modexPalSave(&gvar.video.dpal); modexFadeOff(4, &gvar.video.dpal); //modexPalBlack(); + modexPalSave(&gvar.video.dpal); //modexFadeOff(4, &gvar.video.dpal); //modexPalBlack(); #else //NOVID StartupCAMMPM(&gvar); -/* MM_Startup(&gvar); - #ifdef __16_PM__ - #ifdef __DEBUG_PM__ - if(dbg_debugpm>0) - { - #endif //__DEBUG_PM__ - PM_Startup(&gvar); PM_CheckMainMem(&gvar); PM_UnlockMainMem(&gvar); - //0000printf("PM Started\n"); KEYP - #ifdef __DEBUG_PM__ - } - #endif //__DEBUG_PM__ - #endif //__16_PM__ - CA_Startup(&gvar);*/ #endif //elsed NOVID #ifdef PRINTBBDUMP //0000 PRINTBB; KEYP #endif + IN_Default(0,&gvar.player[0],ctrl_Keyboard1, &gvar); + IN_SetControlType(&gvar.player[0],ctrl_Keyboard1); + + { + byte w; word baka; w=0; #ifdef FILEREADLOAD #ifdef FILEREAD @@ -232,18 +177,35 @@ PRINTBB; KEYP if(CA_LoadFile(bakapee1, BBUFPTR, &gvar)) baka=1; else baka=0; printf("====================================load end===================================\n"); } - //#ifdef __WATCOMC__ - // printf("\nsize of big buffer~=%u\n", _bmsize(sega, BBUF)); - //#endif #ifdef BUFFDUMP - printf("contents of the buffer\n[\n%s\n]\n", BBUFSTRING); - #endif// #else + { + size_t file_s; + FILE *fh; + + if(!w) fh = fopen(bakapee1, "r"); + else fh = fopen(bakapee2, "r"); + file_s = filesize(fh); + fclose(fh); + printf("contents of the buffer\n[\n%.*s\n]\n", file_s, BBUFSTRING); +#if 0 +//0000 +// mmblocktype far *scan; +// scan = gvar.mm.mmhead; +// while (scan->useptr != &BBUFNAME && scan) +// { +// scan = scan->next; +// } +// printf("\n %Fp %Fp\n", scan->useptr, &BBUFNAME); + printf("\nstrlen of buffer = %zu\n", strlen(BBUFSTRING)); + printf("length of buffer = %zu\n", file_s); +// printf("length of buffer = %lu\n", scan->length); +#endif + } + #endif #ifdef PRINTBBDUMP PRINTBB; #endif - //endif // BUFFDUMP - //printf("dark purple = purgable\n"); //printf("medium blue = non purgable\n"); //printf("red = locked\n"); @@ -258,13 +220,36 @@ PRINTBB; KEYP } #endif #endif //filereadload + } + + #ifdef SCROLLLOAD + CA_loadmap(bakapee2, &gvar.map, &gvar); //BREAKS! +// newloadmap(bakapee2, &gvar.map); + VRS_LoadVRS(bakapee1, &gvar.player[0].enti, &gvar); +// HC_heapdump(&gvar); + KEYP + #endif //scrollload -#ifdef __WATCOMC__ #ifndef NOVID - VGAmodeX(8, 0, &gvar); -// modexPalUpdate0(&gvar.video.palette); + VGAmodeX(8, 0, &gvar); VL_LoadPalFileCore(&gvar.video.palette, &gvar); + VL_ClearVideo (0); + modexHiganbanaPageSetup(&gvar); + gvar.video.page[0].dx = gvar.video.page[0].dy = 0; +// VL_modexPalScramble(&gvar.video.palette); + { + unsigned temp; + temp = BDOFSCONV gvar.video.BOFS; + gvar.video.BOFS = gvar.video.DOFS; + MU_IntroScreen(&gvar); + gvar.video.BOFS = (byte __far *)temp; + } // ShapeTest_(&gvar); - +#endif + MM_ShowMemory(&gvar); +#if 0 + { + boolean done; + ScanCode scan; for (done = false;!done;) { while (!(scan = gvar.in.inst->LastScan)) @@ -274,9 +259,9 @@ PRINTBB; KEYP IN_ClearKey(scan); switch (scan) { - case sc_Space: - MM_ShowMemory(&gvar); - break; +// case sc_Space: +// MM_ShowMemory(&gvar); +// break; //#ifdef __WATCOMC__ case sc_O: VL_modexPalScramble(&gvar.video.palette); modexpdump(&gvar.video.page); @@ -294,12 +279,16 @@ PRINTBB; KEYP break; } } - VGAmodeX(0, 0, &gvar); +} #endif +#ifndef NOVID + if(gvar.video.VL_Started) + VL_Shutdown (&gvar);//VGAmodeX(0, 0, gvar); + modexFadeOn(4, gvar.video.dpal); #endif - MM_ShowMemory(&gvar); DebugMemory_(&gvar, 1); MM_DumpData(&gvar); + KEYP MM_Report_(&gvar); //printf("bakapee1=%s\n", bakapee1); //printf("bakapee2=%s\n", bakapee2); @@ -308,14 +297,6 @@ PRINTBB; KEYP Shutdown16(&gvar); #else //novid ShutdownCAMMPM(&gvar); -/* #ifdef __16_PM__ - #ifdef __DEBUG_PM__ - if(dbg_debugpm>0) - #endif //__DEBUG_PM__ - PM_Shutdown(&gvar); - #endif //__16_PM__ - CA_Shutdown(&gvar); - MM_Shutdown(&gvar);*/ #endif //NOVID IN_Shutdown(&gvar); printf("========================================\n"); @@ -336,8 +317,8 @@ PRINTBB; KEYP printf("========================================\n"); #ifdef EXMMVERBOSE__ - printf("coreleft(): %u\n", _memavl()); - printf("farcoreleft(): %lu\n", (dword)HC_farcoreleft()); + printf("coreleft(): %u\n", coreleft()); + printf("farcoreleft(): %ld\n", farcoreleft()); #endif #ifdef __WATCOMC__ //this is far printf("Total free: %lu\n", (dword)(HC_GetFreeSize())); @@ -345,14 +326,14 @@ PRINTBB; KEYP // printf("HC_farcoreleft(): %lu\n", (dword)HC_farcoreleft()); //printf("HC_GetNearFreeSize(): %u\n", HC_GetNearFreeSize()); //printf("HC_GetFarFreeSize(): %lu\n", (dword)HC_GetFarFreeSize()); - HC_heapdump(&gvar); // segatesuto(); #endif -/*#ifdef __BORLANDC__ - //printf("core left: %lu\n", (dword)HC_coreleft()); - //printf("far core left: %lu\n", (dword)HC_farcoreleft()); -// printf("\nfarcoreleft(): %lu\n", farcoreleft()); -#endif*/ +#ifdef __BORLANDC__ +// printf("HC_coreleft: %lu\n", (dword)HC_coreleft()); +// printf("HC_farcoreleft: %lu\n", (dword)HC_farcoreleft()); +// printf("HC_Newfarcoreleft(): %lu\n", (dword)HC_Newfarcoreleft()); +#endif + HC_heapdump(&gvar); printf("Project 16 "); #ifdef __WATCOMC__ printf("exmmtest");