Solaris, Sinclair Spectrum text adventure - Softel 1983

Games for Spectrum, C64, Amstrad, Amiga, Apple ][ and the rest of the 8-bit and 16-bit platforms. Pleas for help, puzzles, bug reports etc.

Moderator: Alastair

Post Reply
Message
Author
steve2015
Posts: 1
Joined: Tue Jul 05, 2016 11:29 am

Solaris, Sinclair Spectrum text adventure - Softel 1983

#1 Post by steve2015 » Tue Jul 05, 2016 11:56 am

Played this game 30 years ago on Spectrum computer and couldn't get very far with it as its quite a difficult adventure. Revisited game 15 years ago when I first went online and downloaded snap file running z80 emulator but got stuck on 2nd screen -Inside Airlock. Nothing worked even though 15 years earlier On original game which was on tape cassette, I had gone passed this stage of adventure. Recently have looked at it again and looked at walkthrough which I believe was originally on this site. Tried - Exam Floor, which is first command of walkthrough when you have gone north from Ground Car and enter Into Airlock but this doesn't work. Wondered if anyone has played this game and could shed some light on it as I think it may be that there is a command missing in the walkthrough before the Exam Floor command. Tried dry running the game which is easy to break into but this is more difficult than it seems because part of the program is in machine code, rest in Basic and I am not that conversant with z80 machine code.

User avatar
jgerrie
Posts: 280
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Solaris, Sinclair Spectrum text adventure - Softel 1983

#2 Post by jgerrie » Wed Jul 19, 2017 7:21 pm

Does the machine code do anything important in the game or is it from window dressing? If I could see the Basic code I could perhaps help you out. Any chance you could send it?

User avatar
pippa
Posts: 57
Joined: Sun Jan 16, 2005 3:28 am
Location: London

Re: Solaris, Sinclair Spectrum text adventure - Softel 1983

#3 Post by pippa » Fri Aug 04, 2017 1:54 pm

It looks like the machine code does a lot of the parsing.

The machine code routine at address 65197 (called from line 45 in the BASIC) extracts the verb from the command. This means a full list of verbs isn't available in the BASIC listing. :(

Once this is done, control returns to BASIC which does a GOTO to a line based on the ASCII code of the verbs first letter! (e.g. The code for "C" is 67 so the routine starting at line 6700 contains all the instructions for all the "C" verbs jumbled up together! Very confusing.)

Nouns are tested by the machine code at address 65291, called from various lines but usually with the address in variable B rather than specified directly. The variable NO will be set to true if the text in V$(I) doesn't match the noun.

This has got to be the strangest method of parsing ever! What were they thinking? :? :o :shock: :?

Anyway, this all means you have to CLOSE REAR in the airlock before you examine the floor. (And no, there's nothing in the game itself that will give you a clue to that. This is one of those "guess what the programmer just happened to be thinking" games.)
Attachments
solaris.zip
Listing of BASIC part of Solaris. NB colour formatting control codes are not included.
(10.9 KiB) Downloaded 138 times
[b]~~[i] Pippa [/i]~~[/b]

User avatar
jgerrie
Posts: 280
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Solaris, Sinclair Spectrum text adventure - Softel 1983

#4 Post by jgerrie » Thu Aug 10, 2017 6:37 pm

Thanks for the source Pippa. Sounds intriguing. Maybe I can backward engineer a verb list by guessing and create my own parser subroutine. Ta.

Jim G.

Alastair
Posts: 1046
Joined: Fri Nov 11, 2005 12:21 am

Re: Solaris, Sinclair Spectrum text adventure - Softel 1983

#5 Post by Alastair » Fri Aug 11, 2017 12:03 am

Working on the assumption that when run the game will unscramble itself in memory I took one of the Z80 snapshot images and opened it in WordPad. Guessing that 'INV' for inventory would be in there a search revealed the following text string:

AIMBRICALCHACLODROKILENTEATEXAFLIFIRGETHELINVINSJUMJOIKILLOOLIFMOVOPEPICPULPREQUIREASWISLISAYSTRSCOSHOUSEUNLWEASTA

or breaking it up in to blocks of three:
AIM BRI CAL CHA CLO DRO KIL ENT EAT EXA FLI FIR GET HEL INV INS JUM JOI KIL LOO LIF MOV OPE PIC PUL PRE QUI REA SWI SLI SAY STR SCO SHO USE UNL WEA STA

Some of the abbreviations should be obvious, others may need an understanding of the game for them to make sense.

User avatar
jgerrie
Posts: 280
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Solaris, Sinclair Spectrum text adventure - Softel 1983

#6 Post by jgerrie » Wed Aug 16, 2017 2:36 am

Thanks for the intel. I'll let you folks know if my conversion is successful.

Jim

Post Reply