From 52711700f92f02fe8976d2e035a04a4501842b9f Mon Sep 17 00:00:00 2001 From: sparky4 Date: Fri, 9 Dec 2016 10:30:18 -0600 Subject: [PATCH] no idea why bcexmm.exe is broke w tweaked zcroll.exe a bit also Quit is refined now~ --- DEBUG.16B | 210 ++++++++++++++++++++++++++++++++++++++ MEMINFO.16B | 0 MMDUMP.16B | Bin 2550 -> 2550 bytes bcexmm.dsk | Bin 1007 -> 981 bytes bcexmm.exe | Bin 119810 -> 104108 bytes bcexmm.prj | Bin 7445 -> 8408 bytes src/.scroll.c.kate-swp | Bin 114 -> 0 bytes src/lib/16_ca.c | 24 ++--- src/lib/16_dbg.c | 1 - src/lib/16_dbg.h | 1 - src/lib/16_head.c | 64 ------------ src/lib/16_head.h | 3 - src/lib/16_in.c | 4 +- src/lib/16_mm.c | 8 +- src/lib/16_pm.c | 70 ++++++------- src/lib/16_scr.h | 4 +- src/lib/16_t.h | 14 +++ src/lib/16_tail.c | 222 +++++++++++++++++++++++++++++++++-------- src/lib/16_tail.h | 7 +- src/scroll.c | 4 - 20 files changed, 463 insertions(+), 173 deletions(-) create mode 100755 DEBUG.16B delete mode 100755 MEMINFO.16B delete mode 100755 src/.scroll.c.kate-swp diff --git a/DEBUG.16B b/DEBUG.16B new file mode 100755 index 00000000..f30673d9 --- /dev/null +++ b/DEBUG.16B @@ -0,0 +1,210 @@ +Seg:0 Size:4897 Owner:0x0 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0 +Seg:1321 Size:256 Owner:0x993 +++++ +Seg:1421 Size:256 Owner:0x798 +++++ +Seg:1521 Size:256 Owner:0x79a +++++ +Seg:1621 Size:256 Owner:0x79c ++++++ +Seg:1721 Size:256 Owner:0x79e +++++ +Seg:1821 Size:256 Owner:0x7a0 +++++ +Seg:1921 Size:256 Owner:0x7a2 +++++ +Seg:1a21 Size:256 Owner:0x7a4 +++++ +Seg:1b21 Size:256 Owner:0x7a6 ++++++ +Seg:1c21 Size:256 Owner:0x7a8 +++++ +Seg:1d21 Size:256 Owner:0x7aa +++++ +Seg:1e21 Size:256 Owner:0x7ac +++++ +Seg:1f21 Size:256 Owner:0x7ae +++++ +Seg:2021 Size:256 Owner:0x7b0 ++++++ +Seg:2121 Size:256 Owner:0x7b2 +++++ +Seg:2221 Size:256 Owner:0x7b4 +++++ +Seg:2321 Size:256 Owner:0x7b6 +++++ +Seg:2421 Size:256 Owner:0x7b8 +++++ +Seg:2521 Size:256 Owner:0x7ba ++++++ +Seg:2621 Size:256 Owner:0x7bc +++++ +Seg:2721 Size:256 Owner:0x7be +++++ +Seg:2821 Size:256 Owner:0x7c0 +++++ +Seg:2921 Size:256 Owner:0x7c2 +++++ +Seg:2a21 Size:256 Owner:0x7c4 ++++++ +Seg:2b21 Size:256 Owner:0x7c6 +++++ +Seg:2c21 Size:256 Owner:0x7c8 +++++ +Seg:2d21 Size:256 Owner:0x7ca +++++ +Seg:2e21 Size:256 Owner:0x7cc +++++ +Seg:2f21 Size:256 Owner:0x7ce ++++++ +Seg:3021 Size:256 Owner:0x7d0 +++++ +Seg:3121 Size:256 Owner:0x7d2 +++++ +Seg:3221 Size:256 Owner:0x7d4 +++++ +Seg:3321 Size:256 Owner:0x7d6 +++++ +Seg:3421 Size:256 Owner:0x7d8 ++++++ +Seg:3521 Size:256 Owner:0x7da +++++ +Seg:3621 Size:256 Owner:0x7dc +++++ +Seg:3721 Size:256 Owner:0x7de +++++ +Seg:3821 Size:256 Owner:0x7e0 +++++ +Seg:3921 Size:256 Owner:0x7e2 ++++++ +Seg:3a21 Size:256 Owner:0x7e4 +++++ +Seg:3b21 Size:256 Owner:0x7e6 +++++ +Seg:3c21 Size:256 Owner:0x7e8 +++++ +Seg:3d21 Size:256 Owner:0x7ea +++++ +Seg:3e21 Size:256 Owner:0x7ec ++++++ +Seg:3f21 Size:256 Owner:0x7ee +++++ +Seg:4021 Size:256 Owner:0x7f0 +++++ +Seg:4121 Size:256 Owner:0x7f2 +++++ +Seg:4221 Size:256 Owner:0x7f4 +++++ +Seg:4321 Size:256 Owner:0x7f6 ++++++ +Seg:4421 Size:256 Owner:0x7f8 +++++ +Seg:4521 Size:256 Owner:0x7fa +++++ +Seg:4621 Size:256 Owner:0x7fc +++++ +Seg:4721 Size:256 Owner:0x7fe +++++ +Seg:4821 Size:256 Owner:0x800 ++++++ +Seg:4921 Size:256 Owner:0x802 +++++ +Seg:4a21 Size:256 Owner:0x804 +++++ +Seg:4b21 Size:256 Owner:0x806 +++++ +Seg:4c21 Size:256 Owner:0x808 +++++ +Seg:4d21 Size:256 Owner:0x80a ++++++ +Seg:4e21 Size:256 Owner:0x80c +++++ +Seg:4f21 Size:256 Owner:0x80e +++++ +Seg:5021 Size:256 Owner:0x810 +++++ +Seg:5121 Size:256 Owner:0x812 +++++ +Seg:5221 Size:256 Owner:0x814 ++++++ +Seg:5321 Size:256 Owner:0x816 +++++ +Seg:5421 Size:256 Owner:0x818 +++++ +Seg:5521 Size:256 Owner:0x81a +++++ +Seg:5621 Size:256 Owner:0x81c +++++ +Seg:5721 Size:256 Owner:0x81e ++++++ +Seg:5821 Size:256 Owner:0x820 +++++ +Seg:5921 Size:256 Owner:0x822 +++++ +Seg:5a21 Size:256 Owner:0x824 +++++ +Seg:5b21 Size:256 Owner:0x826 +++++ +Seg:5c21 Size:256 Owner:0x828 ++++++ +Seg:5d21 Size:256 Owner:0x82a +++++ +Seg:5e21 Size:256 Owner:0x82c +++++ +Seg:5f21 Size:256 Owner:0x82e +++++ +Seg:6021 Size:256 Owner:0x830 +++++ +Seg:6121 Size:256 Owner:0x832 ++++++ +Seg:6221 Size:256 Owner:0x834 +++++ +Seg:6321 Size:256 Owner:0x836 +++++ +Seg:6421 Size:256 Owner:0x838 +++++ +Seg:6521 Size:256 Owner:0x83a +++++ +Seg:6621 Size:256 Owner:0x83c ++++++ +Seg:6721 Size:256 Owner:0x83e +++++ +Seg:6821 Size:256 Owner:0x840 +++++ +Seg:6921 Size:256 Owner:0x842 +++++ +Seg:6a21 Size:256 Owner:0x844 +++++ +Seg:6b21 Size:256 Owner:0x846 ++++++ +Seg:6c21 Size:256 Owner:0x848 +++++ +Seg:6d21 Size:256 Owner:0x84a +++++ +Seg:6e21 Size:256 Owner:0x84c +++++ +Seg:6f21 Size:256 Owner:0x84e +++++ +Seg:7021 Size:256 Owner:0x850 ++++++ +Seg:7121 Size:256 Owner:0x852 +++++ +Seg:7221 Size:256 Owner:0x854 +++++ +Seg:7321 Size:256 Owner:0x856 +++++ +Seg:7421 Size:256 Owner:0x858 +++++ +Seg:7521 Size:256 Owner:0x85a ++++++ +Seg:7621 Size:256 Owner:0x85c +++++ +Seg:7721 Size:256 Owner:0x85e +++++ +Seg:7821 Size:273 Owner:0xfde +++++ +Seg:9fde Size:32802 Owner:0x0 + +Seg:9ffe Size:24577 Owner:0x0 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \ No newline at end of file diff --git a/MEMINFO.16B b/MEMINFO.16B deleted file mode 100755 index e69de29b..00000000 diff --git a/MMDUMP.16B b/MMDUMP.16B index 3c667e2af1d2866c1a8cc78aabe0767f50845823..451d087ed8a9e199d66b37c7b7cee5dd7d4d7e95 100755 GIT binary patch literal 2550 zcmZ|RD^5f~6h%=q34$54Y(yuweo#$cj8M-MrY97&EON0KASk>p5nBssDiS&l46mLtoN<;ZemIf@)b zjv_~qqsUR@C~_1zsvK30Do2&0%2DO0a#T5*98HcUN0Xz;(d1}yG&t_}a=G6A`EdJZ Kac<9l=k6PL2i*by literal 2550 zcmZ|RDNaN|07X$W34$Gb*@#YR?5b>w4LYnX4evaev`Sf;t z9J!q3?AL5_zUU5+kCm!r$k<>+#BIl3G}jv>d8W5_Y&7;+3b zh8$ClDaVv!$}#1ba!fg<97~QR$C6{ovE*2CEIF1OTaGQqmSfAY<=Ap;IW`$v8WI3`NMUEmzk)y~_kYw;s~MF(}APR!dNV(M&**$%)JoKzedDvl%PQ Jw8`h0*#NI_9G(CG diff --git a/bcexmm.exe b/bcexmm.exe index b8e96146a4d59e5392d79ef48ae91873e98c7a50..585ca07a74a6ebc81ad7ef6383333f01f32e6974 100755 GIT binary patch literal 104108 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%0DY1cs+H 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 literal 119810 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 z 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 delta 1239 zcmcIkO-NKx7(Mg;oYB(8v1uG<9RDjLLm@3!`8U1W{G=uZ>10V-j@2$J3I{FC3eC8< zsoYfy!;qw11VtMo%2m^%AaGH;P{@_=`raLjF%X34EzbS!x!=8)?|kRoPc;+OGgqzB zl0MsS{bJpL5lwJ-W)XH^fbJ{C)R|#s#gpU1%!aPk6~BgV!c-Gu{xmU35x7a< zW|5RG;tYXX1Y;MNDbOJ>ORR1cs0wrn+$L6CBF+}*7EBJRdWV?@;j<&mi-o?+Y<~fw zfgx5XCPfJPhggY-6~wzoSgweD_(?g2VQxs|8v{C@ak^spI6x~2Zk-DMXMwQ|RG3^^ zq7~~GNL^W#RMeW}=(?IR9fsM+B(jCidCE&n{gTMWkeO-9vWDdSIi8qlei_p}BP=0r zqGt&^Bpi?|qAL#%`75u7M|}nSgU`w*eD0KH7CuPI@iC9H(^M!aUpyyO zm_#A{R==MdbJW3b2w@yXBLWB_gmK)*16;=#?w|>6Xh#G+h@ux4(1(i{#5L%23LnTj F`U@MPjA;M> diff --git a/src/.scroll.c.kate-swp b/src/.scroll.c.kate-swp deleted file mode 100755 index 29d7843fff126931edb852754aadc70e8fb01fb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmZQzU=Z?7EJ;-eE>A2_aLdd|RWQ;sU|?VnsE;X)f4RcVch|>{X-|$k(hv3oipm2q X2r%lq2D`#V7*Ry*Ks*c)CYT5SL?RZW diff --git a/src/lib/16_ca.c b/src/lib/16_ca.c index 7298ca3f..61838010 100755 --- a/src/lib/16_ca.c +++ b/src/lib/16_ca.c @@ -1028,7 +1028,7 @@ dinorm: if ((handle = open(GREXT"DICT."EXT, O_RDONLY | O_BINARY, S_IREAD)) == -1) - Quit ("Can't open "GREXT"DICT."EXT"!"); + Quit (gvar, "Can't open "GREXT"DICT."EXT"!"); read(handle, &grhuffman, sizeof(grhuffman)); close(handle); @@ -1040,7 +1040,7 @@ dinorm: if ((handle = open(GREXT"HEAD."EXT, O_RDONLY | O_BINARY, S_IREAD)) == -1) - Quit ("Can't open "GREXT"HEAD."EXT"!"); + Quit (gvar, "Can't open "GREXT"HEAD."EXT"!"); CA_FarRead(handle, (memptr)grstarts, (NUMCHUNKS+1)*FILEPOSSIZE); @@ -1054,7 +1054,7 @@ dinorm: // grhandle = open(GREXT"GRAPH."EXT, O_RDONLY | O_BINARY); if (grhandle == -1) - Quit ("Cannot open "GREXT"GRAPH."EXT"!"); + Quit (gvar, "Cannot open "GREXT"GRAPH."EXT"!"); // @@ -1134,11 +1134,11 @@ void CAL_SetupMapFile (global_game_variables_t *gvar) // #ifdef MAPHEADERLINKED // if ((maphandle = open("GAMEMAPS."EXT, // O_RDONLY | O_BINARY, S_IREAD)) == -1) -// Quit ("Can't open GAMEMAPS."EXT"!"); +// Quit (gvar, "Can't open GAMEMAPS."EXT"!"); // //#else // if ((maphandle = open("MAPTEMP."EXT, // O_RDONLY | O_BINARY, S_IREAD)) == -1) -// Quit ("Can't open MAPTEMP."EXT"!"); +// Quit (gvar, "Can't open MAPTEMP."EXT"!"); // #endif } @@ -1164,7 +1164,7 @@ void CAL_SetupMapFile (global_game_variables_t *gvar) #ifndef AUDIOHEADERLINKED if ((handle = open("AUDIOHED."EXT, O_RDONLY | O_BINARY, S_IREAD)) == -1) - Quit ("Can't open AUDIOHED."EXT"!"); + Quit (gvar, "Can't open AUDIOHED."EXT"!"); length = filelength(handle); MM_GetPtr (&(memptr)audiostarts,length); CA_FarRead(handle, (byte far *)audiostarts, length); @@ -1181,11 +1181,11 @@ void CAL_SetupMapFile (global_game_variables_t *gvar) #ifndef AUDIOHEADERLINKED if ((audiohandle = open("AUDIOT."EXT, O_RDONLY | O_BINARY, S_IREAD)) == -1) - Quit ("Can't open AUDIOT."EXT"!"); + Quit (gvar, "Can't open AUDIOT."EXT"!"); #else if ((audiohandle = open("AUDIO."EXT, O_RDONLY | O_BINARY, S_IREAD)) == -1) - Quit ("Can't open AUDIO."EXT"!"); + Quit (gvar, "Can't open AUDIO."EXT"!"); #endif }*/ @@ -1291,7 +1291,7 @@ void CA_CacheAudioChunk (int chunk) // MDM begin - (GAMERS EDGE) // if (!FindFile("AUDIO."EXT,NULL,2)) - Quit("CA_CacheAudioChunk(): Can't find audio files."); + Quit (gvar, "CA_CacheAudioChunk(): Can't find audio files."); // // MDM end @@ -1630,7 +1630,7 @@ void CAL_CacheSprite (int chunk, byte far *compressed) break; default: - Quit ("CAL_CacheSprite: Bad shifts number!"); + Quit (gvar, "CAL_CacheSprite: Bad shifts number!"); } #endif @@ -1789,7 +1789,7 @@ void CA_CacheGrChunk (int chunk) // MDM begin - (GAMERS EDGE) // if (!FindFile("EGAGRAPH."EXT,NULL,2)) - Quit("CA_CacheGrChunk(): Can't find graphics files."); + Quit (gvar, "CA_CacheGrChunk(): Can't find graphics files."); // // MDM end @@ -2255,7 +2255,7 @@ void CA_CacheMarks (char *title) // MDM begin - (GAMERS EDGE) // if (!FindFile("EGAGRAPH."EXT,NULL,2)) - Quit("CA_CacheMarks(): Can't find graphics files."); + Quit (gvar, "CA_CacheMarks(): Can't find graphics files."); // // MDM end diff --git a/src/lib/16_dbg.c b/src/lib/16_dbg.c index c3a4d5bb..7f34624b 100755 --- a/src/lib/16_dbg.c +++ b/src/lib/16_dbg.c @@ -9,7 +9,6 @@ boolean dbg_debugpm=0; #ifdef __DEBUG_InputMgr__ boolean dbg_testkeyin=0,dbg_testcontrolnoisy=0; #endif -boolean dbg_nommpmca=0; #endif diff --git a/src/lib/16_dbg.h b/src/lib/16_dbg.h index eb1743eb..06c3fccf 100755 --- a/src/lib/16_dbg.h +++ b/src/lib/16_dbg.h @@ -18,7 +18,6 @@ extern boolean dbg_debugpm; #ifdef __DEBUG_InputMgr__ extern boolean dbg_testkeyin,dbg_testcontrolnoisy; #endif -extern boolean dbg_nommpmca; #endif # ifdef DEBUGSERIAL diff --git a/src/lib/16_head.c b/src/lib/16_head.c index e56baa94..7c25afa5 100755 --- a/src/lib/16_head.c +++ b/src/lib/16_head.c @@ -78,71 +78,7 @@ US_CheckParm(char *parm,char **strings) } return(-1); } -#ifdef __BORLANDC__ -//=========================================================================== -/* -========================== -= -= Quit -= -========================== -*/ - -void Quit (char *error) -{ - unsigned finscreen; - memptr screen; - union REGS in, out; - - //ClearMemory (); - if (!*error) - { - //WriteConfig (); - } - else - { - //CA_CacheGrChunk (ERRORSCREEN); - //screen = grsegs[ERRORSCREEN]; - } - - //ShutdownId (); - //IN_Shutdown(); - //modexLeave(); - in.h.ah = 0x00; - in.h.al = 0x3; - int86(0x10, &in, &out); - - if (error && *error) - { - //movedata ((unsigned)screen,7,0xb800,0,7*160); - //gotoxy (10,4); - printf("\n"); - puts(error); - printf("\n"); - //gotoxy (1,8); - exit(1); - } - else - if (!error || !(*error)) - { - //clrscr(); - //#ifndef JAPAN - movedata ((unsigned)screen,7,0xb800,0,4000); - //gotoxy(1,24); - //#endif -//asm mov bh,0 -//asm mov dh,23 // row -//asm mov dl,0 // collumn -//asm mov ah,2 -//asm int 0x10 - } - - exit(0); -} - -//=========================================================================== -#endif byte dirchar(byte in) { diff --git a/src/lib/16_head.h b/src/lib/16_head.h index a6222773..7fd72c44 100755 --- a/src/lib/16_head.h +++ b/src/lib/16_head.h @@ -200,9 +200,6 @@ typedef union REGPACK regs_t; long int filesize(FILE *fp); void printmeminfoline(byte *strc, const byte *pee, size_t h_total, size_t h_used, size_t h_free); int US_CheckParm(char *parm,char **strings); -#ifdef __BORLANDC__ -void Quit (char *error); -#endif byte dirchar(byte in); #endif/*__16_HEAD_H__*/ diff --git a/src/lib/16_in.c b/src/lib/16_in.c index e5d2ec1b..9adfe42a 100755 --- a/src/lib/16_in.c +++ b/src/lib/16_in.c @@ -850,7 +850,7 @@ register KeyboardDef *def; realdelta = false; } else if (DemoMode == demo_PlayDone) - Quit("Demo playback exceeded"); + Quit ("Demo playback exceeded"); else { #endif @@ -973,7 +973,7 @@ register KeyboardDef *def; DemoOffset += 2; if (DemoOffset >= DemoSize) - Quit("Demo buffer overflow"); + Quit ("Demo buffer overflow"); DemoBuffer[DemoOffset] = 1; DemoBuffer[DemoOffset + 1] = dbyte; diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index 5bbad2b1..98d0c43f 100755 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -28,7 +28,7 @@ Primary coder: John Carmack RELIES ON --------- -Quit (char *error) function +Quit (global_game_variables_t *gvar, char *error) function WORK TO DO @@ -285,7 +285,7 @@ void MML_ShutdownEMS(global_game_variables_t *gvar) } #endif if(errorflag==true) - Quit("MML_ShutdownEMS: Error freeing EMS!\n"); //++++ add something + Quit (gvar, "MML_ShutdownEMS: Error freeing EMS!\n"); //++++ add something } /* @@ -1105,7 +1105,7 @@ void MM_SetPurge(memptr *baseptr, int purge, global_game_variables_t *gvar) gvar->mm.mmrover = gvar->mm.mmhead; else if(gvar->mm.mmrover == start) { - Quit("MM_SetPurge: Block not found!"); + Quit (gvar, "MM_SetPurge: Block not found!"); //return; } @@ -1145,7 +1145,7 @@ void MM_SetLock(memptr *baseptr, boolean locked, global_game_variables_t *gvar) gvar->mm.mmrover = gvar->mm.mmhead; else if(gvar->mm.mmrover == start) { - Quit("MM_SetLock: Block not found!"); + Quit (gvar, "MM_SetLock: Block not found!"); //return; } diff --git a/src/lib/16_pm.c b/src/lib/16_pm.c index 3a125111..4cf50396 100755 --- a/src/lib/16_pm.c +++ b/src/lib/16_pm.c @@ -139,7 +139,7 @@ PML_MapEMS(word logical, byte physical, global_game_variables_t *gvar) strcpy(str,"MM_MapEMS: EMS error "); MM_EMSerr(str, err); printf("%s\n",str); - Quit("PML_MapEMS: Page mapping failed\n"); + Quit (gvar, "PML_MapEMS: Page mapping failed\n"); return err; } return 0; @@ -352,7 +352,7 @@ PML_ShutdownEMS(global_game_variables_t *gvar) strcpy(str,"PML_ShutdownEMS: Error freeing EMS "); MM_EMSerr(str, err); printf("%s\n",str); - Quit("PML_ShutdownEMS: Error freeing EMS\n"); + Quit (gvar, "PML_ShutdownEMS: Error freeing EMS\n"); //return; } } @@ -532,7 +532,7 @@ PML_XMSCopy(boolean toxms,byte far *addr,word xmspage,word length, global_game_v if (!addr) { - Quit("PML_XMSCopy: zero address\n"); + Quit (gvar, "PML_XMSCopy: zero address\n"); //return; } @@ -554,7 +554,7 @@ PML_XMSCopy(boolean toxms,byte far *addr,word xmspage,word length, global_game_v } if (!_AX) { - Quit("PML_XMSCopy: Error on copy"); + Quit (gvar, "PML_XMSCopy: Error on copy"); //return; } } @@ -621,7 +621,7 @@ PML_ShutdownXMS(global_game_variables_t *gvar) #endif if(errorflag==true) { - Quit("PML_ShutdownXMS: Error freeing XMS"); + Quit (gvar, "PML_ShutdownXMS: Error freeing XMS"); //return; } } @@ -656,7 +656,7 @@ PM_SetMainMemPurge(int level, global_game_variables_t *gvar) else { - Quit("MainPresent IS NULL\n"); + Quit (gvar, "MainPresent IS NULL\n"); } } @@ -765,7 +765,7 @@ PML_StartupMainMem(global_game_variables_t *gvar) gvar->mm.mmerror = false; if (gvar->pm.mm.MainPagesAvail < PMMinMainMem) { - Quit("PM_SetupMainMem: Not enough main memory"); + Quit (gvar, "PM_SetupMainMem: Not enough main memory"); //return; } gvar->pm.mm.MainPresent = true; @@ -801,22 +801,22 @@ PML_ReadFromFile(byte far *buf,long offset,word length, global_game_variables_t { if (!buf) { - Quit("PML_ReadFromFile: Null pointer"); + Quit (gvar, "PML_ReadFromFile: Null pointer"); //return; } if (!offset) { - Quit("PML_ReadFromFile: Zero offset"); + Quit (gvar, "PML_ReadFromFile: Zero offset"); //return; } if (lseek(gvar->pm.fi.PageFile,offset,SEEK_SET) != offset) { - Quit("PML_ReadFromFile: Seek failed"); + Quit (gvar, "PML_ReadFromFile: Seek failed"); //return; } if (!CA_FarRead(gvar->pm.fi.PageFile,buf,length, gvar)) { - Quit("PML_ReadFromFile: Read failed"); + Quit (gvar, "PML_ReadFromFile: Read failed"); //return; } } @@ -838,7 +838,7 @@ PML_OpenPageFile(global_game_variables_t *gvar) gvar->pm.fi.PageFile = open(gvar->pm.fi.PageFileName,O_RDONLY + O_BINARY); if (gvar->pm.fi.PageFile == -1) { - Quit("PML_OpenPageFile: Unable to open page file"); + Quit (gvar, "PML_OpenPageFile: Unable to open page file"); //return; } @@ -859,7 +859,7 @@ PML_OpenPageFile(global_game_variables_t *gvar) MM_GetPtr(&buf, size, gvar); if (!CA_FarRead(gvar->pm.fi.PageFile,(byte far *)buf,size, gvar)) { - Quit("PML_OpenPageFile: Offset read failed"); + Quit (gvar, "PML_OpenPageFile: Offset read failed"); //return; } offsetptr = (dword far *)buf; @@ -872,7 +872,7 @@ PML_OpenPageFile(global_game_variables_t *gvar) MM_GetPtr(&buf,size, gvar); if (!CA_FarRead(gvar->pm.fi.PageFile,(byte far *)buf,size, gvar)) { - Quit("PML_OpenPageFile: Length read failed"); + Quit (gvar, "PML_OpenPageFile: Length read failed"); //return; } lengthptr = (word far *)buf; @@ -949,7 +949,7 @@ PML_GetEMSAddress(int page,PMLockType lock, global_game_variables_t *gvar) } if (emspage == -1) - Quit("PML_GetEMSAddress: EMS find failed"); + Quit (gvar, "PML_GetEMSAddress: EMS find failed"); gvar->pm.emm.EMSList[emspage].lastHit = gvar->pm.PMFrameCount; offset = emspage * EMSPageSizeSeg; @@ -1018,7 +1018,7 @@ PML_GiveLRUPage(boolean mainonly, global_game_variables_t *gvar) } if (lru == -1) - Quit("PML_GiveLRUPage: LRU Search failed"); + Quit (gvar, "PML_GiveLRUPage: LRU Search failed"); return(lru); } @@ -1073,7 +1073,7 @@ PML_PutPageInXMS(int pagenum, global_game_variables_t *gvar) { usexms = PML_GiveLRUXMSPage(gvar); if (usexms == -1) - Quit("PML_PutPageInXMS: No XMS LRU"); + Quit (gvar, "PML_PutPageInXMS: No XMS LRU"); page->xmsPage = gvar->pm.PMPages[usexms].xmsPage; gvar->pm.PMPages[usexms].xmsPage = -1; } @@ -1091,16 +1091,16 @@ PML_TransferPageSpace(int orig,int new, global_game_variables_t *gvar) PageListStruct far *origpage,far *newpage; if (orig == new) - Quit("PML_TransferPageSpace: Identity replacement"); + Quit (gvar, "PML_TransferPageSpace: Identity replacement"); origpage = &gvar->pm.PMPages[orig]; newpage = &gvar->pm.PMPages[new]; if (origpage->locked != pml_Unlocked) - Quit("PML_TransferPageSpace: Killing locked page"); + Quit (gvar, "PML_TransferPageSpace: Killing locked page"); if ((origpage->emsPage == -1) && (origpage->mainPage == -1)) - Quit("PML_TransferPageSpace: Reusing non-existent page"); + Quit (gvar, "PML_TransferPageSpace: Reusing non-existent page"); // Copy page that's about to be purged into XMS PML_PutPageInXMS(orig, gvar); @@ -1116,7 +1116,7 @@ PML_TransferPageSpace(int orig,int new, global_game_variables_t *gvar) origpage->mainPage = origpage->emsPage = -1; if (!addr) - Quit("PML_TransferPageSpace: Zero replacement"); + Quit (gvar, "PML_TransferPageSpace: Zero replacement"); return(addr); } @@ -1157,10 +1157,10 @@ PML_GetAPageBuffer(int pagenum,boolean mainonly, global_game_variables_t *gvar) } } if (n == -1) - Quit("PML_GetPageBuffer: MainPagesAvail lied"); + Quit (gvar, "PML_GetPageBuffer: MainPagesAvail lied"); addr = gvar->pm.mm.MainMemPages[n]; if (!addr) - Quit("PML_GetPageBuffer: Purged main block"); + Quit (gvar, "PML_GetPageBuffer: Purged main block"); page->mainPage = n; gvar->pm.MainPagesUsed++; } @@ -1168,7 +1168,7 @@ PML_GetAPageBuffer(int pagenum,boolean mainonly, global_game_variables_t *gvar) addr = PML_TransferPageSpace(PML_GiveLRUPage(mainonly, gvar),pagenum, gvar); if (!addr) - Quit("PML_GetPageBuffer: Search failed"); + Quit (gvar, "PML_GetPageBuffer: Search failed"); return(addr); } @@ -1194,7 +1194,7 @@ PML_GetPageFromXMS(int pagenum,boolean mainonly, global_game_variables_t *gvar) gvar->pm.xmm.XMSProtectPage = pagenum; checkaddr = PML_GetAPageBuffer(pagenum,mainonly, gvar); if (FP_OFF(checkaddr)) - Quit("PML_GetPageFromXMS: Non segment pointer"); + Quit (gvar, "PML_GetPageFromXMS: Non segment pointer"); addr = (memptr)FP_SEG(checkaddr); PML_CopyFromXMS(addr,page->xmsPage,page->length, gvar); gvar->pm.xmm.XMSProtectPage = -1; @@ -1232,7 +1232,7 @@ PM_GetPage(int pagenum, global_game_variables_t *gvar) memptr result; if (pagenum >= gvar->pm.fi.ChunksInFile) - Quit("PM_GetPage: Invalid page request"); + Quit (gvar, "PM_GetPage: Invalid page request"); #ifdef __DEBUG_2__ // for debugging __asm { @@ -1250,7 +1250,7 @@ PM_GetPage(int pagenum, global_game_variables_t *gvar) { boolean mainonly = (pagenum >= gvar->pm.fi.PMSoundStart); if (!gvar->pm.PMPages[pagenum].offset) // JDC: sparse page - Quit ("Tried to load a sparse page!"); + Quit (gvar, "Tried to load a sparse page!"); if (!(result = PML_GetPageFromXMS(pagenum,mainonly, gvar))) { if (gvar->pm.PMPages[pagenum].lastHit == gvar->pm.PMFrameCount) @@ -1290,7 +1290,7 @@ void PM_SetPageLock(int pagenum,PMLockType lock, global_game_variables_t *gvar) { if (pagenum < gvar->pm.fi.PMSoundStart) - Quit("PM_SetPageLock: Locking/unlocking non-sound page"); + Quit (gvar, "PM_SetPageLock: Locking/unlocking non-sound page"); gvar->pm.PMPages[pagenum].locked = lock; } @@ -1357,7 +1357,7 @@ PM_Preload(boolean (*update)(word current,word total), global_game_variables_t * page++; if (page >= gvar->pm.fi.ChunksInFile) - Quit ("PM_Preload: Pages>=gvar->pm.fi.ChunksInFile"); + Quit (gvar, "PM_Preload: Pages>=gvar->pm.fi.ChunksInFile"); PM_GetPage(page, gvar); @@ -1376,7 +1376,7 @@ PM_Preload(boolean (*update)(word current,word total), global_game_variables_t * ; addr = PM_GetPage(oogypage, gvar); if (!addr) - Quit("PM_Preload: XMS buffer failed"); + Quit (gvar, "PM_Preload: XMS buffer failed"); while (xmstotal) { @@ -1384,15 +1384,15 @@ PM_Preload(boolean (*update)(word current,word total), global_game_variables_t * page++; if (page >= gvar->pm.fi.ChunksInFile) - Quit ("PM_Preload: Pages>=gvar->pm.fi.ChunksInFile"); + Quit (gvar, "PM_Preload: Pages>=gvar->pm.fi.ChunksInFile"); p = &gvar->pm.PMPages[page]; p->xmsPage = gvar->pm.XMSPagesUsed++; if (gvar->pm.XMSPagesUsed > gvar->pm.xmm.XMSPagesAvail) - Quit("PM_Preload: Exceeded XMS pages"); + Quit (gvar, "PM_Preload: Exceeded XMS pages"); if (p->length > PMPageSize) - Quit("PM_Preload: Page too long"); + Quit (gvar, "PM_Preload: Page too long"); PML_ReadFromFile((byte far *)addr,p->offset,p->length, gvar); PML_CopyToXMS((byte far *)addr,p->xmsPage,p->length, gvar); @@ -1445,7 +1445,7 @@ PM_NextFrame(global_game_variables_t *gvar) { char buf[40]; sprintf(buf,"PM_NextFrame: Page %d is locked",i); - Quit(buf); + Quit(gvar, buf); } } //#endif @@ -1536,7 +1536,7 @@ PM_Startup(global_game_variables_t *gvar) if (!gvar->pm.mm.MainPresent && !gvar->pm.emm.EMSPresent && !gvar->pm.xmm.XMSPresent) { - Quit("PM_Startup: No main or EMS\n"); + Quit (gvar, "PM_Startup: No main or EMS\n"); //return; } diff --git a/src/lib/16_scr.h b/src/lib/16_scr.h index 94af24e6..38c72637 100755 --- a/src/lib/16_scr.h +++ b/src/lib/16_scr.h @@ -94,6 +94,7 @@ typedef struct //printf("mv[%u].tx: %d", pan.pn, mv[pan.pn].tx); printf(" mv[%u].ty: %d ", pan.pn, mv[pan.pn].ty); //printf("gvar.kurokku: "); printf("%.0f ", clock()); printf("tiku=%lu ", gvar.kurokku.tiku); printf("t=%.0f ", gvar.kurokku.t); printf("ticktock()=%f ", ticktock(&gvar)); printf("%.0f fps", (double)gvar.kurokku.tiku/ticktock(&gvar)); //printf("map.width=%d map.height=%d map.data[0]=%d\n", mv[0].map->width, mv[0].map->height, mv[0].map->data[0]); +//printf("&global_temp_status_text = %Fp\n", &global_temp_status_text); #define SCROLLEXITMESG printf("tx: %d ", mv[0].tx);\ printf("ty: %d\n", mv[0].ty);\ printf("\n");\ @@ -115,9 +116,6 @@ typedef struct \ printf("gvar.video.p=%u ", gvar.video.p); printf("gvar.video.r=%u ", gvar.video.r);\ printf("pageflipflop=%u\n", pageflipflop);\ -\ - printf("&global_temp_status_text = %Fp\n", &global_temp_status_text);\ -\ printf("\n"); extern boolean pageflipflop, pageploop; diff --git a/src/lib/16_t.h b/src/lib/16_t.h index b0fdb481..35eb2f4b 100755 --- a/src/lib/16_t.h +++ b/src/lib/16_t.h @@ -67,6 +67,20 @@ typedef void _seg * memptr;//typedef void __based( void ) * memptr; ////old //-- #ifdef __WATCOMC__ #define _argv __argv #define _argc __argc + +//from http://www.verycomputer.com/3_65d875cc818b54ec_1.htm +void clrscr(void); +#pragma aux clrscr= \ + " mov ah, 0fh " \ + " int 10h " \ + " xor ah, ah " \ + " int 10h " ; +//from http://stackoverflow.com/questions/18425748/gotoxy-function-using-printf-s-position +inline void gotoxy(int x,int y) +{ + printf("\x1B[%d;%df", y, x); + fflush(stdout); // @jxh +} #endif #endif/*_TYPE_H_*/ diff --git a/src/lib/16_tail.c b/src/lib/16_tail.c index bd5b6f1e..6cd9eb92 100755 --- a/src/lib/16_tail.c +++ b/src/lib/16_tail.c @@ -71,20 +71,13 @@ void Startup16(global_game_variables_t *gvar) #endif gvar->mm.mmstarted=0; gvar->pm.PMStarted=0; -#ifdef __DEBUG__ - if(!dbg_nommpmca) -#endif MM_Startup(gvar); +#ifdef __WATCOMC__ IN_Startup(gvar); -#ifdef __DEBUG__ - if(!dbg_nommpmca){ #endif PM_Startup(gvar); PM_UnlockMainMem(gvar); CA_Startup(gvar); -#ifdef __DEBUG__ - } -#endif } //=========================================================================== @@ -101,22 +94,160 @@ void Startup16(global_game_variables_t *gvar) void Shutdown16(global_game_variables_t *gvar) { -#ifdef __DEBUG__ - if(!dbg_nommpmca) -#endif PM_Shutdown(gvar); +#ifdef __WATCOMC__ IN_Shutdown(gvar); -#ifdef __DEBUG__ - if(!dbg_nommpmca){ #endif CA_Shutdown(gvar); MM_Shutdown(gvar); -#ifdef __DEBUG__ - } -#endif } +//=========================================================================== + +/* +==================== += += ReadConfig += +==================== +*/ + +/*void ReadConfig(void) +{ + int file; + SDMode sd; + SMMode sm; + SDSMode sds; + + + if ( (file = open(configname,O_BINARY | O_RDONLY)) != -1) + { + // + // valid config file + // + read(file,Scores,sizeof(HighScore) * MaxScores); + + read(file,&sd,sizeof(sd)); + read(file,&sm,sizeof(sm)); + read(file,&sds,sizeof(sds)); + + read(file,&mouseenabled,sizeof(mouseenabled)); + read(file,&joystickenabled,sizeof(joystickenabled)); + read(file,&joypadenabled,sizeof(joypadenabled)); + read(file,&joystickprogressive,sizeof(joystickprogressive)); + read(file,&joystickport,sizeof(joystickport)); + + read(file,&dirscan,sizeof(dirscan)); + read(file,&buttonscan,sizeof(buttonscan)); + read(file,&buttonmouse,sizeof(buttonmouse)); + read(file,&buttonjoy,sizeof(buttonjoy)); + + read(file,&viewsize,sizeof(viewsize)); + read(file,&mouseadjustment,sizeof(mouseadjustment)); + + close(file); + + if (sd == sdm_AdLib && !AdLibPresent && !SoundBlasterPresent) + { + sd = sdm_PC; + sd = smm_Off; + } + + if ((sds == sds_SoundBlaster && !SoundBlasterPresent) || + (sds == sds_SoundSource && !SoundSourcePresent)) + sds = sds_Off; + + if (!MousePresent) + mouseenabled = false; + if (!JoysPresent[joystickport]) + joystickenabled = false; + + MainMenu[6].active=1; + MainItems.curpos=0; + } + else + { + // + // no config file, so select by hardware + // + if (SoundBlasterPresent || AdLibPresent) + { + sd = sdm_AdLib; + sm = smm_AdLib; + } + else + { + sd = sdm_PC; + sm = smm_Off; + } + + if (SoundBlasterPresent) + sds = sds_SoundBlaster; + else if (SoundSourcePresent) + sds = sds_SoundSource; + else + sds = sds_Off; + + if (MousePresent) + mouseenabled = true; + + joystickenabled = false; + joypadenabled = false; + joystickport = 0; + joystickprogressive = false; + + viewsize = 15; + mouseadjustment=5; + } + + SD_SetMusicMode (sm); + SD_SetSoundMode (sd); + SD_SetDigiDevice (sds); +}*/ + + +/* +==================== += += WriteConfig += +==================== +*/ + +/*void WriteConfig(void) +{ + int file; + + file = open(configname,O_CREAT | O_BINARY | O_WRONLY, + S_IREAD | S_IWRITE | S_IFREG); + + if (file != -1) + { + write(file,Scores,sizeof(HighScore) * MaxScores); + + write(file,&SoundMode,sizeof(SoundMode)); + write(file,&MusicMode,sizeof(MusicMode)); + write(file,&DigiMode,sizeof(DigiMode)); + + write(file,&mouseenabled,sizeof(mouseenabled)); + write(file,&joystickenabled,sizeof(joystickenabled)); + write(file,&joypadenabled,sizeof(joypadenabled)); + write(file,&joystickprogressive,sizeof(joystickprogressive)); + write(file,&joystickport,sizeof(joystickport)); + + write(file,&dirscan,sizeof(dirscan)); + write(file,&buttonscan,sizeof(buttonscan)); + write(file,&buttonmouse,sizeof(buttonmouse)); + write(file,&buttonjoy,sizeof(buttonjoy)); + + write(file,&viewsize,sizeof(viewsize)); + write(file,&mouseadjustment,sizeof(mouseadjustment)); + + close(file); + } +}*/ + //=========================================================================== /* @@ -159,7 +290,22 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q) #endif if(q) MM_ShowMemory (gvar); } -#ifdef __WATCOMC__ + +/* +========================== += += ClearMemory += +========================== +*/ + +void ClearMemory (global_game_variables_t *gvar) +{ + PM_UnlockMainMem(gvar); + //snd + MM_SortMem (gvar); +} + /* ========================== = @@ -168,46 +314,43 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q) ========================== */ -void Quit (char *error) +void Quit (global_game_variables_t *gvar, char *error) { //unsigned finscreen; memptr screen=0; - union REGS in, out; - //ClearMemory (); + ClearMemory (gvar); if (!*error) { - //WriteConfig (); +// #ifndef JAPAN +// CA_CacheGrChunk (ORDERSCREEN); +// screen = grsegs[ORDERSCREEN]; +// #endif +// WriteConfig (); } else { - //CA_CacheGrChunk (ERRORSCREEN); - //screen = grsegs[ERRORSCREEN]; +// CA_CacheGrChunk (ERRORSCREEN); +// screen = grsegs[ERRORSCREEN]; } - - //ShutdownId (); - IN_Shutdown(); - //modexLeave(); - in.h.ah = 0x00; - in.h.al = 0x3; - int86(0x10, &in, &out); + Shutdown16(gvar); if (error && *error) { - //movedata ((unsigned)screen,7,0xb800,0,7*160); - //gotoxy (10,4); - fprintf(stderr, "%s\n", error); - //gotoxy (1,8); - exit(1); + movedata((unsigned)screen,7,0xb800,0,7*160); + gotoxy (10,4); + fprintf(stderr, "%s\n", error); + gotoxy (1,8); + exit(1); } else if (!error || !(*error)) { - //clrscr(); - //#ifndef JAPAN + clrscr(); +#ifndef JAPAN movedata ((unsigned)screen,7,0xb800,0,4000); - //gotoxy(1,24); - //#endif + gotoxy(1,24); +#endif //asm mov bh,0 //asm mov dh,23 // row //asm mov dl,0 // collumn @@ -217,7 +360,6 @@ void Quit (char *error) exit(0); } -#endif //=========================================================================== diff --git a/src/lib/16_tail.h b/src/lib/16_tail.h index 8d1274d8..8cd30094 100755 --- a/src/lib/16_tail.h +++ b/src/lib/16_tail.h @@ -32,10 +32,9 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q); void Shutdown16(global_game_variables_t *gvar); void Startup16(global_game_variables_t *gvar); -#ifdef __WATCOMC__ -void Quit (char *error); -#endif +void ClearMemory (global_game_variables_t *gvar); +void Quit (global_game_variables_t *gvar, char *error); void nibbletest(); void booleantest(); -#endif +#endif /*__16_TAIL__ */ diff --git a/src/scroll.c b/src/scroll.c index 03859245..5beb4743 100755 --- a/src/scroll.c +++ b/src/scroll.c @@ -29,8 +29,6 @@ //#define FADE #define MODEX //this is for mode x initiating -extern boolean dbg_nommpmca; - //word far *clock= (word far*) 0x046C; /* 18.2hz clock */ //bitmap_t *p; global_game_variables_t gvar; @@ -60,8 +58,6 @@ boolean panswitch=0;//1 void main(int argc, char *argv[]) { - dbg_nommpmca=1; - if(argv[1]) bakapee = atoi(argv[1]); else bakapee = 1; -- 2.39.5