Les cavernes -- TRS-80 Pocket Computer
Moderator: Alastair
Les cavernes -- TRS-80 Pocket Computer
A tiny game found in the French magazine Trace with an esoteric and unreadable source code, but which may be of interest to jgerrie.
I made a transcription of the article, but there might be some mistakes in the listing.
I made a transcription of the article, but there might be some mistakes in the listing.
- Attachments
-
- trace_listing.zip
- (3.5 KiB) Downloaded 48 times
Re: Les cavernes -- TRS-80 Pocket Computer
Thank you. I will add it to my projects and repost here any discoveries.
JIm
JIm
Re: Les cavernes -- TRS-80 Pocket Computer
What a fascinating program. From my meagre French, I think I can read that it uses a special method of entering the list of descriptions into variable memory (rather than by traditional READ/DATA statement approach), so as to conserves memory. The main program itself is highly condensed using every trick possible in pocket TRS-80 Basic. All this to shoe-horn an text adventure game into 4K. So cool. I'll try to get it to work in the 4K space of the unexpanded TRS-80 MC-10.
Re: Les cavernes -- TRS-80 Pocket Computer
I have retyped the text so that you can easily translate it with DeepL or whatever.
I wonder if there is a problem with 'gosub' and goto' because once you get to line 100 it seems impossible to get out since it is followed by a goto 100:
I suppose also that F=4F must be interpreted as F=4*F ?
The link for the original source code in TRACE magazine, page 62 to 63:
https://www.abandonware-magazines.org/a ... &album=oui
I wonder if there is a problem with 'gosub' and goto' because once you get to line 100 it seems impossible to get out since it is followed by a goto 100:
Code: Select all
100: INPUT "ORDER",G
110: GOTO 100
The link for the original source code in TRACE magazine, page 62 to 63:
https://www.abandonware-magazines.org/a ... &album=oui
Re: Les cavernes -- TRS-80 Pocket Computer
Auras,
4F looks like a hexadecimal number? But it could be some kind of shorthand notation for multiplication. Will have to search out a manual for the pocket computer.
79?
4F looks like a hexadecimal number? But it could be some kind of shorthand notation for multiplication. Will have to search out a manual for the pocket computer.
79?
Re: Les cavernes -- TRS-80 Pocket Computer
I don't think it's a hexadecimal number because what would be the point of entering a value for F from 0 to 5 if it's then going to be assigned the value 4F? There is also a 15G.
About the infinite loop, I suppose that we get out of it by pressing one of the programmable keys (keyboard hardware interrupt). For example, pressing "SHFT J" connects to label "J" and displays the contents of the inventory.
There is probably an error on line 180 that should end with a return and not a goto 100.
There is also the variable B which is used, but is not set anywhere!
So many mysteries in so few lines of code...
About the infinite loop, I suppose that we get out of it by pressing one of the programmable keys (keyboard hardware interrupt). For example, pressing "SHFT J" connects to label "J" and displays the contents of the inventory.
Code: Select all
100: INPUT "ORDRE",G
110: GOTO 100
Code: Select all
210: "J" I=0 : PRINT "VOUS AVEZ": FOR G=12 TO 21: IF A(G)=0 LET H=G-11 : PRINT "L-ANNEAU #"; H : I=1
220: NEXT G : IF I=0 PRINT "RIEN"
225: GOTO 100
Code: Select all
180: FOR G=1 TO 2 : C=C-4+A(68) : E=C+D : GOSUB "R" : A(G)=E : NEXT G : GOSUB 35 : GOTO 100
So many mysteries in so few lines of code...
Re: Les cavernes -- TRS-80 Pocket Computer
Did the magazine ever publish corrections for their listings in future issues?
Re: Les cavernes -- TRS-80 Pocket Computer
I haven't seen any corrections in subsequent issues. I'd have to look more closely in the letters from readers and other scraps of code lying around.
Re: Les cavernes -- TRS-80 Pocket Computer
auraes,
Yes the hex hypothesis doesn't make sense if it's a memory saving measure. I'll have to dig into the intricacies of the language a bit more. Thanks for the bug warnings. It's going to be more complex than I thought. I'll get to it eventually.
Jim
Yes the hex hypothesis doesn't make sense if it's a memory saving measure. I'll have to dig into the intricacies of the language a bit more. Thanks for the bug warnings. It's going to be more complex than I thought. I'll get to it eventually.
Jim
Re: Les cavernes -- TRS-80 Pocket Computer
This code is seriously messed up.
Re: Les cavernes -- TRS-80 Pocket Computer
I had tried to reproduce the code with PureBasic, but I had misunderstood the memory management of the Pocket: I did not understand, for example, why the variable B was not initialized when in fact it can be indirectly initialized by A(2).
Re: Les cavernes -- TRS-80 Pocket Computer
Weird. So single numeric variables like A equate to ordered array instances?
A(1) = A
A(2) = B?
A(3) = C?
Or some such?
A(1) = A
A(2) = B?
A(3) = C?
Or some such?
Re: Les cavernes -- TRS-80 Pocket Computer
Thanks Auraes. I've made some progress converting the program to Micro Color Basic:
https://github.com/jggames/trs80mc10/tr ... s/Cavernes
The problem is that the game seems very difficult and the map seems arbitrary. Not sure if there are still bugs in it, that I have somehow missed. Not sure how its supposed to be won.
https://github.com/jggames/trs80mc10/tr ... s/Cavernes
The problem is that the game seems very difficult and the map seems arbitrary. Not sure if there are still bugs in it, that I have somehow missed. Not sure how its supposed to be won.
Re: Les cavernes -- TRS-80 Pocket Computer
Anyone interested can try playing the game here:
http://faculty.cbu.ca/jgerrie/MC10/JG_MC_Ports2.html
Select CAVERNES from the Cassette menu. It can be a little tricky sometimes selecting it. Then type RUN in the main emulator screen and hit Enter.
The commands are
RESTART
N
E
S
W
GET
INVENT
KILL
QUIT
http://faculty.cbu.ca/jgerrie/MC10/JG_MC_Ports2.html
Select CAVERNES from the Cassette menu. It can be a little tricky sometimes selecting it. Then type RUN in the main emulator screen and hit Enter.
The commands are
RESTART
N
E
S
W
GET
INVENT
KILL
QUIT
Re: Les cavernes -- TRS-80 Pocket Computer
Great work!
Missing LOOK.
It is specified that the goal of the game is to find the 10 rings. Each ring allows you to kill a specific monster.
if I understood correctly: https://archive.org/details/trs80-pc1-m ... 7/mode/2up, pages 46-47.