devwebcl Posted April 19, 2012 Share Posted April 19, 2012 Hi All, I just bought the book Compute's Guide to Adventure Games. It has a game called Tower of Mystery, which i haven't found in any a8 repository. Does anyone know where I may find it ? Regards, Devwebcl Quote Link to comment Share on other sites More sharing options...
Fox-1 / mnx Posted April 19, 2012 Share Posted April 19, 2012 (edited) http://www.atariprot...erofmystery.htm (info Atari 2600 version) Edited April 19, 2012 by Fox-1 / mnx Quote Link to comment Share on other sites More sharing options...
devwebcl Posted April 20, 2012 Author Share Posted April 20, 2012 tnx, nice 2600 game... however this a8 game is a text adventure. Quote Link to comment Share on other sites More sharing options...
www.atarimania.com Posted April 20, 2012 Share Posted April 20, 2012 I don't believe any of the games have been typed in for the Atari. Here's the C64 version (the blasphemy!): http://www.gb64.com/game.php?id=21660 -- Atari Frog http://www.atarimania.com Quote Link to comment Share on other sites More sharing options...
miker Posted April 20, 2012 Share Posted April 20, 2012 (edited) Well, if this is a BASIC game, then conversion should be quite easy. Only C64-specific POKEs and CHR$s should be changed... Edited April 20, 2012 by miker Quote Link to comment Share on other sites More sharing options...
miker Posted April 20, 2012 Share Posted April 20, 2012 Ok - absolutely by curiosity... I've retrieved game listing using VICE emulator, converted EOLs to ATASCII ones and tried to load it by ENTER"D:..." on Atari emulator. And encountered this: In the attachment the game listing in both formats (ASCII and ATASCII), for someone who would play with it. Right now I have no idea what to do next. tower.zip Quote Link to comment Share on other sites More sharing options...
+Stephen Posted April 20, 2012 Share Posted April 20, 2012 Atari BASIC does not support string arrays. Quote Link to comment Share on other sites More sharing options...
+Larry Posted April 20, 2012 Share Posted April 20, 2012 You will have much better luck if you use Atari Microsoft Basic. Since this is a text adventure, the conversion issues should be absolutely minimal. Here is a screen shot of it running on my XL with AMSB. -Larry edit: AMSB will be the best "fit," but Basic XL and Basic XE both support string arrays (in a slightly different syntax, IIRC). Atari BASIC does not support string arrays. Quote Link to comment Share on other sites More sharing options...
+Larry Posted April 20, 2012 Share Posted April 20, 2012 Does anyone have this book, and is there an Atari version in it? I suspect that there is an A8 version since this isn't a computer-specific Compute! book. -Larry Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted April 21, 2012 Share Posted April 21, 2012 I downloaded it from scribd and here is the patch for the Atari. Program 2, Tower of Mystery, Modifications For Atari BASIC Translation by Stephen Levy 2 GRAPHICS 0:SETCOLOR 1,0,12:SETCOLOR 2,0,4:SETCOLOR 4,0,4:P0KE 752,1 5 POKE 82,0:PRINT "PLEASE WAIT WHILE I GET READY":PRINT:PRINT 15 DIM C1$(10),C2$(10),A$(41),B$(10),C$(15) 20 DIM AC(NR,6),VB$(NV*5),OB$(NO*5),RM$(NR*41),TD$(NT*20),VN(NV),TL(NT),TF(NT) 30 RM$=" ":RM$(574)=RM$:RM$(2)=RM$:VB$=RM$:OB$=RM$:TM$=RM$ 120 FOR I=1 TO NR:READ A$:RM$(I*41-40,I*41)=A$:NEXT I 130 FOR I=1 TO NV:READ A$,Q:VN(I)=Q:VB$(I*5-4,I*5)=A$:NEXT I 140 FOR I=1 TO NO:READ A$:OB$(I*5-4,I*5)=A$:NEXT I 150 FOR I=1 TO NT:READ A$,Q,Ql:TD$(I*20-19,I*20)=A$:TL(I)=Q:TF(I)=Q1:NEXT I 160 FOR I=1 TO NR:READ Q,Q1:AC(I,1)=Q:AC(I,2)=Q1 170 READ Q,Q1:AC(I,3)=Q:AC(I,4)=Q1:READ Q,Q1:AC(I,5)=Q:AC(I,6)=Q1:NEXT I 210 WD=0:PRINT RM$(RM*41-40,RM*41) 260 PRINT TD$(I*20-19,I*20) 320 IF AC(RM,I<>0 THEN PRINT VB$(I*5-4,I*5); " "; 400 POKE 752,O:INPUT C$ 405 IF C$="INVENTORY" THEN 2OOO 406 IF C$="LOOK" THEN 2610 440 A$=C$(I,I):A=ASC(A$):IF A>=97 AND A<=122 THEN A$=CHR$(A-32) 460 IF X=0 THEN C1$(LEN(C1$)+1)=A$:GOTO 490 470 TRAP 490:C2$(LEN(C2$)+1,LEN(C2$+1)=A$:TRAP 40000 510 Q=LEN(C1$):IF Q=5 THEN 515 512 FOR Q1=Q+1 TO 5:C1$(Q1,Q1)=" ":NEXT Q1:C1$=C1$(1,5) 515 Q=LEN(C2$):IF Q=5 THEN 520 517 FOR Q1=Q+1 TO 5: C2$(Q1,Q1)=" ":NEXT Q1:C2$=C2$(1,5) 530 IF VB$(C1*5-4,C1*5)=C1$ THEN C1=VN(C1):GOTO 600 620 IF OB$(C2*5-4,C2*5)=C2$ THEN 700 1930 TD$(1,19)="SLEEPY RATS":TL(6)=-1:RT=0 2020 IF TL(I)=0 THEN PRINT TD$(I*19-18,I*19):K=1 8230 CD=-1:CA=0:TD$(115,133)="DEAD COMPUTER" Jay Quote Link to comment Share on other sites More sharing options...
miker Posted April 21, 2012 Share Posted April 21, 2012 Thanks, AtariGeezer. I've applied the patch, and also did some manual tampering like changing P0KE to POKE, "l" (small "L") to "1", and there was misspell near the beginning (no variable like TM$, I changed it to TD$). Attached stand alone file to load it using LOAD"D:..." under Atari BASIC. Not tested thoroughly, though. TOWER.BAS Quote Link to comment Share on other sites More sharing options...
+Larry Posted April 21, 2012 Share Posted April 21, 2012 Good work, Miker. You got better results than I did, but the Atari-modified version still doesn't quite work right under Atari Basic. For instance, when you RUN then program, the very first "room description" is cut off -- it leaves off "clock tower." I'm still looking for what causes that. -Larry Quote Link to comment Share on other sites More sharing options...
miker Posted April 21, 2012 Share Posted April 21, 2012 I'm pretty sure that above patch has some bugs already. Mainly because of bad text OCR-ing... Quote Link to comment Share on other sites More sharing options...
+Larry Posted April 21, 2012 Share Posted April 21, 2012 Not to say that I couldn't have mis-read, but I have checked all the patch lines against the book twice (fixed 1 or 2 small issues). It looks to me like the room descriptions are too short. If you print RM$, the descriptors are cut off at 41 characters. The end of the RM$ string contains garbage. (?) I wonder if this was correct as published? That Atari Microsoft Basic version is looking better and better! -Larry edit: I think I've found a problem. As written, they have allowed 41 characters for each of the 14 room descriptions. The first, line 9000, has 53 characters. The rest have less than 41. Shorten line 9000, and it should work. If you lengthen the Strings (A$, RM$) then it may cause other problems. I'm pretty sure that above patch has some bugs already. Mainly because of bad text OCR-ing... Quote Link to comment Share on other sites More sharing options...
devwebcl Posted April 21, 2012 Author Share Posted April 21, 2012 cool !!! I was trying to do the same converting from c64 version well, Miker was much faster than myself Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted April 21, 2012 Share Posted April 21, 2012 (edited) I'm pretty sure that above patch has some bugs already. Mainly because of bad text OCR-ing... The OCR'd text was a big mess, I went through it correcting all the mistakes, or so I thought... The TM$ ref was due to the RM$ OCR goof, but I did catch 4 more errors; 150 FOR I=1 TO NT:READ A$,Q,Q1:TD$(I*20-19,I*20)=A$:TL(I)=Q:TF(I)=Q1:NEXT I 320 IF AC(RM,I)<>0 THEN PRINT VB$(I*5-4,I*5); " "; 400 POKE 752,0:INPUT C$ 405 IF C$="INVENTORY" THEN 2000 Line 150 had Ql not Q1 Line 320 was missing the ")" in AC(RM,I<>0 Line 400 had a "O" in the Poke instead of a 0 (zero) Line 405 was 2OOO, not 2000 Jay Edited April 21, 2012 by AtariGeezer Quote Link to comment Share on other sites More sharing options...
miker Posted April 21, 2012 Share Posted April 21, 2012 In 470 was missing ")" in this statement: C2$(LEN(C2$)+1,LEN(C2$+1)=A$ Quote Link to comment Share on other sites More sharing options...
miker Posted April 21, 2012 Share Posted April 21, 2012 OK, changed TD$ back to RM$ in line 30. Now try this one: TOWER3.BAS Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted April 21, 2012 Share Posted April 21, 2012 Yep, should be: 470 TRAP 490:C2$(LEN(C2$)+1,LEN(C2$)+1)=A$:TRAP 40000 Jay Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted April 21, 2012 Share Posted April 21, 2012 OK, changed TD$ back to RM$ in line 30. Now try this one: Line 30 should be 30 RM$=" ":RM$(574)=RM$:RM$(2)=RM$:VB$=RM$:OB$=RM$:TD$=RM$ Jay Quote Link to comment Share on other sites More sharing options...
miker Posted April 21, 2012 Share Posted April 21, 2012 Hm... so it's already in attachment to post #11. Maybe something else is screwed... Quote Link to comment Share on other sites More sharing options...
+Larry Posted April 21, 2012 Share Posted April 21, 2012 Miker- What kind of error are you getting? -Larry Quote Link to comment Share on other sites More sharing options...
devwebcl Posted April 21, 2012 Author Share Posted April 21, 2012 (edited) OK, changed TD$ back to RM$ in line 30. Now try this one: Line 30 should be 30 RM$=" ":RM$(574)=RM$:RM$(2)=RM$:VB$=RM$:OB$=RM$:TD$=RM$ Jay Hm... so it's already in attachment to post #11. Maybe something else is screwed... but tower3.bas has at the end of line 30: RM$=RM$ line 400 has the miss 752,0 yet (it has an "O" instead) Edited April 21, 2012 by devwebcl Quote Link to comment Share on other sites More sharing options...
miker Posted April 22, 2012 Share Posted April 22, 2012 Yeah, I've forgotten about it. Here's corrected one. TOWER4.BAS Quote Link to comment Share on other sites More sharing options...
miker Posted April 22, 2012 Share Posted April 22, 2012 Hmm... but still I get "I don't know the object" when entered any command. Anyone else gets it too? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.