From 9a44f45889f228ce6ce3aef5f1483e05004e91b4 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 10 Apr 2017 11:12:21 -0500 Subject: [PATCH] p16 is being worked on a bunch by me wwww [16_ca needs huge amounts of work and I should remember what needs to be done soon][OpenVGMFile needs to be ported to 16_snd.c]going to port rest of code to borland c some time so we can use the core components of id engine here [going to add 16_us.c eventually but the debug system and CA_ PM_ and MM_ usage is priority now]older zcroll renamed to xcroll][zcroll is now the pre menu game loop system with PROPER data usage with CAMMPM] MM_ShowMemory is quite buggy on real machines. i need to debug it and fix added a struct printer[gvar.mm is FUCKING HUGE 14402 bytes FAT\!] p16 is needing massive work now... with Ca and other game stuff --- bcexmm.dsk | Bin 1900 -> 1900 bytes bcexmm.exe | Bin 150200 -> 149993 bytes bcexmm.prj | Bin 9979 -> 7577 bytes ca.file | 495 ------------------------------------------------ src/lib/16_ca.c | 38 ++-- src/lib/16_ca.h | 6 +- 6 files changed, 21 insertions(+), 518 deletions(-) delete mode 100755 ca.file diff --git a/bcexmm.dsk b/bcexmm.dsk index f2b72a61c869fa507a1855a79238508d3ce64418..eba89c29034e480b51c38b74707ad08462ee066a 100755 GIT binary patch delta 21 ccmaFE_l9qS4?B~S|71UQ2{w1V|Nj{n08<+W1ONa4 delta 21 dcmaFE_l9qS4?EKd?a6-Z5^Ox~|Nk>E003812Sfk> diff --git a/bcexmm.exe b/bcexmm.exe index 116738ad9b1d9345ce5f50f088cdc2c7667d943a..5c908de0fd9b6011c4d93b4a122257516f6e2a86 100755 GIT binary patch delta 55519 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 delta 56069 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 literal 9979 zcmeI2Yj9gf701uD{I(=JX_{B_xU_1kB*d>IPMkDtM2(G zJQa{aXPHFjgnVA`g2;J6@Vgbb`#r%kg3mD(`kB!Dx!_Ao8(m~>qE|%DCBe%~vb_q@ zU$~6zuMBzvc$1;L1?g{8NOXwk??}82`~&zWN~zBjG7J7JYPeXz*{=YXL_01+e3iv2 zdW~5~|3bNMRWjaTsqo)O{s%AsQWPps7>bQSg+LKdjJy)Yf>OqgGKN~tpbEeaH~=R@ zsf1JoX%_HBSo;z~c^uN0A$nc{bOSqpBycyd6WGO|USJQ9Lf!`<^+VbR={`swf^?%`ULP1BnN?mz#-r;@KNAn3_1eoDDWVX$AE{B90DE&9tA!LdZMmJOK5r4YS!e`XvnFtHmAnAoEnWeHP+|U*pO4>mYf?EgGd3@v1Nk9?w+F@7mt@P@tS% zE~UYim@kUf=J@RFOYY5~lGp8(dse8fkT2w}t6#TFb%i7GEuN_AipCaUpLe z?&f`jWf0Q9Ue=h#p8c=5@C8GO4JP|j`}(?*s+Q{AYwg9DHjVz{s$A1u;q*3d!nM7~ zbD_U?Z>n!V4fb^PZSU*ZzQ>}lKNOwTRkdrnE3|0$mCpXDfp_%(KU4C+8mcPdGYQ(o zi=5*NiISYM6%!3_>FOFfqoHbzhOd(~<{&#&P$?I06}C>Y4L_%L@dka^R=C3xPTcO- zbzhh*np?`zc@wjK4b7%mLNy?4&F15Txtwm4Y;k{DHMZi5>xp6e!+8_4VrtE$YiW)U z!@|}hHlo+!d=$Vtchu`^4~29#!lrN$wxqm#Owsl9K2oWK%S5S%pVv!e#EVs;cD_n| z&^(#_5_$O;TS`l4u_zD|wuU$^u-E-Qe@0{M4RbewsnF79oipGMo-9PF%vt@Kr@AP=#S z?G)g^^iUp!rl{J$=a_eK9X~4PH_Q}2pRGJtxvSD&>8>oP{GId1&c~gHo!gz8oJ*aG z^B0aYjxRX&J31T?`f_?PULL#fuf+sYsL`FOQeC zl-HG2m6evhQ)(2yQSxTd?~DIf_^YDd*e(`cDmZVup!}fVv|<=PBz%e7l%U%9vA|0D z$qIXmo1SMb6I@OUTTe8v5c2y4o9X4)vA|7qYTMDk%|gFgfy#qmXYEyiITu&AVeL;1O~Y_4|hcnvlJM zKEW12!$3PT^$m1a8d@Wv=cYU9L9W~^B6l;pTTIuz`>rs%Z@MDW3FgC+U6HA8pu3VQ zMn=4wI_Pb_XFi3Q)*)pu@}K4!R*c6fi57hr-NvNcNb> z931JGKzAiqq}R-DiqL6(cgdl2C1#0t|6OVo9|pP$M@SnL151eN>Wtt15}sf%qE)w& zfz`!$3ZY>Q#MJF#!Zly|Gc%?pz7&z&CkF?gN?@85Zw#?ckzz{hIr(RJ-usT|q*rE{ zYcew;%=MPJ_A=LD<|@iCu!b9DVC-huO)g=^e6`Lrf9JdOll`6camK20lsmBDj(T(* z(TUZq^c*$^ktx3ow`kEe>?m;^dylhqf5;abC!gP-ToKl)Qtdo*jH$h@LHD(bhF}_& zRK>C^LmB(p%uEg*&cxbTssM|bF{*MH@GUI7r2@Lw*F3faI*2^0LGJa7zFQ6P&7NSJ zFOCYVH2AkF%@-FcRyKUGSU8fcj-Wr}*RxuQ>oI>=xWlR){3}{E6Y-9CBCdO~`ob?7 zY1NBnEv$>!vQp6Wj;JqN8xU!@Z&^VkY&OBFk8$10rz6=+bcWl4qLG+E#+$P{!_EF+ z)>g8S?5*hJFw6S9`41atqdW#V48{5*Gn>yK$IaAeEnTJ>-t68*+o_9Ew4WZJZtA5y zG(->6BXocsqL0&g{wLQZKD;{1{|tMSK1ZLY$LI-qlAfZIbc&v(GxQv9n#cd(C?I_n v)YY9bWsJI!gc!qS%Dl^?cjTt%&`64B22;kXwX0iF)6#PK{L|FJ0r!6a*h+;q diff --git a/ca.file b/ca.file deleted file mode 100755 index 66ceb9e5..00000000 --- a/ca.file +++ /dev/null @@ -1,495 +0,0 @@ -------------------------------------------------------------------------------- - ./q.sh start -------------------------------------------------------------------------------- -src/imfplay.c: printf("bigbuffer %Fp\t", gvar->ca.audiosegs[0]);\ -src/imfplay.c: printf("&%Fp\n", MEMPTR gvar->ca.audiosegs[0]);\ -src/imfplay.c: MM_FreePtr(MEMPTR gvar->ca.audiosegs[0], gvar); -src/imfplay.c: MM_GetPtr(MEMPTR gvar->ca.audiosegs[0],len, gvar); -src/imfplay.c: imf_music = (struct imf_entry *)gvar->ca.audiosegs[0]; -src/lib/16_ca.c: value = *(long far *)(((byte far *)gvar->ca.grstarts)+offset); -src/lib/16_ca.c:#define GRFILEPOS(c) (gvar->ca.grstarts[c]) -src/lib/16_ca.c: gvar->handle.debughandle = open("debug.16b", O_CREAT | O_WRONLY | O_TEXT); -src/lib/16_ca.c: gvar->handle.debughandle = open("debug.16w", O_CREAT | O_WRONLY | O_TEXT); -src/lib/16_ca.c: close(gvar->handle.debughandle); -src/lib/16_ca.c: if(gvar->pm.emm.EMSVer<0x40) -src/lib/16_ca.c: if(gvar->pm.emm.EMSVer<0x40) -src/lib/16_ca.c: MM_GetPtr (MEMPTR gvar->ca.tinf,length,gvar); -src/lib/16_ca.c: CA_FarRead(handle, gvar->ca.tinf, length,gvar); -src/lib/16_ca.c: gvar->ca.tinf = (byte _seg *)FP_SEG(&maphead); -src/lib/16_ca.c: if ((gvar->ca.file.maphandle[0] = open("data/test.map", -src/lib/16_ca.c:if ((gvar->ca.file.audiohandle = open("data/02.imf", -src/lib/16_ca.c: gvar->handle.profilehandle = open("profile.16b", O_CREAT | O_WRONLY | O_TEXT); -src/lib/16_ca.c: gvar->handle.profilehandle = open("profile.16w", O_CREAT | O_WRONLY | O_TEXT); -src/lib/16_ca.c: gvar->handle.showmemhandle = open("meminfo.16b", O_CREAT | O_WRONLY | O_TEXT); -src/lib/16_ca.c: gvar->handle.showmemhandle = open("meminfo.16w", O_CREAT | O_WRONLY | O_TEXT); -src/lib/16_ca.c: gvar->ca.camap.mapon = -1; -src/lib/16_ca.c: gvar->ca.ca_levelbit = 1; -src/lib/16_ca.c: gvar->ca.ca_levelnum = 0; -src/lib/16_ca.c: close(gvar->handle.profilehandle); -src/lib/16_ca.c: close(gvar->handle.showmemhandle); -src/lib/16_ca.c: close(*(gvar->ca.file.maphandle)); -src/lib/16_ca.c: gvar->ca.grneeded[chunk] |= ca_levelbit; // make sure it doesn't get removed -src/lib/16_ca.c: if (gvar->ca.camap.mapon>-1 && gvar->ca.camap.mapheaderseg[gvar->ca.camap.mapon]) -src/lib/16_ca.c: MM_SetPurge (((memptr)gvar->ca.camap.mapheaderseg[(gvar->ca.camap.mapon)]), 3, gvar); -src/lib/16_ca.c: if (gvar->ca.camap.mapsegs[plane]) -src/lib/16_ca.c: MM_FreePtr ((memptr)gvar->ca.camap.mapsegs[plane], gvar); -src/lib/16_ca.c: gvar->ca.camap.mapon = gvar->ca.camap.mapnum; -src/lib/16_ca.c:// if (!gvar->ca.camap.mapheaderseg[gvar->ca.camap.mapnum]) -src/lib/16_ca.c:// //pos = ((_seg *)gvar->ca.camap.tinf)->headeroffsets[gvar->ca.camap.mapnum]; -src/lib/16_ca.c:// pos = ((memptr)gvar->ca.camap.tinf)->headeroffsets[gvar->ca.camap.mapnum]; -src/lib/16_ca.c:// MM_GetPtr(MEMPTR gvar->ca.camapheaderseg[mapnum],sizeof(maptype)); -src/lib/16_ca.c:// MM_SetPurge (MEMPTR mapheaderseg[mapnum], 0, &(gvar->mm)); -src/lib/16_ca.c: if (gvar->ca.ca_levelnum==7) -src/lib/16_ca.c: gvar->ca.ca_levelbit<<=1; -src/lib/16_ca.c: gvar->ca.ca_levelnum++; -src/lib/16_ca.c: if (!gvar->ca.ca_levelnum) -src/lib/16_ca.c: gvar->ca.ca_levelbit>>=1; -src/lib/16_ca.c: gvar->ca.ca_levelnum--; -src/lib/16_ca.c: gvar->ca.grneeded[i]&=~gvar->ca.ca_levelbit; -src/lib/16_ca.c: _fmemset (gvar->ca.grneeded,0,sizeof(gvar->ca.grneeded)); -src/lib/16_ca.c: gvar->ca.ca_levelbit = 1; -src/lib/16_ca.c: gvar->ca.ca_levelnum = 0; -src/lib/16_ca.c: if (gvar->ca.grsegs[i]) -src/lib/16_ca.c: MM_SetPurge (gvar->ca.grsegs[i],3, gvar); -src/lib/16_ca.c:// if (gvar->ca.camap.mapheaderseg[i]) -src/lib/16_ca.c:// MM_SetPurge (gvar->ca.camap.mapheaderseg[i],3, gvar); -src/lib/16_ca.c: if (gvar->ca.mapsegs[i]) -src/lib/16_ca.c: MM_FreePtr ((memptr *)&gvar->ca.mapsegs[i], gvar); -src/lib/16_ca.c: if (gvar->ca.audiosegs[i]) -src/lib/16_ca.c: MM_SetPurge ((memptr *)&gvar->ca.audiosegs[i],3, gvar); -src/lib/16_ca.c: if (gvar->ca.grneeded[i]&(gvar->ca.ca_levelbit))//if (grneeded[i]&ca_levelbit) -src/lib/16_ca.c: if (gvar->ca.grsegs[i]) // its allready in memory, make -src/lib/16_ca.c: MM_SetPurge(gvar->ca.grsegs[i],0,gvar); // sure it stays there! -src/lib/16_ca.c: if (gvar->ca.grsegs[i]) // not needed, so make it purgeable -src/lib/16_ca.c: MM_SetPurge(gvar->ca.grsegs[i],3,gvar); -src/lib/16_ca.c: if ( (gvar->ca.grneeded[i]&(gvar->ca.ca_levelbit)) && !gvar->ca.grsegs[i]) -src/lib/16_ca.c: !(gvar->video.grneeded[next]&ca_levelbit && !grsegs[next])) -src/lib/16_ca.c: CA_FarRead(grhandle,(gvar->mm.bufferseg),endpos-pos,gvar); -src/lib/16_dbg.c: page = &(gvar->pm.PMPages[i]); -src/lib/16_dbg.c://++ if (i < (gvar->pm.fi.PMSpriteStart)) -src/lib/16_dbg.c:/* else if (i < (gvar->pm.fi.PMSoundStart)) -src/lib/16_dbg.c: else if (i == (gvar->pm.fi.ChunksInFile - 1)) -src/lib/16_dbg.c: while (!(scan = gvar->in.inst->LastScan)) -src/lib/16_dbg.c: if (++i >= (gvar->pm.fi.ChunksInFile)) -src/lib/16_dbg.c:// i = (gvar->pm.fi.PMSpriteStart); -src/lib/16_dbg.c:// i = (gvar->pm.fi.PMSoundStart); -src/lib/16_dbg.c: i = (gvar->pm.fi.ChunksInFile - 1); -src/lib/16_dbg.c: for (j = 0;j < (gvar->pm.fi.ChunksInFile);j++) -src/lib/16_hc.c: write(gvar->handle.heaphandle,scratch,strlen(scratch)); -src/lib/16_hc.c: write(gvar->handle.heaphandle,scratch,strlen(scratch)); -src/lib/16_hc.c: write(gvar->handle.heaphandle,scratch,strlen(scratch)); -src/lib/16_hc.c: write(gvar->handle.heaphandle,scratch,strlen(scratch)); -src/lib/16_hc.c: write(gvar->handle.heaphandle,scratch,strlen(scratch)); -src/lib/16_hc.c: write(gvar->handle.heaphandle,scratch,strlen(scratch)); -src/lib/16_hc.c: write(gvar->handle.heaphandle,scratch,strlen(scratch)); -src/lib/16_hc.c: write(gvar->handle.heaphandle,(str),strlen((str))); -src/lib/16_hc.c: gvar->handle.heaphandle = open("heap.16b", O_CREAT | O_WRONLY | O_TEXT); -src/lib/16_hc.c: gvar->handle.heaphandle = open("heap.16w", O_CREAT | O_WRONLY | O_TEXT); -src/lib/16_hc.c: close(gvar->handle.heaphandle); -src/lib/16_in.c://gvar->in.KbdDefs = {0x1d,0x38,/*0x47,*/0x48,/*0x49,*/0x4b,0x4d,/*0x4f,*/0x50/*,0x51*/}; -src/lib/16_in.c: def = gvar->in.JoyDefs + joy; -src/lib/16_in.c: def = &(gvar->in.JoyDefs[joy]); -src/lib/16_in.c: def = &(gvar->in.JoyDefs[joy]); -src/lib/16_in.c: gvar->in.JoysPresent[joy] = false; -src/lib/16_in.c: if (gvar->in.IN_Started) -src/lib/16_in.c: gvar->in.MousePresent = checkmouse? INL_StartMouse() : false; -src/lib/16_in.c: gvar->in.JoysPresent[i] = checkjoys? INL_StartJoy(i, gvar) : false; -src/lib/16_in.c: gvar->in.inst = &inst; -src/lib/16_in.c: gvar->in.IN_Started = true; -src/lib/16_in.c: || ((nt == ctrl_Joystick1) && !gvar->in.JoysPresent[0]) -src/lib/16_in.c: || ((nt == ctrl_Joystick2) && !gvar->in.JoysPresent[1]) -src/lib/16_in.c: || ((nt == ctrl_Mouse) && !gvar->in.MousePresent) -src/lib/16_in.c: gvar->in.KbdDefs[0].button0 = 0x1c; -src/lib/16_in.c: gvar->in.KbdDefs[0].button1 = 0x38; -src/lib/16_in.c: gvar->in.KbdDefs[0].up = 0x48; -src/lib/16_in.c: gvar->in.KbdDefs[0].left = 0x4b; -src/lib/16_in.c: gvar->in.KbdDefs[0].right = 0x4d; -src/lib/16_in.c: gvar->in.KbdDefs[0].down = 0x50; -src/lib/16_in.c: if (!gvar->in.IN_Started) -src/lib/16_in.c: gvar->in.IN_Started = false; -src/lib/16_in.c: if (gvar->in.MousePresent) -src/lib/16_in.c: if (!gvar->in.JoysPresent[i]) -src/lib/16_in.c: def = &(gvar->in.KbdDefs[type - ctrl_Keyboard]); -src/lib/16_in.c: if (gvar->in.MousePresent) -src/lib/16_in.c: if(!gvar->in.IN_Started) -src/lib/16_in.c: if (gvar->in.MousePresent) -src/lib/16_in.c: if (gvar->in.MousePresent) -src/lib/16_in.c: if (gvar->in.JoysPresent[i]) -src/lib/16_in.c: if (gvar->in.MousePresent) -src/lib/16_map.c:#define MAPBUFINLM *(gvar->ca.mapsegs) -src/lib/16_mm.c: gvar->mm.totalEMSpages=totalEMSpages; -src/lib/16_mm.c: gvar->mm.freeEMSpages=freeEMSpages; -src/lib/16_mm.c: gvar->mm.EMSPageFrame=EMSPageFrame; -src/lib/16_mm.c: gvar->mm.EMSpagesmapped=EMSpagesmapped; -src/lib/16_mm.c: gvar->mm.EMSHandle=EMSHandle; -src/lib/16_mm.c: gvar->mm.EMSVer=EMSVer; -src/lib/16_mm.c: unsigned EMSHandle=gvar->mm.EMSHandle; -src/lib/16_mm.c: EMSHandle=gvar->mm.EMSHandle; -src/lib/16_mm.c: gvar->mmi.EMSmem = (i)*0x4000lu; -src/lib/16_mm.c: EMSHandle=gvar->mm.EMSHandle; -src/lib/16_mm.c: if(gvar->mm.EMSVer<0x40) -src/lib/16_mm.c: gvar->mmi.EMSmem = (i)*0x4000lu; -src/lib/16_mm.c: gvar->mmi.XMSmem += size*16; -src/lib/16_mm.c: gvar->mm.UMBbase[gvar->mm.numUMBs] = base; -src/lib/16_mm.c: gvar->mm.numUMBs++; -src/lib/16_mm.c: if(gvar->mm.numUMBs < MAXUMBS) -src/lib/16_mm.c: for (i=0;imm.numUMBs;i++) -src/lib/16_mm.c: base = gvar->mm.UMBbase[i]; -src/lib/16_mm.c: scan = last = gvar->mm.mmhead; -src/lib/16_mm.c: gvar->mm.mmrover = gvar->mm.mmhead; // reset rover to start of memory -src/lib/16_mm.c: gvar->mm.mmnew->useptr = NULL; -src/lib/16_mm.c: gvar->mm.mmnew->next = scan->next; -src/lib/16_mm.c: scan->next = gvar->mm.mmnew; -src/lib/16_mm.c: gvar->mm.mmnew->start = segstart+seglength; -src/lib/16_mm.c: gvar->mm.mmnew->length = extra; -src/lib/16_mm.c: gvar->mm.mmnew->attributes = LOCKBIT; -src/lib/16_mm.c: scan = gvar->mm.mmhead->next; -src/lib/16_mm.c: if(gvar->mm.mmstarted) -src/lib/16_mm.c: gvar->mm.mmstarted = true; -src/lib/16_mm.c: gvar->mm.bombonerror = true; -src/lib/16_mm.c: gvar->mm.mmhead = NULL; -src/lib/16_mm.c: gvar->mm.mmfree = &(gvar->mm.mmblocks[0]); -src/lib/16_mm.c: gvar->mm.mmblocks[i].next = &(gvar->mm.mmblocks[i+1]); -src/lib/16_mm.c: gvar->mm.mmblocks[i].next = NULL; -src/lib/16_mm.c: gvar->mm.mmhead = gvar->mm.mmnew; // this will allways be the first node -src/lib/16_mm.c: gvar->mm.mmnew->start = 0; -src/lib/16_mm.c: gvar->mm.mmnew->length = 0xffff; -src/lib/16_mm.c: gvar->mm.mmnew->attributes = LOCKBIT; -src/lib/16_mm.c: gvar->mm.mmnew->next = NULL; -src/lib/16_mm.c: gvar->mm.mmrover = gvar->mm.mmhead; -src/lib/16_mm.c: //start = gvar->mm.nearheap = _fmalloc(length); -src/lib/16_mm.c: start = (void __far *)(gvar->mm.nearheap = _nmalloc(length)); -src/lib/16_mm.c: start = (void far *)(gvar->mm.nearheap = malloc(length)); -src/lib/16_mm.c: gvar->mmi.nearheap = length; -src/lib/16_mm.c: start = gvar->mm.farheap = _fmalloc(length);//start = gvar->mm.farheap = halloc(length, 1); -src/lib/16_mm.c: gvar->mmi.farheap = length; -src/lib/16_mm.c: gvar->mmi.mainmem = gvar->mmi.nearheap + gvar->mmi.farheap; -src/lib/16_mm.c: gvar->mmi.EMSmem = 0; -src/lib/16_mm.c: MML_UseSpace(gvar->mm.EMSPageFrame,(MAPPAGES)*0x4000lu, gvar); -src/lib/16_mm.c: //if(gvar->pm.emm.EMSVer<0x40) -src/lib/16_mm.c: gvar->mmi.XMSmem = 0; -src/lib/16_mm.c: gvar->mm.mmrover = gvar->mm.mmhead; // start looking for space after low block -src/lib/16_mm.c: MM_GetPtr(&(gvar->mm.bufferseg),BUFFERSIZE, gvar); -src/lib/16_mm.c: if(!(gvar->mm.mmstarted)) -src/lib/16_mm.c: _ffree(gvar->mm.farheap);// printf(" far freed\n"); -src/lib/16_mm.c: _nfree(gvar->mm.nearheap);// printf(" near freed\n"); -src/lib/16_mm.c: free(gvar->mm.nearheap);// printf(" near freed\n"); -src/lib/16_mm.c: gvar->mm.mmnew->length = needed; -src/lib/16_mm.c: gvar->mm.mmnew->useptr = baseptr; -src/lib/16_mm.c: //if(gvar->mm.mmnew->useptr==NULL){ -src/lib/16_mm.c: printf(" baseptr=%Fp ", baseptr); printf("useptr=%Fp\n", gvar->mm.mmnew->useptr); -src/lib/16_mm.c: printf(" *baseptr=%Fp ", *baseptr); printf("*useptr=%Fp\n", *(gvar->mm.mmnew->useptr)); -src/lib/16_mm.c: printf(" &baseptr=%Fp ", &baseptr); printf("&useptr=%Fp\n", &(gvar->mm.mmnew->useptr)); -src/lib/16_mm.c: //Quit(gvar, "gvar->mm.mmnew->useptr==NULL"); } -src/lib/16_mm.c: gvar->mm.mmnew->attributes = BASEATTRIBUTES; -src/lib/16_mm.c: if (search == 1 && gvar->mm.mmrover == gvar->mm.mmhead) -src/lib/16_mm.c: lastscan = gvar->mm.mmrover; -src/lib/16_mm.c: scan = gvar->mm.mmrover->next; -src/lib/16_mm.c: lastscan = gvar->mm.mmhead; -src/lib/16_mm.c: scan = gvar->mm.mmhead->next; -src/lib/16_mm.c: endscan = gvar->mm.mmrover; -src/lib/16_mm.c: lastscan = gvar->mm.mmhead; -src/lib/16_mm.c: scan = gvar->mm.mmhead->next; -src/lib/16_mm.c: lastscan->next = gvar->mm.mmnew; -src/lib/16_mm.c: gvar->mm.mmnew->start = *(unsigned *)baseptr = startseg; -src/lib/16_mm.c: gvar->mm.mmnew->next = scan; -src/lib/16_mm.c: gvar->mm.mmrover = gvar->mm.mmnew; -src/lib/16_mm.c: if (gvar->mm.bombonerror) -src/lib/16_mm.c: printf(OUT_OF_MEM_MSG,(size-gvar->mmi.nearheap)); -src/lib/16_mm.c: gvar->mm.mmerror = true; -src/lib/16_mm.c: last = gvar->mm.mmhead; -src/lib/16_mm.c: if(baseptr == gvar->mm.mmrover->useptr) // removed the last allocated block -src/lib/16_mm.c: gvar->mm.mmrover = gvar->mm.mmhead; -src/lib/16_mm.c: start = gvar->mm.mmrover; -src/lib/16_mm.c: if(gvar->mm.mmrover->useptr == baseptr) -src/lib/16_mm.c: gvar->mm.mmrover = gvar->mm.mmrover->next; -src/lib/16_mm.c: if(!gvar->mm.mmrover) -src/lib/16_mm.c: gvar->mm.mmrover = gvar->mm.mmhead; -src/lib/16_mm.c: else if(gvar->mm.mmrover == start) -src/lib/16_mm.c: gvar->mm.mmrover->attributes &= ~PURGEBITS; -src/lib/16_mm.c: gvar->mm.mmrover->attributes |= purge; -src/lib/16_mm.c: start = gvar->mm.mmrover; -src/lib/16_mm.c: if(gvar->mm.mmrover->useptr == baseptr) -src/lib/16_mm.c: gvar->mm.mmrover = gvar->mm.mmrover->next; -src/lib/16_mm.c: if(!gvar->mm.mmrover) -src/lib/16_mm.c: gvar->mm.mmrover = gvar->mm.mmhead; -src/lib/16_mm.c: else if(gvar->mm.mmrover == start) -src/lib/16_mm.c: gvar->mm.mmrover->attributes &= ~LOCKBIT; -src/lib/16_mm.c: gvar->mm.mmrover->attributes |= locked*LOCKBIT; -src/lib/16_mm.c: oldborder = gvar->video.bordercolor; -src/lib/16_mm.c: gvar->video.bordercolor = modexPalOverscan(15); -src/lib/16_mm.c: scan = gvar->mm.mmhead; -src/lib/16_mm.c: gvar->mm.mmrover = gvar->mm.mmhead; -src/lib/16_mm.c: VL_SetLineWidth(40, &gvar->video.ofs); -src/lib/16_mm.c: temp = gvar->video.ofs.bufferofs; -src/lib/16_mm.c: gvar->video.ofs.bufferofs = gvar->video.ofs.displayofs; -src/lib/16_mm.c: scan = gvar->mm.mmhead; -src/lib/16_mm.c: write(gvar->handle.debughandle,scratch,strlen(scratch)); -src/lib/16_mm.c: VW_Hlin(x,x+end,y,color, &gvar->video.ofs); -src/lib/16_mm.c: VL_Plot(x,y,15, &gvar->video.ofs); -src/lib/16_mm.c: VW_Hlin(x+end+1,x+(scan->next->start-scan->start),y,0, &gvar->video.ofs); // black = free -src/lib/16_mm.c: write(gvar->handle.debughandle,scratch,strlen(scratch)); -src/lib/16_mm.c: write(gvar->handle.debughandle,scratch0,strlen(scratch0)); -src/lib/16_mm.c: gvar->video.ofs.bufferofs = temp; -src/lib/16_mm.c: _nfree(gvar->mm.nearheap); -src/lib/16_mm.c: free(gvar->mm.nearheap); -src/lib/16_mm.c: scan = gvar->mm.mmhead; -src/lib/16_mm.c: scan = gvar->mm.mmhead; -src/lib/16_mm.c: scan = gvar->mm.mmhead; -src/lib/16_mm.c: printf(" %cLIMEMS %u\n", 0xC9, gvar->pm.emm.EMSPresent); -src/lib/16_mm.c: printf(" %c%cEMM v%x.%x available\n", 0xC7, 0xC4, gvar->pm.emm.EMSVer>>4,gvar->pm.emm.EMSVer&0x0F); -src/lib/16_mm.c: printf(" %c%ctotalEMSpages: %u ", 0xC7, 0xC4, gvar->pm.emm.totalEMSpages); printf("freeEMSpages: %u\n", gvar->pm.emm.freeEMSpages); -src/lib/16_mm.c: printf(" %c%cEMSPageFrame: %04x\n", 0xC7, 0xC4, gvar->pm.emm.EMSPageFrame); -src/lib/16_mm.c: printf(" %c%cEMSmem: %lu or %luk\n", 0xD3, 0xC4, gvar->mmi.EMSmem, gvar->mmi.EMSmem/1204); -src/lib/16_mm.c: printf(" %cXMS %u\n", 0xC9, gvar->pm.xmm.XMSPresent); -src/lib/16_mm.c: printf(" %c%cXMSHandle: %04x\n", 0xC7, 0xC4, gvar->pm.xmm.XMSHandle); -src/lib/16_mm.c: printf(" %c%cXMSmem: %lu or %lukb\n", 0xD3, 0xC4, gvar->mmi.XMSmem, gvar->mmi.XMSmem/1024); -src/lib/16_mm.c: printf(" %cConv. %u\n", 0xC9, gvar->pm.mm.MainPresent); DebugMemory_(gvar, 0); -src/lib/16_mm.c: //printf("mainmem: %lu\n", gvar->mmi.mainmem); -src/lib/16_mm.c: //printf("Total convmem: %lu ", gvar->mmi.mainmem); printf("TotalFree: %lu ", MM_TotalFree(gvar)+gvar->mmi.EMSmem+gvar->mmi.XMSmem+gvar->mmi.XMSmem); printf("TotalUsed: %lu\n", gvar->mmi.mainmem); -src/lib/16_mm.c: printf("nearheap: %lu ", gvar->mmi.nearheap); printf("farheap: %lu\n", gvar->mmi.farheap); -src/lib/16_mm.c: gvar->mm.bombonerror = bomb; -src/lib/16_mm.c: if(!gvar->mm.mmfree) -src/lib/16_mm.c: gvar->mm.mmnew=gvar->mm.mmfree; -src/lib/16_mm.c: gvar->mm.mmfree=gvar->mm.mmfree->next; -src/lib/16_mm.c: if(!(gvar->mm.mmnew=gvar->mm.mmfree)) -src/lib/16_mm.c: gvar->mm.mmfree=gvar->mm.mmfree->next; -src/lib/16_mm.c: x->next=gvar->mm.mmfree; -src/lib/16_mm.c: gvar->mm.mmfree=x; -src/lib/16_mm.c: dword XMSDriver = gvar->pm.xmm.XMSDriver; -src/lib/16_pm.c: PMBlockAttr gvar->pm.mm.MainMemUsed[PMMaxMainMem]; -src/lib/16_pm.c: int gvar->pm.mm.MainPagesAvail;*/ -src/lib/16_pm.c:/* word gvar->pm.emm.EMSAvail,gvar->pm.emm.EMSPagesAvail,gvar->pm.emm.EMSHandle, -src/lib/16_pm.c: gvar->pm.emm.EMSPageFrame,gvar->pm.emm.EMSPhysicalPage; -src/lib/16_pm.c: gvar->pm.emm.EMSListStruct gvar->pm.emm.EMSList[EMSFrameCount];*/ -src/lib/16_pm.c: //word gvar->pm.xmm.XMSAvail,gvar->pm.xmm.XMSPagesAvail,gvar->pm.xmm.XMSHandle; -src/lib/16_pm.c:/* int gvar->pm.xmm.XMSProtectPage = -1; -src/lib/16_pm.c: char gvar->pm.fi.PageFileName[13] = {"VSWAP."}; -src/lib/16_pm.c: word gvar->pm.fi.ChunksInFile; -src/lib/16_pm.c: gvar->pm.PMPanicMode, -src/lib/16_pm.c: gvar->pm.PMThrashing; -src/lib/16_pm.c: word gvar->pm.XMSPagesUsed, -src/lib/16_pm.c: gvar->pm.EMSPagesUsed, -src/lib/16_pm.c: gvar->pm.PMNumBlocks; -src/lib/16_pm.c: PageListStruct far *gvar->pm.PMPages, -src/lib/16_pm.c: _seg *gvar->pm.PMSegPages;*/ -src/lib/16_pm.c: EMShandle=gvar->pm.emm.EMSHandle; -src/lib/16_pm.c: gvar->pm.emm.EMSPresent = false; // Assume that we'll fail -src/lib/16_pm.c: gvar->pm.emm.EMSAvail = gvar->mmi.EMSmem = 0; -src/lib/16_pm.c: size = gvar->pm.emm.EMSAvail * (long)EMSPageSize; -src/lib/16_pm.c: if (size - (EMSPageSize * 2) > (gvar->pm.fi.ChunksInFile * (long)PMPageSize)) -src/lib/16_pm.c: size = (gvar->pm.fi.ChunksInFile * (long)PMPageSize) + EMSPageSize; -src/lib/16_pm.c: gvar->pm.emm.EMSAvail = size / EMSPageSize; -src/lib/16_pm.c: return(gvar->pm.emm.EMSPresent); -src/lib/16_pm.c: gvar->mmi.EMSmem = EMSAvail * (dword)EMSPageSize; -src/lib/16_pm.c: gvar->pm.emm.EMSList[i].baseEMSPage = -1; -src/lib/16_pm.c: gvar->pm.emm.EMSPresent = true; // We have EMS -src/lib/16_pm.c: gvar->pm.emm.EMSPageFrame = EMSPageFrame; -src/lib/16_pm.c: gvar->pm.emm.EMSAvail = EMSAvail; -src/lib/16_pm.c: gvar->pm.emm.EMSVer = EMSVer; -src/lib/16_pm.c: gvar->pm.emm.EMSHandle = EMSHandle; -src/lib/16_pm.c: gvar->pm.emm.freeEMSpages = freeEMSpages; -src/lib/16_pm.c: gvar->pm.emm.totalEMSpages = totalEMSpages; -src/lib/16_pm.c: return(gvar->pm.emm.EMSPresent); -src/lib/16_pm.c: EMSHandle=gvar->pm.emm.EMSHandle; -src/lib/16_pm.c: if (gvar->pm.emm.EMSPresent) -src/lib/16_pm.c: gvar->pm.xmm.XMSPresent = false; // Assume failure -src/lib/16_pm.c: XMSAvail = gvar->mmi.XMSmem = 0; -src/lib/16_pm.c: gvar->mmi.XMSmem = (dword)(XMSAvail) * 1024; -src/lib/16_pm.c: gvar->pm.xmm.XMSAvail = XMSAvail; -src/lib/16_pm.c: gvar->pm.xmm.XMSHandle = XMSHandle; -src/lib/16_pm.c: //gvar->pm.xmm.XMSVer = XMSVer; -src/lib/16_pm.c: gvar->pm.xmm.XMSPresent = true; -src/lib/16_pm.c: printf(" XMSmem=%lu XMSAvail=%u\n", gvar->mmi.XMSmem, XMSAvail); -src/lib/16_pm.c: //printf(" %u", gvar->pm.xmm.XMSHandle); -src/lib/16_pm.c: return(gvar->pm.xmm.XMSPresent); -src/lib/16_pm.c: copy.source_handle = toxms? 0 : gvar->pm.xmm.XMSHandle; -src/lib/16_pm.c: copy.target_handle = toxms? gvar->pm.xmm.XMSHandle : 0; -src/lib/16_pm.c: word XMSHandle = gvar->pm.xmm.XMSHandle; -src/lib/16_pm.c: if (gvar->pm.xmm.XMSPresent) -src/lib/16_pm.c: if(gvar->pm.mm.MainPresent) -src/lib/16_pm.c: printf("PM_SetMainMemPurge() info of gvar->pm.mm.MainMemPages[i]\n"); -src/lib/16_pm.c: printf("& %Fp, %Fp\n", &gvar->pm.mm.MainMemPages[i], &(gvar->pm.mm.MainMemPages[i])); -src/lib/16_pm.c: if (gvar->pm.mm.MainMemPages[i]) -src/lib/16_pm.c: MM_SetPurge(&(gvar->pm.mm.MainMemPages[i]),level, gvar); -src/lib/16_pm.c: if (!gvar->pm.mm.MainPresent) -src/lib/16_pm.c: for (i = 0,page = gvar->pm.PMPages;i < gvar->pm.fi.ChunksInFile;i++,page++) -src/lib/16_pm.c: if (!gvar->pm.mm.MainMemPages[n]) // Yep, was the block purged? -src/lib/16_pm.c: for (i = 0,p = gvar->pm.mm.MainMemPages,used = gvar->pm.mm.MainMemUsed; i < PMMaxMainMem;i++,p++,used++) -src/lib/16_pm.c: gvar->pm.mm.MainPagesAvail--; // and decrease available count -src/lib/16_pm.c: gvar->pm.MainPagesUsed--; // and decrease used count -src/lib/16_pm.c: if (gvar->mm.mmerror) // If it failed, -src/lib/16_pm.c: gvar->pm.mm.MainPagesAvail++; // and increase available count -src/lib/16_pm.c: if (gvar->mm.mmerror) -src/lib/16_pm.c: gvar->mm.mmerror = false; -src/lib/16_pm.c: gvar->pm.mm.MainPagesAvail = 0; -src/lib/16_pm.c: gvar->pm.mm.MainPresent = false; -src/lib/16_pm.c: for (i = 0,p = gvar->pm.mm.MainMemPages;i < PMMaxMainMem;i++,p++) -src/lib/16_pm.c: if (gvar->mm.mmerror) -src/lib/16_pm.c: gvar->pm.mm.MainPagesAvail++; -src/lib/16_pm.c: gvar->pm.mm.MainMemUsed[i] = pmba_Allocated; -src/lib/16_pm.c: if (gvar->mm.mmerror) -src/lib/16_pm.c: gvar->mm.mmerror = false; -src/lib/16_pm.c: if (gvar->pm.mm.MainPagesAvail < PMMinMainMem) -src/lib/16_pm.c: gvar->pm.mm.MainPresent = true; -src/lib/16_pm.c: for (i = 0,p = gvar->pm.mm.MainMemPages;i < PMMaxMainMem;i++,p++) -src/lib/16_pm.c: if (lseek(gvar->pm.fi.PageFile,offset,SEEK_SET) != offset) -src/lib/16_pm.c: if (!CA_FarRead(gvar->pm.fi.PageFile,buf,length, gvar)) -src/lib/16_pm.c: gvar->pm.fi.PageFile = open(gvar->pm.fi.PageFileName,O_RDONLY + O_BINARY); -src/lib/16_pm.c: if (gvar->pm.fi.PageFile == -1) -src/lib/16_pm.c: read(gvar->pm.fi.PageFile,&gvar->pm.fi.ChunksInFile,sizeof(gvar->pm.fi.ChunksInFile)); -src/lib/16_pm.c: read(gvar->pm.fi.PageFile,&gvar->pm.fi.PMSpriteStart,sizeof(gvar->pm.fi.PMSpriteStart)); -src/lib/16_pm.c: read(gvar->pm.fi.PageFile,&gvar->pm.fi.PMSoundStart,sizeof(gvar->pm.fi.PMSoundStart)); -src/lib/16_pm.c: gvar->pm.PMNumBlocks = gvar->pm.fi.ChunksInFile; -src/lib/16_pm.c: MM_GetPtr((memptr *)&gvar->pm.PMSegPages, sizeof(PageListStruct) * (gvar->pm.PMNumBlocks), gvar); -src/lib/16_pm.c: MM_SetLock((memptr *)&gvar->pm.PMSegPages,true, gvar); -src/lib/16_pm.c: gvar->pm.PMPages = (PageListStruct far *)gvar->pm.PMSegPages; -src/lib/16_pm.c: _fmemset(gvar->pm.PMPages,0,sizeof(PageListStruct) * gvar->pm.PMNumBlocks); -src/lib/16_pm.c: size = sizeof(dword) * gvar->pm.fi.ChunksInFile; -src/lib/16_pm.c: if (!CA_FarRead(gvar->pm.fi.PageFile,(byte far *)buf,size, gvar)) -src/lib/16_pm.c: for (i = 0,page = gvar->pm.PMPages;i < gvar->pm.fi.ChunksInFile;i++,page++) -src/lib/16_pm.c: size = sizeof(word) * gvar->pm.fi.ChunksInFile; -src/lib/16_pm.c: if (!CA_FarRead(gvar->pm.fi.PageFile,(byte far *)buf,size, gvar)) -src/lib/16_pm.c: for (i = 0,page = gvar->pm.PMPages;i < gvar->pm.fi.ChunksInFile;i++,page++) -src/lib/16_pm.c: if (gvar->pm.fi.PageFile != -1) -src/lib/16_pm.c: close(gvar->pm.fi.PageFile); -src/lib/16_pm.c: if (gvar->pm.PMSegPages) -src/lib/16_pm.c: MM_SetLock((memptr *)&gvar->pm.PMSegPages,false, gvar); -src/lib/16_pm.c: MM_FreePtr((void _seg *)&gvar->pm.PMSegPages, gvar); -src/lib/16_pm.c: if (gvar->pm.emm.EMSList[i].baseEMSPage == emsbase) -src/lib/16_pm.c: if (gvar->pm.emm.EMSList[i].lastHit < last) -src/lib/16_pm.c: last = gvar->pm.emm.EMSList[i].lastHit; -src/lib/16_pm.c: gvar->pm.emm.EMSList[emspage].baseEMSPage = emsbase; -src/lib/16_pm.c: gvar->pm.emm.EMSList[emspage].lastHit = gvar->pm.PMFrameCount; -src/lib/16_pm.c: return((memptr)(gvar->pm.emm.EMSPageFrame + offset)); -src/lib/16_pm.c: page = &gvar->pm.PMPages[pagenum]; -src/lib/16_pm.c: return(gvar->pm.mm.MainMemPages[page->mainPage]); -src/lib/16_pm.c: for (i = 0,page = gvar->pm.PMPages,lru = -1,last = LONG_MAX;i < gvar->pm.fi.ChunksInFile;i++,page++) -src/lib/16_pm.c: for (i = 0,page = gvar->pm.PMPages,lru = -1,last = LONG_MAX;i < gvar->pm.fi.ChunksInFile;i++,page++) -src/lib/16_pm.c: && (i != gvar->pm.xmm.XMSProtectPage) -src/lib/16_pm.c: if (!gvar->pm.xmm.XMSPresent) -src/lib/16_pm.c: page = &gvar->pm.PMPages[pagenum]; -src/lib/16_pm.c: if (gvar->pm.XMSPagesUsed < gvar->pm.xmm.XMSPagesAvail) -src/lib/16_pm.c: page->xmsPage = gvar->pm.XMSPagesUsed++; -src/lib/16_pm.c: page->xmsPage = gvar->pm.PMPages[usexms].xmsPage; -src/lib/16_pm.c: gvar->pm.PMPages[usexms].xmsPage = -1; -src/lib/16_pm.c: origpage = &gvar->pm.PMPages[orig]; -src/lib/16_pm.c: newpage = &gvar->pm.PMPages[new]; -src/lib/16_pm.c: page = &gvar->pm.PMPages[pagenum]; -src/lib/16_pm.c: if ((gvar->pm.EMSPagesUsed < gvar->pm.emm.EMSPagesAvail) && !mainonly) -src/lib/16_pm.c: page->emsPage = gvar->pm.EMSPagesUsed++; -src/lib/16_pm.c: else if (gvar->pm.MainPagesUsed < gvar->pm.mm.MainPagesAvail) -src/lib/16_pm.c: for (i = 0,n = -1,used = gvar->pm.mm.MainMemUsed;i < PMMaxMainMem;i++,used++) -src/lib/16_pm.c: addr = gvar->pm.mm.MainMemPages[n]; -src/lib/16_pm.c: gvar->pm.MainPagesUsed++; -src/lib/16_pm.c: page = &gvar->pm.PMPages[pagenum]; -src/lib/16_pm.c: if (gvar->pm.xmm.XMSPresent && (page->xmsPage != -1)) -src/lib/16_pm.c: gvar->pm.xmm.XMSProtectPage = pagenum; -src/lib/16_pm.c: gvar->pm.xmm.XMSProtectPage = -1; -src/lib/16_pm.c: page = &gvar->pm.PMPages[pagenum]; -src/lib/16_pm.c: if (pagenum >= gvar->pm.fi.ChunksInFile) -src/lib/16_pm.c: boolean mainonly = (pagenum >= gvar->pm.fi.PMSoundStart); -src/lib/16_pm.c:if (!gvar->pm.PMPages[pagenum].offset) // JDC: sparse page -src/lib/16_pm.c: if (gvar->pm.PMPages[pagenum].lastHit == gvar->pm.PMFrameCount) -src/lib/16_pm.c: gvar->pm.PMThrashing++; -src/lib/16_pm.c: gvar->pm.PMPages[pagenum].lastHit = gvar->pm.PMFrameCount; -src/lib/16_pm.c: if (pagenum < gvar->pm.fi.PMSoundStart) -src/lib/16_pm.c: gvar->pm.PMPages[pagenum].locked = lock; -src/lib/16_pm.c: mainfree = (gvar->pm.mm.MainPagesAvail - gvar->pm.MainPagesUsed) + (gvar->pm.emm.EMSPagesAvail - gvar->pm.EMSPagesUsed); -src/lib/16_pm.c: xmsfree = (gvar->pm.xmm.XMSPagesAvail - gvar->pm.XMSPagesUsed); -src/lib/16_pm.c: for (i = 0;i < gvar->pm.fi.ChunksInFile;i++) -src/lib/16_pm.c: if (!gvar->pm.PMPages[i].offset) -src/lib/16_pm.c: if ( gvar->pm.PMPages[i].emsPage != -1 || gvar->pm.PMPages[i].mainPage != -1 ) -src/lib/16_pm.c: else if ( xmsfree && (gvar->pm.PMPages[i].xmsPage == -1) ) -src/lib/16_pm.c: while ( !gvar->pm.PMPages[page].offset || gvar->pm.PMPages[page].mainPage != -1 -src/lib/16_pm.c: || gvar->pm.PMPages[page].emsPage != -1 ) -src/lib/16_pm.c: if (page >= gvar->pm.fi.ChunksInFile) -src/lib/16_pm.c: Quit (gvar, "PM_Preload: Pages>=gvar->pm.fi.ChunksInFile"); -src/lib/16_pm.c: for (oogypage = 0 ; gvar->pm.PMPages[oogypage].mainPage == -1 ; oogypage++) -src/lib/16_pm.c: while ( !gvar->pm.PMPages[page].offset || gvar->pm.PMPages[page].xmsPage != -1 ) -src/lib/16_pm.c: if (page >= gvar->pm.fi.ChunksInFile) -src/lib/16_pm.c: Quit (gvar, "PM_Preload: Pages>=gvar->pm.fi.ChunksInFile"); -src/lib/16_pm.c: p = &gvar->pm.PMPages[page]; -src/lib/16_pm.c: p->xmsPage = gvar->pm.XMSPagesUsed++; -src/lib/16_pm.c: if (gvar->pm.XMSPagesUsed > gvar->pm.xmm.XMSPagesAvail) -src/lib/16_pm.c: p = &gvar->pm.PMPages[oogypage]; -src/lib/16_pm.c: if (++gvar->pm.PMFrameCount >= LONG_MAX - 4) -src/lib/16_pm.c: for (i = 0;i < gvar->pm.PMNumBlocks;i++) -src/lib/16_pm.c: gvar->pm.PMPages[i].lastHit = 0; -src/lib/16_pm.c: gvar->pm.PMFrameCount = 0; -src/lib/16_pm.c: for (i = 0;i < gvar->pm.fi.PMSoundStart;i++) -src/lib/16_pm.c: if (gvar->pm.PMPages[i].locked) -src/lib/16_pm.c: if (gvar->pm.PMPanicMode) -src/lib/16_pm.c: if ((!gvar->pm.PMThrashing) && (!--gvar->pm.PMPanicMode)) -src/lib/16_pm.c: if (gvar->pm.PMThrashing >= PMThrashThreshold) -src/lib/16_pm.c: gvar->pm.PMPanicMode = PMUnThrashThreshold; -src/lib/16_pm.c: gvar->pm.PMThrashing = false; -src/lib/16_pm.c: gvar->pm.xmm.XMSPagesAvail = gvar->pm.xmm.XMSAvail / PMPageSizeKB; -src/lib/16_pm.c: gvar->pm.emm.EMSPagesAvail = gvar->pm.emm.EMSAvail * (EMSPageSizeKB / PMPageSizeKB); -src/lib/16_pm.c: gvar->pm.emm.EMSPhysicalPage = 0; -src/lib/16_pm.c: gvar->pm.MainPagesUsed = gvar->pm.EMSPagesUsed = gvar->pm.XMSPagesUsed = 0; -src/lib/16_pm.c: gvar->pm.PMPanicMode = false; -src/lib/16_pm.c: gvar->pm.fi.PageFile = -1; -src/lib/16_pm.c: gvar->pm.xmm.XMSProtectPage = -1; -src/lib/16_pm.c: for (i = 0,page = gvar->pm.PMPages;i < gvar->pm.PMNumBlocks;i++,page++) -src/lib/16_pm.c: if (gvar->pm.PMStarted) -src/lib/16_pm.c: //0000+=+=strcpy(&(gvar->pm.fi.PageFileName), "VSWAP."); -src/lib/16_pm.c: if (!gvar->pm.mm.MainPresent && !gvar->pm.emm.EMSPresent && !gvar->pm.xmm.XMSPresent) -src/lib/16_pm.c: gvar->pm.PMStarted = true; -src/lib/16_pm.c: if (!gvar->pm.PMStarted) -src/lib/16_sd.c: gvar->ca.sd.irq0_ticks= -src/lib/16_sd.c: //gvar->ca.sd.irq0_cnt= -src/lib/16_sd.c: //gvar->ca.sd.irq0_add= -src/lib/16_sd.c: gvar->ca.sd.imf_delay_countdown= -src/lib/16_sd.c: gvar->ca.sd.irq0_max=0; -src/lib/16_sd.c: gvar->ca.sd.imf_music= -src/lib/16_sd.c: gvar->ca.sd.imf_play_ptr= -src/lib/16_sd.c: gvar->ca.sd.imf_music_end=NULL; -src/lib/16_sd.c: gvar->ca.sd.irq0_cnt = 0; -src/lib/16_sd.c: gvar->ca.sd.irq0_add = 182; -src/lib/16_sd.c: gvar->ca.sd.irq0_max = 1000; /* about 18.2Hz */ -src/lib/16_sd.c: if (gvar->ca.sd.imf_music) free(gvar->ca.sd.imf_music); -src/lib/16_sd.c: MM_FreePtr(MEMPTR gvar->ca.audiosegs[0], gvar); //TODO make behave like id engine -src/lib/16_sd.c: gvar->ca.sd.imf_music = gvar->ca.sd.imf_play_ptr = gvar->ca.sd.imf_music_end = NULL; -src/lib/16_sd.c: gvar->ca.sd.imf_delay_countdown = 0; -src/lib/16_sd.c: MM_GetPtr(MEMPTR gvar->ca.audiosegs[0],len, gvar); -src/lib/16_sd.c: gvar->ca.sd.imf_music = (struct imf_entry *)gvar->ca.audiosegs[0]; -src/lib/16_sd.c: if (gvar->ca.sd.imf_music == NULL) { -src/lib/16_sd.c: read(fd,gvar->ca.sd.imf_music,len); -src/lib/16_sd.c: gvar->ca.sd.imf_play_ptr = gvar->ca.sd.imf_music; -src/lib/16_sd.c: gvar->ca.sd.imf_music_end = gvar->ca.sd.imf_music + (len >> 2UL); -src/lib/16_sd.c: if (gvar->ca.sd.imf_delay_countdown == 0) { -src/lib/16_sd.c: adlib_write(gvar->ca.sd.imf_play_ptr->reg,gvar->ca.sd.imf_play_ptr->data); -src/lib/16_sd.c: gvar->ca.sd.imf_delay_countdown = gvar->ca.sd.imf_play_ptr->delay; -src/lib/16_sd.c: gvar->ca.sd.imf_play_ptr++; -src/lib/16_sd.c: if (gvar->ca.sd.imf_play_ptr == gvar->ca.sd.imf_music_end) -src/lib/16_sd.c: gvar->ca.sd.imf_play_ptr = gvar->ca.sd.imf_music; -src/lib/16_sd.c: } while (gvar->ca.sd.imf_delay_countdown == 0); -src/lib/16_sd.c: gvar->ca.sd.imf_delay_countdown--; -src/lib/16_tail.c: gvar->video.VL_Started=0; -src/lib/16_tail.c: gvar->mm.mmstarted=0; -src/lib/16_tail.c: gvar->pm.PMStarted=0; -src/lib/16_tail.c: if(gvar->video.VL_Started) -src/lib/16_tail.c: if(!gvar->video.old_mode) gvar->video.old_mode = vgaGetMode();//out.h.al; -src/lib/16_tail.c: gvar->video.old_mode = 3; -src/lib/16_tail.c: gvar->video.VL_Initiated = 1; -src/lib/16_tail.c: printf("Total: "); if(q) printf(" "); printf("%uk", gvar->mmi.mainmem/1024); -src/lib/16_us.c: VLB_Bar(px,py,42,6,3/*BackColor*/, &gvar->video.ofs); -src/lib/16_us.c: modexprint(gvar->video.page, px, py, 1, 0, 4, 8, 1, "YOU:"); -src/lib/16_us.c: VLB_Bar(px,py,50,6,3/*BackColor*/, &gvar->video.ofs); -src/lib/16_us.c: modexprint(gvar->video.page, px, py, 1, 0, 4, 8, 1, "COMP:"); -src/lib/16_us.c: 3/*BackColor*/, &gvar->video.ofs); -src/lib/16_us.c: modexputPixel(gvar->video.page, BallMinX, BallMinY, 3); -src/lib/16_us.c: modexputPixel(gvar->video.page, cx, CPaddleY, 3); -src/lib/16_us.c: modexputPixel(gvar->video.page, kx, KPaddleY, 3); -src/lib/16_us.c: } while ((gvar->in.inst->LastScan != sc_Escape) && !done); -src/lib/16_vrs.c: CA_ReadFile(filename, &gvar->ca.spribuff, gvar); -src/lib/16_vrs.c: CA_LoadFile(filename, &gvar->ca.spribuff, gvar); -src/lib/16_vrs.c: enti->spri.spritesheet.buffer = gvar->ca.spribuff; -src/lib/16_mm.h:#define GETNEWBLOCK {if(!gvar->mm.mmfree)MML_ClearBlock(gvar);gvar->mm.mmnew=gvar->mm.mmfree;gvar->mm.mmfree=gvar->mm.mmfree->next;} -src/lib/16_mm.h:#define FREEBLOCK(x) {*x->useptr=NULL;x->next=gvar->mm.mmfree;gvar->mm.mmfree=x;} -src/lib/16_mm.h:#define MAPPAGES 4//gvar->mm.EMSpagesmapped -src/lib/vgmsnd/vgmSnd.c: MM_GetPtr(MEMPTR gvar->ca.audiosegs[0], vgmFile->dataLen, gvar); -src/lib/vgmsnd/vgmSnd.c: vgmFile->data = (UINT8*)gvar->ca.audiosegs[0]; -src/lib/vgmsnd/vgmSnd.c: MM_FreePtr(MEMPTR gvar->ca.audiosegs[0], gvar); -=============== ./q.sh end =============== diff --git a/src/lib/16_ca.c b/src/lib/16_ca.c index 95fa5446..867b2099 100755 --- a/src/lib/16_ca.c +++ b/src/lib/16_ca.c @@ -1123,13 +1123,15 @@ dinorm: void CAL_SetupMapFile (global_game_variables_t *gvar) { -//++ int handle; -//++ long length; +#ifndef MAPHEADERLINKED + int handle; + long length; +#endif // // load maphead.ext (offsets and tileinfo for map file) // -/*#ifndef MAPHEADERLINKED +#ifndef MAPHEADERLINKED if ((handle = open("maphead.mph", O_RDONLY | O_BINARY, S_IREAD)) == -1) Quit (gvar, "Can't open maphead.mph"); @@ -1141,7 +1143,7 @@ void CAL_SetupMapFile (global_game_variables_t *gvar) gvar->ca.tinf = (byte _seg *)FP_SEG(&maphead); -#endif*/ +#endif // // open the data file @@ -1172,18 +1174,18 @@ void CAL_SetupMapFile (global_game_variables_t *gvar) ====================== */ -void CAL_SetupAudioFile (global_game_variables_t *gvar) +/*void CAL_SetupAudioFile (void) { -//++ int handle; -//++ long length; + int handle; + long length; // // load maphead.ext (offsets and tileinfo for map file) // -/*#ifndef AUDIOHEADERLINKED - if ((handle = open("audihead.adh, +#ifndef AUDIOHEADERLINKED + if ((handle = open("AUDIOHED."EXT, O_RDONLY | O_BINARY, S_IREAD)) == -1) - Quit (gvar, "Can't open audihead.adh!"); + Quit (gvar, "Can't open AUDIOHED."EXT"!"); length = filelength(handle); MM_GetPtr (MEMPTR audiostarts,length); CA_FarRead(handle, (byte far *)audiostarts, length); @@ -1192,25 +1194,21 @@ void CAL_SetupAudioFile (global_game_variables_t *gvar) audiohuffman = (huffnode *)&audiodict; CAL_OptimizeNodes (audiohuffman); audiostarts = (long _seg *)FP_SEG(&audiohead); -#endif*/ +#endif // // open the data file // -//TODO: multiple files - if ((gvar->ca.file.audiohandle = open("data/02.imf", - O_RDONLY | O_BINARY, S_IREAD)) == -1) - Quit (gvar, "Can't open data/02.imf!"); -/*#ifndef AUDIOHEADERLINKED +#ifndef AUDIOHEADERLINKED if ((audiohandle = open("AUDIOT."EXT, O_RDONLY | O_BINARY, S_IREAD)) == -1) Quit (gvar, "Can't open AUDIOT."EXT"!"); -//#else +#else if ((audiohandle = open("AUDIO."EXT, O_RDONLY | O_BINARY, S_IREAD)) == -1) Quit (gvar, "Can't open AUDIO."EXT"!"); -#endif*/ -} +#endif +}*/ //========================================================================== @@ -1255,7 +1253,7 @@ void CA_Startup(global_game_variables_t *gvar) CAL_SetupGrFile (gvar); #endif #ifndef NOAUDIO - CAL_SetupAudioFile (gvar); + CAL_SetupMapFile (gvar); #endif gvar->ca.camap.mapon = -1; diff --git a/src/lib/16_ca.h b/src/lib/16_ca.h index 0f0222a5..bd762016 100755 --- a/src/lib/16_ca.h +++ b/src/lib/16_ca.h @@ -29,11 +29,11 @@ //#define NOMAPS #define NOGRAPHICS -//#define NOAUDIO +#define NOAUDIO -//#define MAPHEADERLINKED +#define MAPHEADERLINKED //#define GRHEADERLINKED -//#define AUDIOHEADERLINKED +#define AUDIOHEADERLINKED //#define NUMMAPS 39 //#define MAPPLANES 3 -- 2.39.2