ralf@b.gp.cs.cmu.edu (Ralf Brown) (08/01/87)
I have gotten NetHack running with Turbo C and the DOS linker (TLINK can't handle it due to the bug confusing classes and groups of segments). I suspect the problem with linking mentioned in the README stems from the case- insensitivity of the DOS linker (the original makefile has a /NOIG switch which I assume turns on case-sensitivity with the linker that comes with MSC). I have added an #ifdef to #define the clashing names to append an underscore to the uppercase name of each clashing pair. Diffs (non-context) in a uuencoded ARC file follow. The diff I have does not do context diffs or multiple files at once. Each of the files in HACKDIFF.ARC is the diff between the original and working versions of the source file with the same name. Note that I have renamed MAKE.INI to BUILTINS.MAK (for the Turbo Make), and MAKEFILE.PC to PC.MAK. You will need plenty of disk space and at least 500K free memory for the linker; the .EXE file is 381,548 bytes. begin 644 hackdiff.arc M&@A"54E,5$E.4RY-04L`%P,```$/1G%3S1L%```,.,;@:*"`!P@74ZH8,9($ M2Y$I('0<+(.GS,$W8M0<''/0S!LY!\/,:4.PA4F"/D",0*B0H4.($EU0M.@" MHT87'%UX!.E")$D%,6*PB$%C3-"A,P@:'&*$29`C$'N`:!&$!(HF3X@489)" M*0BL6IF`D#K%ZY0B5()(.6)E+`BK3)((2<'%*MBM*<ZF76O%:UPA44N>5)"2 MJ5.H;ENTL9L5+\JOC<5*1?/X;U008W1P&<.%31HQ7,JTJ>/"LQC,FCF;YM(F M#!TTC,.F*/T9]>;.GS?'QDM;#,$8.%C(@&$T^'"O8]B4">-&AU=(!U:T*"-' MI$45+L2$6?,\^O3J<ZZ[:`U'<(O'(Y(O;XX>A'OWTJE;!X%=.W?"*M_#_SX? M.WF",LP@7%$!#NB5"T(48<034A2APPX@`+%"&6.@\08(1GP$`AIEL`$'"'>D M\1H(;I#1VAIEL`!"'>&!\)I%8[S11FLE@@#&B1:U@,8)!P9A!!5%2/%@A!-6 M>&$0;+`!`AEON%&&"^:AAZ""##H(H8046HBAAAQZ"**(:)!HXG8IKMCBBYC) M2",9-N(XU8Y2^@BDD%<6J2622C+I))0*R)`#"S/(,(:?@-)PH$\U931D:R.] MA9U/.WCEU0@@4'$A''*\048=8U@4AHV)JG$""&:DH1RIF;8!PJ=@X#1JJ:>R MF(8;9WR5QAB9SO&&&72`,(0+(!PX1JB+SL&1588]-44*4R6QF:,X18E?3R,1 M^QATC*I*PJ,C18I?>Y:"@*FFG'H*JDVOFFJ1&:FN"NH8Z<8ZQZRU4E&''&)< M^&NPTPYKDW/X04?'&!RU<"P*R4+%[+;1*D!##F,\W)UG;JP!K4UOH:"76FRE MH"()0+#P,0J6+4QR4\JFX*U)YP5\`!T46YS9;:N-`<-N7(5Z<48L@"PR7'(M MFS$3*"OL;0U%(3WQK!8S;-/'(8]<LK0I"1SSSFI`+?+007>E0`U_VD`<V-VU M86S&"0O=@K/'8C?&TA5CG?'&?'G\5M1<`V8RT8<M2S4(`A.,=M%",_RV`C;@ M$$;B+-B0PV,$`1H(0TU$+D,`)24E)24E)3`````!#^%IUC\Y````##AHC`G8 M0`$/$&G<T$'HY@N9-V'.A$FXHV"+BP5]@"B#ATX9.6X8+DSH$*)$B@4!&@A# M3TY&24<N2``E)24E[@$```$/>&NU7!H#```,,F:PD%%C3,"!-1HHX`'BA0H0 M(\B4,9/&31D03:80>3(%!"0$#D%(I&@1A)DW<C!.:;&Q(XHP8^C4"<.&31Z1 M$RN6(0-"S,TQ;]K`2<.FC)P4(%2\4,@P8LZ259PDP>*104B)1>E<3&,&A)LW M)E&N09&"!8@R>,J,(0LBC)TP1,.(*9ITZ4*((W6"$*+18X.K3WF>3$G#A9N] M?>LJ;,%8H0^\3R]F;`FB,F"2%P>K9,D1Q,N8,VO>S&N1IT\00(42-8I4J>.& M#YUB]F@@ZM2J@+-N[?HUK)RQ9<^F78O4+5PV<NFZ5O`XI&R]?(EX5'"YHF"4 M(`H?CEYY^8P88[XSA3P;2A8I09HD(?)%2)4CE>.'=/LF#<\P/>N<`?'F,!TT M%T&1AQQAM&&?8@HPUL)KSI$6X'GIK=?>>Y8]1-^!^(FA'W_^`0B"@`0:R--R M-,`01HDLT)`0<Q!Q-1((7WQ!1152"/'$$#&^]EQ)-+'QQA@@M-'CCSHZ",(< M:9SA!DU'(JDD33J6X0897+VF4`XPC('E>#M>A$000RQ!1!)2@"#""W7,(<<+ M9Q18QAPOL)&&&"]8]!],:U`IAPB+-<9B@Y&!\&688Y8)B0%GIKEFFVV\&>>< M=99QYQAYIK$G;`C*($,.86B:PT`SP&"E`AH(2$%#2RY(`"4E)24E)2$!```! M#W=I^(&B`0``##7"U&`1`T<#!3Y`C$ACADP9,R"^?*%218J0)T,D'DSX0@6( M.V_DK`$11LZ;.F[(@*"#I@R(,6'FE&F1QHU,FVGHI+&3,P^(-Q!9NB3R9`H( M-C77E)$#0L6+C0H=FJGI,DB;-V[<A&D#PBI6K6V^0!TAE2H(+%>S;CV;%JQ8 MA%$?FFWR=2U=M6''EG7C$LJ3)%.>.'E2Q:A?P(()3WF;D*Q<OB"(8-TZ='*; M,HSC3H5,I0V<+V'H@.C\.73FCB#DE`'K4B@(OGA$TP$)P@S*,3JQS@$AI@S, M.C)7MO0YADU,-!]S(G=-I8X<,6]`##F:1HR<DCZ=ZGWL\DP9.F1"=_\>G@[F M[9M=YGP3!L3Z,)E'K";#$.I!&S;"X&=AXX9]!1H(34%+141%1E,N0P`E)70` M```!#\9L`X60````##;"V&!QHX$"'R!&I'$SADT=,F5`0$+`8PX=,FG>N$#C MPR".,3A8Q(AAD$?"A0T?1IQ8\6+&C1T5M)AI$&'-DV8@F@'QY0N5*E*$/!G2 M\^9".B#.E*$#)PT9%"E`[`$A9VD=.6Y`Q`"Q`T2?FR/*N,%HQB`:"$U+3$56 M+D,`)24E)27!`````0^`="/Q&0$```PQ<HP)V$`!#Q!SZ,BI,X8.B#9KY+QY MTP:$1(ISMC0)@L6)E"=&/CYI,F5%C"X["K986=`'B#)XZ)21XP:A0H8.(5ZL MN#/CQHX?0SX96?)D2@4R8HQ)6O#@F(ERR(`@`S4CD:%2?J)4R5*!2Y@R:8)X M^B;JU*I;KC[)RG$K4AQ+<30%@6<,FC!RZ))QDS!,&CDL\-2!T_<OBSQ["P/. M,UCQT94M6KZ,.;-FW;MY\22FXQ>P8,*<#2/F&WIQX])'"P(:"$U31$]3+D,` M)24E)275`````0\Y;2N4"P$```PR9-@8$]`&BX`W&BC@`>*%"A!'RM`!02;- MG#4@Z,@)XV:.F3)R0(214R8,"!4O%+98J=`'B!%IS+@A4\8,B"]?J%21(N3) M$)PM&SZ,.+'BQ8P;.WX,.;(D"Q!4ZL@1\P;$$)%L2(8ADP<$FC!S0)R12(9. M&!0I3J94((,&C#!M81RD$2/HB#(S8RJ442,'P;X*&4(Z,.9K2!5CZ90]F^*I MBL5/Q=0QLP5*$"I(F!1QTF6'2I8*7`XN//(D9!"2*5O&K)FS9P4W8N0($SL' MBQLR8`15"!H(35-$3U,N2``E)24E)3D````!#X%K]K]#````##-BC`G80`$/ M$';>I"$#`D2;.0_/H!B#)HP<$"I8@$BQHV"+CP5](%3(T"'$.1(I6L2HT85+ MC@4!&@A00RY-04L`)24E)24ES`0```$/4G&8V`P(```,-,;0:*"`!X@1(!(F M;))FC)PW<]Z8H8."3IL4($0,$0'"S@P7,$"\D0-"3!DZ=,K(<4&PA4N"/@XJ M3$BECAPQ;T`,Z1@#)$$;8VRPN$'0($(F8>2<*0.B39DV(_,T?4.F#!L6(.24 M.9-F3DJ28NJ<P:H5JAVF7L.,60,"SD.3<W2T?*D@)L(Z;LR,I(,W3$HV>;"R M2;IT:E4V(+J"8).F39J49$#0R1E&\ALZ81!+!&&#QA(09]B\$9,9!!F_86#* M1"*6J5.H<J1"/4SVZ9NS(-*N;?NVS!RL;^#0:9Q&#U.]).?`45M&KH(8,,9` M+ZK3"),@1Z:`Z`&B11`FW8E(*7)$2)4CX9DD<4+E2Q`IV<-;*2*E!PDK($B@ MN))$RWLB&+7P!!W='3''7"VH-H1UV&G'70MMZ-?$$T04P42`1*C'GGOP:=<" M$?/5IY\5&.G'GW]2`-B=$RUTIT5W2[0H8'=WM.!63BW4Z`95!,4`E(\LQ)`# M=4<$T4011"0AQ78@<($&@JH5>6222W+'4ET@J(80%6@P148:6HTQ66P@C/&& M&YBEX8::9TC6Y6)IB"%'4FGXIIIZ0E#)Y!@Z<#$&%XR)09`,,HQ!*'5/"*&$ M@Z:5,08;+HRF!@AAP`$'8)&*,2E.;OB6Z:1CM$'&IZ:]02H74&*9Z*),5O4H MJ95>F@>IG'HJ:9FBDDJ&J;?N2@<:#]UQ*D$SX,#"##F,4>RQ0Q:4'PI2%H&1 M#L^N.D4*U$%R`&-NL*6?M2E@I5^T&+W@Q!-)H/?"%%0$,<02.M``P[P@O#`$ M%#K$L$.J,8UKI+34?JOHM:IIRRU;+^`1+[WZX4EE"G["("&%%J9`*A"2SN$" M&]VRX.^1X7J,@L-*0CS&Q!5>N'&<!-T@%`XSC.$R"S!3)T<=L,T!`K5EGFE& M&F>X@,:S4E0QH11&),%$$=<V%<8:951EQH'.:NO""VT\'7494W<G!W74G8;9 MS@F9F1?00IN&F@NDS>&:UE)3;9#56,/-M<XMD`&VLV>&X93&0_-L]L]!#RVI MHW0`[C34<6=[P-59,WYW=V_PFQ7.(^DLN,]H#ZU?T4<GO733D6\]M0MEX%%& MP0>4'K?7JJDF=F6;GUVXVIBQ'8;;BYNN<>JK8ZFMZY/G'3N6??^==NV$IWVX MF(H3?SKPK$N/=^4*X&!L#@%IST(.-83M5QG+)X2&6FND;;WCD-O=]8=[&T3' MG'"4W[/MZKLO-PAT6]\='?%SFII(Y1R7)`A+8B-?X,R'OOQ);GJJJY[^PG.\ MF,RO4O8;7.=Z%S?415!XK9M@"P`(PLG480Q#NV#]GH0EU61M@+>BU@O=X((Q M$"0'.0C2O,:`0QW*((`HF54,+:<M$Z)0@#2T(980,A,O.-$+(.C4UB(S&1!` MK0QP`($9'M*&K#SE:6Q"XJ<J*!DZ"%%39`MB#7L$`Z%`YP;2::,.FV40ZN`E M#7@@(!$/8,04FG&-2YP)")X(12E6A8HYN6(6M_B&+I8%C&YHDQHE1<8[YC&& M(+`D(&,0@QF$@9,S"%(,PE?"-YQP:)I4HET$2<@HEF&*EK'B*Q?)12]&+HR: MI.1S9&"#3_(R2#(@"@(O`ZPW"$M2U#K?6M+FJV(*2XDQP$$-/BG-(.'`!L<# M&@A00U5.25@N0P`E)24E>`4```$/^'0QA!8*```,,6RPB)%C3$`6,F8T4,`# MQ(@T;L:PJ4.F#`@1:,*,6>,"C0@0($&^4`&B31B(;/*`,/-&#@B(%?&@2`'B M#IHT8]"`J`BGC!LR<T"\<0-"R!0B(%2\6-B0J4.($BE:A&2`QYP\<U[0R=-S M3D<?("`M&+FR)0@Z:=J4^4(GZ5*&3R-.K!BV*EJU7Q>VV+L0[$.Y4D%8I4,F MS9NO=<F:1*F2I4LG59@P<=LW;E2ZR]!CV@.*3;E*6=0FSC$R:-G'JY.D3 MJ%"B1I$JK5SYH9F?9<R`^/*%2A4I0IX,X2V2))4Z<L2\`3$$1,:@=]>VA7@V M;9F.E!7XA3IW*@*K6+5R+>,5#5BQ9!U75\LVN]_6:<S4YAX8TO?H>;5;[A[V M^]6L<]`1!AWYR7!#&`8BE$-E`0Z($P@!RE''&&TUV)88=9C!@G,8ZK8#;0K@ M(!`.!8DX$`TU.`7)`7*400=R;J!PAHMLT#%3"S[0T<87:+R!'`@]]``"#"E\ M"%<?3CG5XAEUL!&&'&GH408*<]!$EALMF<1&E!:9D08;%KD1AEH@M%"3160, M=4);6ZYAD0LNG!"462_(F=U>+50&20(MOBA'C#/24>.-.>[8XX]!#EED94CJ M5UF@:)`QX)1BJD533D\F56D9.X"P1V5DO<$&&2#8488<<QA&E)GJ]?0&'&!" MV*,<;;VAVQQP:&31;/J-!"I)2Z81X*D@8.J2"F[`82189%$5'Y4"VKCIAB:@ MT6$**?P:E@.GRM$2"B(,$88;6+85*(31UC&G;B5X)0(+VD)B`0K)`@D"E+C) M-"T()]2)+0@_@)#L"C&`H(/`8Y:Q:*\J:&LJJJJ"H"Y$9X``11!4(+&2MVT< M/$<9PK;Q1@AG+#D&$!/.848+8YS!A@M!2'$Q""@<L21S/N9$$Z]@@<ALP_HE M!0(5:%@$A[=B@-E&36G0H1-(?UUFD6#_O9"K'&,B!I*P9V74EM-<TT>7EV!6 M)G2:Y`G\1ENF"5LK46&PP0:$6-%11AMS;#@NJ2*W^,;#&SH]X$L5OJ%6=$&) M39[9)(&7U59=(1;&&:!M.,=R@G]==+&&P_$EL1^G[31Y%D%>1D5F0'<'3M<Q M_I9?J$,T50)-!('%Q1DS4803=<4`@PPT^'QO&6>X3:RQFL*QH0JY.KULL1FY M1+9/"6]1^^T8(Z&[$P1W\;S9(<5'<VGZ)KQAOR?0%(*0D$D&`A]\T-R\3D(& MZI,=X.*.A`C_)MH^$]G2SY[F9R\1B.![00N)>E"P@QW0Y%,"3(#X4$`O.-B+ M?"B8W_ETD#Z:^"\R`-13`^HE)`*N`%UR`%.,YE>DSI`%#F^`R->6TQH4NB<L M$M1-!<L$`@+R0$@QH`DD*D"6$I3@AI!H``KL$$,RT"1"8X!#'E`PO7UM:F'G M24`9V/`Q3XEPB4U\(AW^%,4I5M%\/1P0&C94+S.Q\'E)/*-:MM#&-#JM"_9" M'QR5R,0T.!&%9:3BYS8%@A/NT(UJI,D)8\#&A&$1AXW*X@0M)$@5HK%:UP*2 MD(@DPC[!"(XYI!FR+)BH$W`!!NG34P((*"0#@I*5`K/@(I\7$A!$LI8@Z-:W MPC6N<H'@7!92EU#8Y2YX17"'0L)73.B%1O3]*V`#*]C!KOB\6U:F#G"@PQLD M93<J_A&"8*GELU(7+6]2ZUH/5"6L9`<N<9%K;;]T$;H&)$Q;02@,IB(5F$S% MAH#Q#Y2>_!,*B$3+D-Q2G&9`08=<$*`OM"$Z@N%0AAA*!X=&)YT17*<;IB2" M*>#S="#8YQ9?,J<ZU$HWW+S.11ZYIX#&B*#@`\E!0^)2%`2QFL);4I.>Q"4J MT:0X:I.#EKBTDL\AC$QFN@.:U,2F-+@)!'"R$YWLQ*N%`!H(4D5!1"Y#`"4E M)24E)5T````!#Q-N]+1_````##9NA`G(PD:.!@I\@"B#ATX9.6Y`S*$CI\X8 M.B#>B%$#0L6<-VW*?`DCI\T;.2A2[$"H$"&.&&->(N0!`M*"/2!R,G0(42)% MBQ@U<O0(4B1)DRA5(FS!E&7-FP@!&@A232Y(`"4E)24E)24E?P````$/%6[: MDMX````,-F"PL#%C3,"!,QHHX`$"TH$Z8]"$D0."3AXX.FKL4,C0(42)%-V4 MN:,CQL:%#1]&G`AB3IDR;DJ>[*@2)`@V:>C(5-BBIT(?*>NXF9/FC$@R%2]F M/`G4X]"B1T&()&GR9]"G1LL@=0ESIX*F#[%&Q:FSJ@(<-\*@98$#AU6%&@A3 M059%+D,`)24E)24EP@````$/&VYG@X`!```,-'*$"<BB!HP&"GR`&)'&C!LR M9<R`^/*%2A4I0IX,H8BP1HPP'@O*0*AP1)F'#1'.N(&#Q<H<8U:V?(F0!PA( M%^"4D=/FC9LY=."`Z`'"!)DO;-[((;.C)@B$+:*2!/%"Q4T*.GGZ!"J4J%&D M2IFJ>#$59QLZ;>"T\$$F#)TP0XL>3;JTJ8(9.&+$S.L2QT@%-G%F[?DS:-RO M<.2D<3.FC-VH+:96O3IXJV&O1Q,O;KQC;-D+9].N;?OV<&;%C!TC!!H(5$]0 M5$5.+D,`)24E)2,````!#P9U.O<H````##1RC`G80`$/$"/(E#&3QDV9@BTB 0%O2!4"%#AR"05(%2L"`:``9U ` end -- -=-=-=-=-=-=-=-= {harvard,seismo,ucbvax}!b.gp.cs.cmu.edu!ralf =-=-=-=-=-=-=-=- ARPAnet: RALF@B.GP.CS.CMU.EDU BITnet: RALF%B.GP.CS.CMU.EDU@CMUCCVMA AT&Tnet: (412) 268-3053 (school) FIDOnet: Ralf Brown at 129/31 DISCLAIMER? Who ever said I claimed anything? "I do not fear computers. I fear the lack of them..." -- Isaac Asimov
ralf@b.gp.cs.cmu.edu (Ralf Brown) (08/02/87)
Oops! Somehow I managed to overwrite PCMAIN.C with a slightly older copy, so when I remade NetHack to incorporate the addition that follows, it aborted right at the beginning. In the call to gethdate() in PCMAIN.C, change the argument to argv[0] ? argv[0] : "hack.exe" so that it can find itself to determine whether save files are outdated by a new version of the program. Also, in the makefile, add the rule tcc -c $(CFLAGS) -d- $* to the dependency for RIP.C. Without the "-d-" flag, the compiler will merge the strings forming the center of the tombstone, so the tombstone will contain four lines of the same jumbled-together characters from the four lines that should be written. (the implicit rule is the same as the above explicit rule, but without the -d-) -- -=-=-=-=-=-=-=-= {harvard,seismo,ucbvax}!b.gp.cs.cmu.edu!ralf =-=-=-=-=-=-=-=- ARPAnet: RALF@B.GP.CS.CMU.EDU BITnet: RALF%B.GP.CS.CMU.EDU@CMUCCVMA AT&Tnet: (412) 268-3053 (school) FIDOnet: Ralf Brown at 129/31 DISCLAIMER? Who ever said I claimed anything? "I do not fear computers. I fear the lack of them..." -- Isaac Asimov
moranw@unioncs.UUCP (William Moran) (08/05/87)
I too got nethack working on a PC using Turbo C (I used a slightly different set of mods), but I have noticed that when I save and then restore, I lose all of the monsters on the saved level. They show up on the display, but when I move onto them, they just vanish. This also happens to my dog. So, I tried using the diffs posted, and I get the same result. Any clues anyone? Bill Moran