From 8fe59539760b4d569c902912818c12bb5ffa9dde Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 5 Jun 2017 21:01:36 -0500 Subject: [PATCH] pee --- DEBUG.16B | 209 ++++++++++++++++++++++++++++++++++++++++++++++ HEAP.16W | 53 ------------ MMDUMP.16B | Bin 0 -> 2222 bytes MMDUMP.16W | Bin 2288 -> 0 bytes bcexmm.dsk | Bin 1983 -> 1983 bytes bcexmm.exe | Bin 159807 -> 160085 bytes bcexmm.prj | Bin 9977 -> 7916 bytes makefile | 2 +- src/exmmtest.c | 86 ++++++++----------- src/lib/16_hc.c | 21 +++-- src/lib/16_hc.h | 5 ++ src/lib/16_head.h | 12 +-- src/lib/16_map.c | 2 + src/lib/16_map.h | 2 +- src/lib/16_mm.c | 33 ++------ src/lib/16_mm.h | 2 +- src/lib/16_t.h | 22 +++-- src/lib/16_tail.c | 9 +- 18 files changed, 298 insertions(+), 160 deletions(-) create mode 100755 DEBUG.16B delete mode 100755 HEAP.16W create mode 100755 MMDUMP.16B delete mode 100755 MMDUMP.16W diff --git a/DEBUG.16B b/DEBUG.16B new file mode 100755 index 00000000..ccae1ef3 --- /dev/null +++ b/DEBUG.16B @@ -0,0 +1,209 @@ +Seg:0 Size:5739 Owner:0x0 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Seg:166b Size:256 Owner:0x764d +0 +Seg:176b Size:256 Owner:0x341a +0 +Seg:186b Size:256 Owner:0x341c +0 +Seg:196b Size:256 Owner:0x341e +0 +Seg:1a6b Size:256 Owner:0x3420 +0 +Seg:1b6b Size:256 Owner:0x3422 +0 +Seg:1c6b Size:256 Owner:0x3424 +0 +Seg:1d6b Size:256 Owner:0x3426 +0 +Seg:1e6b Size:256 Owner:0x3428 +0 +Seg:1f6b Size:256 Owner:0x342a +0 +Seg:206b Size:256 Owner:0x342c +0 +Seg:216b Size:256 Owner:0x342e +0 +Seg:226b Size:256 Owner:0x3430 +0 +Seg:236b Size:256 Owner:0x3432 +0 +Seg:246b Size:256 Owner:0x3434 +0 +Seg:256b Size:256 Owner:0x3436 +0 +Seg:266b Size:256 Owner:0x3438 +0 +Seg:276b Size:256 Owner:0x343a +0 +Seg:286b Size:256 Owner:0x343c +0 +Seg:296b Size:256 Owner:0x343e +0 +Seg:2a6b Size:256 Owner:0x3440 +0 +Seg:2b6b Size:256 Owner:0x3442 +0 +Seg:2c6b Size:256 Owner:0x3444 +0 +Seg:2d6b Size:256 Owner:0x3446 +0 +Seg:2e6b Size:256 Owner:0x3448 +0 +Seg:2f6b Size:256 Owner:0x344a +0 +Seg:306b Size:256 Owner:0x344c +0 +Seg:316b Size:256 Owner:0x344e +0 +Seg:326b Size:256 Owner:0x3450 +0 +Seg:336b Size:256 Owner:0x3452 +0 +Seg:346b Size:256 Owner:0x3454 +0 +Seg:356b Size:256 Owner:0x3456 +0 +Seg:366b Size:256 Owner:0x3458 +0 +Seg:376b Size:256 Owner:0x345a +0 +Seg:386b Size:256 Owner:0x345c +0 +Seg:396b Size:256 Owner:0x345e +0 +Seg:3a6b Size:256 Owner:0x3460 +0 +Seg:3b6b Size:256 Owner:0x3462 +0 +Seg:3c6b Size:256 Owner:0x3464 +0 +Seg:3d6b Size:256 Owner:0x3466 +0 +Seg:3e6b Size:256 Owner:0x3468 +0 +Seg:3f6b Size:256 Owner:0x346a +0 +Seg:406b Size:256 Owner:0x346c +0 +Seg:416b Size:256 Owner:0x346e +0 +Seg:426b Size:256 Owner:0x3470 +0 +Seg:436b Size:256 Owner:0x3472 +0 +Seg:446b Size:256 Owner:0x3474 +0 +Seg:456b Size:256 Owner:0x3476 +0 +Seg:466b Size:256 Owner:0x3478 +0 +Seg:476b Size:256 Owner:0x347a +0 +Seg:486b Size:256 Owner:0x347c +0 +Seg:496b Size:256 Owner:0x347e +0 +Seg:4a6b Size:256 Owner:0x3480 +0 +Seg:4b6b Size:256 Owner:0x3482 +0 +Seg:4c6b Size:256 Owner:0x3484 +0 +Seg:4d6b Size:256 Owner:0x3486 +0 +Seg:4e6b Size:256 Owner:0x3488 +0 +Seg:4f6b Size:256 Owner:0x348a +0 +Seg:506b Size:256 Owner:0x348c +0 +Seg:516b Size:256 Owner:0x348e +0 +Seg:526b Size:256 Owner:0x3490 +0 +Seg:536b Size:256 Owner:0x3492 +0 +Seg:546b Size:256 Owner:0x3494 +0 +Seg:556b Size:256 Owner:0x3496 +0 +Seg:566b Size:256 Owner:0x3498 +0 +Seg:576b Size:256 Owner:0x349a +0 +Seg:586b Size:256 Owner:0x349c +0 +Seg:596b Size:256 Owner:0x349e +0 +Seg:5a6b Size:256 Owner:0x34a0 +0 +Seg:5b6b Size:256 Owner:0x34a2 +0 +Seg:5c6b Size:256 Owner:0x34a4 +0 +Seg:5d6b Size:256 Owner:0x34a6 +0 +Seg:5e6b Size:256 Owner:0x34a8 +0 +Seg:5f6b Size:256 Owner:0x34aa +0 +Seg:606b Size:256 Owner:0x34ac +0 +Seg:616b Size:256 Owner:0x34ae +0 +Seg:626b Size:256 Owner:0x34b0 +0 +Seg:636b Size:256 Owner:0x34b2 +0 +Seg:646b Size:256 Owner:0x34b4 +0 +Seg:656b Size:256 Owner:0x34b6 +0 +Seg:666b Size:256 Owner:0x34b8 +0 +Seg:676b Size:256 Owner:0x34ba +0 +Seg:686b Size:256 Owner:0x34bc +0 +Seg:696b Size:256 Owner:0x34be +0 +Seg:6a6b Size:256 Owner:0x34c0 +0 +Seg:6b6b Size:256 Owner:0x34c2 +0 +Seg:6c6b Size:256 Owner:0x34c4 +0 +Seg:6d6b Size:256 Owner:0x34c6 +0 +Seg:6e6b Size:256 Owner:0x34c8 +0 +Seg:6f6b Size:256 Owner:0x34ca +0 +Seg:706b Size:256 Owner:0x34cc +0 +Seg:716b Size:256 Owner:0x34ce +0 +Seg:726b Size:256 Owner:0x34d0 +0 +Seg:736b Size:256 Owner:0x34d2 +0 +Seg:746b Size:256 Owner:0x34d4 +0 +Seg:756b Size:256 Owner:0x34d6 +0 +Seg:766b Size:256 Owner:0x34d8 +0 +Seg:776b Size:256 Owner:0x34da +0 +Seg:786b Size:256 Owner:0x34dc +0 +Seg:796b Size:256 Owner:0x34de +0 +Seg:7a6b Size:256 Owner:0x34e0 +0 +Seg:7b6b Size:273 Owner:0x764d +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Seg:9fbe Size:32834 Owner:0x0 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Seg:9f3f Size:24768 Owner:0x0 + \ No newline at end of file diff --git a/HEAP.16W b/HEAP.16W deleted file mode 100755 index e9f84890..00000000 --- a/HEAP.16W +++ /dev/null @@ -1,53 +0,0 @@ - - == near == - - USED block at 1e7f:fa16 of size 12 - USED block at 1e7f:fa22 of size 320 - USED block at 1e7f:fb62 of size 52 - USED block at 1e7f:fb96 of size 20 - USED block at 1e7f:fbaa of size 20 - USED block at 1e7f:fbbe of size 20 - USED block at 1e7f:fbd2 of size 20 - USED block at 1e7f:fbe6 of size 20 - FREE block at 1e7f:fbfa of size 1026 -OK - end of heap - - == far == - - USED block at 2e80:0016 of size 4098 - USED block at 2e80:1018 of size 20 - USED block at 2e80:102c of size 66 - USED block at 2e80:106e of size 50 - USED block at 2e80:10a0 of size 50 - USED block at 2e80:10d2 of size 50 - USED block at 2e80:1104 of size 50 - USED block at 2e80:1136 of size 50 - USED block at 2e80:1168 of size 50 - USED block at 2e80:119a of size 50 - USED block at 2e80:11cc of size 50 - USED block at 2e80:11fe of size 50 - USED block at 2e80:1230 of size 50 - USED block at 2e80:1262 of size 50 - USED block at 2e80:1294 of size 50 - FREE block at 2e80:12c6 of size 29552 - USED block at 2e80:8636 of size 1202 - USED block at 2e80:8ae8 of size 1202 - USED block at 2e80:8f9a of size 1202 - USED block at 2e80:944c of size 136 - USED block at 2e80:94d4 of size 22 - FREE block at 2e80:94ea of size 8202 - FREE block at 2e80:b4f4 of size 0 -ERROR - bad node in heap - -Memory Type Total Used Free ----------------- -------- -------- -------- -Near 1510 484 1026 -Far 46302 8548 37754 ----------------- -------- -------- -------- -HC_coreleft = 1024 -HC_farcoreleft = 417792 -HC_GetFreeSize = 37754 -HC_GetNearFreeSize = 1026 -HC_GetFarFreeSize = 37754 -memavl = 1024 -stackavail = 31498 diff --git a/MMDUMP.16B b/MMDUMP.16B new file mode 100755 index 0000000000000000000000000000000000000000..eeec0ce71d8c2bf82dced1c5e125b0a3457f26fc GIT binary patch literal 2222 zcmZwJD^3ML6aY~)340j%5G2j??H>uEKX{hI@=>6UEp=q2pOo(Nk>h<{kMF0~>+?!4 z&*{Hz)-TmNvEHn~T3I_Qy*Ir#y_w!jZ>BfXo9WH;W_mNdL2u9-^ai~_Z_pd`2EB#e zLT{nB&|By&^cH#xy_McdZ>6`=Tj{OzR(dPFjowCYqqou9=xy{idKetO|IgtdLf zbd=?C{drrymhk!#?zPwVS)U*3_^8X}`{`7>>K0g6)_L3c+-+mctn(E(f!>YYL~o)u z(VOT^^d@=}y@}pTZ>BfXo9WH;W_mNdnckh=o!*_^o!*_^o!*_^o!&xkp|{Xm=q>aX zdJDaU-hc@( q-dX95^hSCky^-EXZ=^TU8|hu?UE$s0I%U^~y=05GS$+MxZ!7$a4;}1{Qu9u0051B2wMOE delta 32 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 RZrQSM$Wds0^S0u&_8-_}| delta 63820 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

W8QL= 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 OBJACbeLIS?+J68J8~(xo diff --git a/bcexmm.prj b/bcexmm.prj index 3da423e7ffefa136addbd91f6086607be492b550..c56c954c3457c8e7d3358ecfec58dd79f0bd9f3a 100755 GIT binary patch delta 1431 zcmb_cJ#5oJ6n>8H>;wvF{t79j1zMWYpr8oB5Q!mmoF;A(MTvn_Bn=Ws6=I1%AQmtK zERC4FREVJ?6CeUpg;Y>1(FH-F3`|T+EL7reA>6$n$lub6<@57*@15WK?mPcXe?IZ( zmmmnWhHzaH*Q-{|uz$2u8$7F8=6TmV1&m(1=A9U6K>{!U0C_X+E;$46u4-wD2oNX& zTs9xOORQpr)p|X=f<;=LF~?Zds=44PG446z&I|#(aR7Wbzj=5CRw*U zB5hd$xG4a9H6y+f4MLr*-t)aR?#dz7!xP(WxgyWX5!o;QklssAB~!X2<)pCGFKy6Q z^dY@NFH(&LD5ams8d)YwWPw~EXGxMACBwu)zKHAMig;hVAS~H#*h;oJ$O(L9q6g87 z=)=_kjCUdKM#c{ww&x)3zXx%Mp~1#gR#)!6)acsD*S|SM&NGNkr7Lc@C}fcX*}4Dx22A*n&SSZL`K` zSE1E(29C*HXSMl*E0K-rdME*HJo=`SJgsC;a!2uJ=NhB+WLnMj;FFn9!syywiFT*z zYN1yrdNi5pPA;d@oa9%h#q9~DM`mm)GTljMW}}(nOj6fX)?Qb4dQ6RTn%&!)K6=Y` Xg#Q#;KchxtJ<77!5);{!$2Wcho$b^6 literal 9977 zcmeI2Yj6|S701t7ep?UYBoGLYZK@D~i(i1jkPzh6+Lodh()s~W>R=;?+Zcnvlmam> zBrS!~Y10pB`YC+``brw|=$ED=}?1IXpPONCcZd>_yOk|ZjS7?OoSg+LKd3|$Fheko&X8AC2-Pz7KGY=E61IUrR+ zngcurZ{K7{--7gQNZ$b-2TlT~fbTNsDd04UPXo`O_&wnJ49gE7{SbHpcoO&#@Eq`C zpb9RpLl3S8ZUE*2^CTmNH*!ImFCpFwpuY)N2<0M3iy4-iQIt`<1^77N1a1YEpmODH zELDqUK3%}#-3;j-;FCZP&h)($AII&3E(ThSAmCtuK|UXj3S^I zC;>`=<&uY}rdbJb9H;ZCkw!>a8`~Uf4n_R#pht;$gNnc1qppial$hV!9P@;te3_1q zTy<;H`oIp?aj#m~cdXN`DWO2DEmtekyI;rYxuSunUMix7Roqqs3-xt%L@T62(`$PA zwO2}uX<620R^_y4%xSSYr^T9_7EL)V*5y=!1$ z>E409t@5&(UO6u>SKs)oE)8p9Bj?_|JKo=Oe|#{LQ_UR>WV$yMeQlsiuHEdFYeTYg zrrVxMf2LaJoK8jrhduG0q3zop9gfHRukg6W{&tXwQ#^kPj2v_#BZj z32DzxwwS?@{lA3p6z!b)Bj+8(FD>O1XNg@O7Gfc)4^RAJ9|2f}7mI*j-*tQ-kc$ zI8u()P0ssuR7G=ysh5uMxT^Sd!dxylnSAkh+7$MpMzvVVe@ZtwFNW1zx`D12VnF!X zXyNxTF`^@Ua!0#rS0JFV6Ly7*@MY5F}Fa_i$sNu!q+c2FL2iVCI6Y@rMf*B+L#y`y2*Q6NH-Cu9$Kac`TJ^G$gk*l zOjmfQCSL*MVJe1r-N0iNy2*PYnol>ltUGzl!-2`Pk{o2`SENMu2w&%TTJu*%aaNgP*x~Q4hp*(-)Ic6$A^R!7 z3)7K2DoxY0kxn_fxs8V%{Dhg-=V#>)IJP-j9ZMWVjz8IdZhy>v$lh&VZ(n5BZEx6~ zw|&F5&(>*MX{)lmWBtALMe7sRN34gf{nifa25Yr-uJ!$jKUSQtc&=h|`N{H)WomhC znZ2yI^u5w6#c!3oUG(STHw%AP^asmpg%=85ww#sD6g(^G`U`|VA{X6F7xyK6pP(13 zt*y7wOH7yGQd-dVWXm!kR|~52>i&f9Ryx64BJ7t7eT|T71?vRsg}y;>h2ToTRpM@= zkXH+?5t=4C(UNmMjL?1Xp)iJTgd#l%#+PLdMY_F?sGCADI^SK? zB|>3*3$rH_Q_F|3p_n*-#)l%c%(|#UM8XKLk;_Ip7&F5h8}qy|X3XSM1^XSd9 zB;))TmlWb5huNXgL7q^?G@Q+WF!J0y@w3m4yTn4|7YmUt^1!gyFd@sL~_UMqM*nL zb1GepRpNtxmS)P2(e=`FOwqB0sHsW&v+Z#?v8 zXHHFiD`F0xIXT9xGZ?NZr^Jbqe}tztkyFM~#mJ`gJ(-aa#(vA#dl~yMV;80C*u#x} zS2#+HKPtO;+q{c6bjG7~w#7T&t)DsG{N886UFDc?;J6)jYZ|f>yIa%u(BX&D{50%T z!tFRu;yV5wt2J*xjZC2DC+N6_*qB$2G^M6?iH=|yHg!a7%h(wES(BQdN36uw*rep- zVI}s?CM7mArZK|Mo)RyrzFhJ-sO>&P{j6Ks7?{NFu)hHUsWWm2wDQZ-h zWb&a#BEe9$HvHazSIg=psztm(5spm#;NQ@)xrlCx#-f@#Yb?B?lbJ@*q69UOTbT?L zZBtmy)(2!7?q_Tu6g0Y!X^c_L!;3*S7u~^jzvv`Zkcrmp?qG}8pS73lBzrHqInAt<8 diff --git a/makefile b/makefile index 8c815b01..f9712f42 100755 --- a/makefile +++ b/makefile @@ -532,6 +532,7 @@ comq: .symbolic www: .symbolic @if exist 16.exe @wmake -s -h wwwdo + @if exist 16.exe @wmake -s -h wwwext wwwdo: .symbolic @for %f in (/var/www/$(EXEC)) do @if exist /var/www/%f $(REMOVECOMMAND) /var/www/%f @@ -540,7 +541,6 @@ wwwdo: .symbolic @for %f in ($(EXEC)) do @if exist %f @$(COPYCOMMAND) %f /var/www/ @./src/util/z.sh $(EXEC) $(EXEC) @./src/util/z2.sh data.zip data - @wmake -s -h wwwext wwwext: .symbolic @wmake -s -h wwwext2 diff --git a/src/exmmtest.c b/src/exmmtest.c index ea73aa99..3ab4e02e 100755 --- a/src/exmmtest.c +++ b/src/exmmtest.c @@ -50,6 +50,7 @@ #endif #ifdef __WATCOMC__ #define NOVID +//#define SCROLLLOAD #endif @@ -69,7 +70,6 @@ #endif //////////////////////////////////////////////////////////////////////////// -//#ifdef NOVID #ifdef __BORLANDC__ void VL_Startup (global_game_variables_t *gvar){ gvar=gvar; } void VL_Shutdown (global_game_variables_t *gvar){ gvar=gvar; } @@ -130,6 +130,14 @@ void segatesuto() } #endif +#ifdef SCROLLLOAD +#define FILENAME_1 "data/spri/chikyuu.vrs" +#define FILENAME_2 "data/test.map" +#else +#define FILENAME_1 "data/koishi~.pcx" +#define FILENAME_2 "data/test.map" +#endif + //===========================================================================// //=======================================// @@ -140,18 +148,13 @@ void segatesuto() void main(int argc, char *argv[]) { - byte w; 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; @@ -174,13 +177,7 @@ 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); KEYP @@ -188,28 +185,17 @@ main(int argc, char *argv[]) #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 + { + byte w; word baka; w=0; #ifdef FILEREADLOAD #ifdef FILEREAD @@ -229,18 +215,13 @@ 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 + #endif #ifdef PRINTBBDUMP PRINTBB; #endif - //endif // BUFFDUMP - //printf("dark purple = purgable\n"); //printf("medium blue = non purgable\n"); //printf("red = locked\n"); @@ -255,12 +236,24 @@ PRINTBB; KEYP } #endif #endif //filereadload + } + + #ifdef SCROLLLOAD +// #else //scrollload + CA_loadmap(bakapee2, &gvar.map, &gvar); +// 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); + VL_Startup(&gvar);// VGAmodeX(8, 0, &gvar); + modexHiganbanaPageSetup(&gvar); +// VL_modexPalScramble(&gvar.video.palette); + VL_LoadPalFileCore(&gvar.video.palette, &gvar); // ShapeTest_(&gvar); +#endif MM_ShowMemory(&gvar); #if 0 { @@ -297,10 +290,11 @@ PRINTBB; KEYP } } #endif - 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); MM_Report_(&gvar); @@ -311,14 +305,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"); diff --git a/src/lib/16_hc.c b/src/lib/16_hc.c index e80d7714..26fe6248 100755 --- a/src/lib/16_hc.c +++ b/src/lib/16_hc.c @@ -31,12 +31,9 @@ #define FARCORELEFTPTR __huge long HC_farcoreleft() { - void FARCORELEFTPTR *hp; - static long rc=736L; - long s_rc; + void FARCORELEFTPTR *hp; static long rc=736L; long s_rc; - s_rc=rc; - rc+=2L; + s_rc=rc; rc+=2L; do hp=halloc(rc-=2L, 1024); while(hp==NULL&&rc>0L); @@ -581,3 +578,17 @@ void HC_CloseDebug(global_game_variables_t *gvar) strcpy(gvar->handle.heapdumpfilename, "heap.16w"); #endif } + +#ifdef __WATCOMC__ +unsigned long farcoreleft() +{ + _fheapgrow(); + return HC_farcoreleft(); +} + +unsigned long coreleft() +{ + _nheapgrow(); + return _memavl(); +} +#endif diff --git a/src/lib/16_hc.h b/src/lib/16_hc.h index 5924d2a5..2974a3ac 100755 --- a/src/lib/16_hc.h +++ b/src/lib/16_hc.h @@ -52,4 +52,9 @@ void HC_heapstat0(int heap_status); void HC_OpenDebug(global_game_variables_t *gvar); void HC_CloseDebug(global_game_variables_t *gvar); +#ifdef __WATCOMC__ +unsigned long farcoreleft(); +unsigned long coreleft(); +#endif + #endif /* __16HC__ */ diff --git a/src/lib/16_head.h b/src/lib/16_head.h index 45fcd2da..1c95d512 100755 --- a/src/lib/16_head.h +++ b/src/lib/16_head.h @@ -160,14 +160,9 @@ extern int profilehandle,debughandle; //make it into game global //#define OLD16_VL #define nil ((void *)0) -#ifdef __BORLANDC__ -//#define _FCORELEFT 0x90000UL-16UL -#define _FCORELEFT HC_farcoreleft() -#define sprite -#endif + #ifdef __WATCOMC__ //#define _FCORELEFT 0x90000UL+16UL -#define _FCORELEFT HC_farcoreleft() /*static union REGS CPURegs; #define _AX CPURegs.x.ax @@ -187,10 +182,7 @@ extern int profilehandle,debughandle; //make it into game global #define _DL CPURegs.h.dl #define geninterrupt(n) int86(n,&CPURegs,&CPURegs);*/ -#define peekb(segm,ofs) (*(byte far*)MK_FP((segm),(ofs))) -#define peekw(segm,ofs) (*(word far*)MK_FP((segm),(ofs))) -#define pokeb(segm,ofs,value) (peekb((segm),(ofs)) = (byte)(value)) -#define pokew(segm,ofs,value) (peekw((segm),(ofs)) = (word)(value)) + typedef union REGPACK regs_t; #endif diff --git a/src/lib/16_map.c b/src/lib/16_map.c index 2d266df1..4582bc68 100755 --- a/src/lib/16_map.c +++ b/src/lib/16_map.c @@ -35,6 +35,8 @@ int jsoneq(const char *json, jsmntok_t *tok, const char *s) { return -1; } +//TODO: WORK ON THIS LIKE CRAZY! --sparky4 +//FIXME: please FIX THIS AND USE CA! --sparky4 void extract_map(const char *js, jsmntok_t *t, size_t count, map_t *map) { int i, j, k, indent=0, inner_end; char *s; diff --git a/src/lib/16_map.h b/src/lib/16_map.h index 8e56d67d..d9333208 100755 --- a/src/lib/16_map.h +++ b/src/lib/16_map.h @@ -44,7 +44,7 @@ int jsoneq(const char *json, jsmntok_t *tok, const char *s); //word dump(const char *js, jsmntok_t *t, size_t count, word indent, char *js_sv, map_t *map, dword q); //int loadmap(char *mn, map_t *map, global_game_variables_t *gvar); -//int newloadmap(char *mn, map_t *map); +int newloadmap(char *mn, map_t *map); int CA_loadmap(char *mn, map_t *map, global_game_variables_t *gvar); #endif/*_16_LIB__H_*/ diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index c5c51486..c044ae47 100755 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -849,7 +849,7 @@ void MM_Reset (global_game_variables_t *gvar) void MM_Startup (global_game_variables_t *gvar) { int i; - dword length; + unsigned long length; void far *start; unsigned segstart,seglength;//,endfree; @@ -857,7 +857,6 @@ void MM_Startup (global_game_variables_t *gvar) MM_Shutdown (gvar); MM_Reset (gvar); - gvar->mm.mmstarted = true; gvar->mm.bombonerror = true; // @@ -884,17 +883,8 @@ void MM_Startup (global_game_variables_t *gvar) // // get all available near conventional memory segments // -#ifdef __WATCOMC__ - _nheapgrow(); -#endif - length=(word)_memavl();//(word)coreleft(); - //start = gvar->mm.nearheap = _fmalloc(length); -#ifdef __WATCOMC__ - start = (void __far *)(gvar->mm.nearheap = _nmalloc(length)); -#endif -#ifdef __BORLANDC__ - start = (void far *)(gvar->mm.nearheap = malloc(length)); -#endif + length=coreleft(); + start = (void far *)(gvar->mm.nearheap = nearmalloc(length)); length -= 16-(FP_OFF(start)&15); length -= SAVENEARHEAP; @@ -903,30 +893,19 @@ void MM_Startup (global_game_variables_t *gvar) MML_UseSpace (segstart,seglength, gvar); gvar->mmi.nearheap = length; //0000printf("near: start=%Fp segstart=%x seglen=%lu len=%lu\n", start, segstart, (dword)seglength, length); - // // get all available far conventional memory segments // -#ifdef __WATCOMC__ - _fheapgrow(); -#endif -#ifdef __BORLANDC__ -// printf("farcoreleft() %lu\n", farcoreleft()); -// printf("(farcoreleft()+32)-_FCORELEFT %d\n", (sword)((farcoreleft()+32)-_FCORELEFT)); -#endif - length=_FCORELEFT; - start = gvar->mm.farheap = _fmalloc(length);//start = gvar->mm.farheap = halloc(length, 1); - + length=HC_farcoreleft(); + start = gvar->mm.farheap = farmalloc(length); length -= 16-(FP_OFF(start)&15); length -= SAVEFARHEAP; seglength = length / 16; // now in paragraphs segstart = FP_SEG(start)+(FP_OFF(start)+15)/16; MML_UseSpace (segstart,seglength, gvar); gvar->mmi.farheap = length; - //0000printf("far: start=%Fp segstart=%x seglen=%lu len=%lu\n", start, segstart, (dword)seglength, length); - gvar->mmi.mainmem = gvar->mmi.nearheap + gvar->mmi.farheap; - + //0000printf("far: start=%Fp segstart=%x seglen=%lu len=%lu\n", start, segstart, (dword)seglength, length); #if !defined(__16_PM__)// && defined(__WATCOMC__) #if 0 if(!dbg_debugpm) { diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index d26b647a..55451178 100755 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -42,7 +42,7 @@ #define FREEBLOCK(x) {*x->useptr=NULL;x->next=gvar->mm.mmfree;gvar->mm.mmfree=x;} #define SAVENEARHEAP 0x400 // space to leave in data segment -#define SAVEFARHEAP 0 // space to leave in far heap +#define SAVEFARHEAP 0 // space to leave in far heap #define BUFFERSIZE 0x1000 // miscelanious, allways available buffer diff --git a/src/lib/16_t.h b/src/lib/16_t.h index db1871f7..2b573262 100755 --- a/src/lib/16_t.h +++ b/src/lib/16_t.h @@ -56,9 +56,6 @@ MK_FP(segment value, 0)*/ //typedef unsigned short _seg; // it will contains segment value (as Borland _seg) #define _seg __based( void ) #endif - #ifdef __BORLANDC__ -#define _memavl() coreleft() - #endif typedef void _seg * memptr; @@ -72,6 +69,9 @@ typedef void _seg * memptr; //#define SDFPTRANDPERCONV & //#define OBTPTRANDPERCONV & //#define SDTPTRANDPERCONV & + +#define nearmalloc malloc +#define nearfree free #endif // @@ -103,13 +103,19 @@ typedef void _seg * memptr; #define getvect _dos_getvect #define setvect _dos_setvect +#define farmalloc _fmalloc +#define farfree _ffree +#define nearmalloc _nmalloc +#define nearfree _nfree + //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 " ; +#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) { diff --git a/src/lib/16_tail.c b/src/lib/16_tail.c index b92facef..83e20b85 100755 --- a/src/lib/16_tail.c +++ b/src/lib/16_tail.c @@ -646,10 +646,11 @@ void Quit (global_game_variables_t *gvar, char *error) //=========================================================================== -#ifndef __WATCOMC__ -char global_temp_status_text[512]; -char global_temp_status_text2[512]; -#else +//#ifndef __WATCOMC__ +//char global_temp_status_text[512]; +//char global_temp_status_text2[512]; +//#else +#ifdef __WATCOMC__ // // for mary4 (XT) // this is from my XT's BIOS -- 2.39.2