SUNRISE OVER BETHSELAMINE

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

Message
Author
boldir
Posts: 26
Joined: Fri Aug 16, 2013 3:57 pm

SUNRISE OVER BETHSELAMINE

#1 Post by boldir » Fri Jul 23, 2021 4:50 pm

Hi,
I'm currently playing this adventure and I have even fixed it, but nevertheless I get stuck when I have to use the comlink in order to get the code number for the terminal in the small computer room (37). When I PRESS BLACK inside the alien craft (having the comlink and the translator) the message "A voice comes from the comlink, the translator translate it for you, 'calling agent 29326'" should appear. Instead of this, the comlink says 'gargle gloop gleep glop zing. In this context there are two conditions I can't explain to myself: w=0/1 and ww=0/1 (see BASIC lines 663 => 955 and 1050 - 1070). Is there anybody who has any idea?

boldir

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

Re: SUNRISE OVER BETHSELAMINE

#2 Post by jgerrie » Sat Jul 24, 2021 5:30 am

Where can the source be viewed?

boldir
Posts: 26
Joined: Fri Aug 16, 2013 3:57 pm

Re: SUNRISE OVER BETHSELAMINE

#3 Post by boldir » Sat Jul 24, 2021 12:43 pm

I only have edited the 26k BASIC program.

User avatar
Alex
Posts: 958
Joined: Tue Oct 24, 2006 10:45 pm
Location: Netherlands

Re: SUNRISE OVER BETHSELAMINE

#4 Post by Alex » Sat Jul 24, 2021 4:27 pm

Do you have the translator in your possession?
According to the code you should have object 7 and 22 in you possesion in order to receive the message.
w is a flag to check if you own the comlink
ww is a flag to check if you own the translator

User avatar
Alex
Posts: 958
Joined: Tue Oct 24, 2006 10:45 pm
Location: Netherlands

Re: SUNRISE OVER BETHSELAMINE

#5 Post by Alex » Sun Jul 25, 2021 9:18 am

If you do have the translator and it doesn't work the most likely error could be line 1052 is wrong:

1052 IF X=43 THEN IF G(F)=22 THEN LET WW=1: IF X=43 THEN NEXT F

G(F)=22 should refer to having the translator in your possession, but maybe the 22 should be different. However I checked the value of the translator which is 76-54=22 which looks ok. 76 is te position of where TRA starts in N$ (line 8005) the string that contains the nouns. According to the code all values higher than 55 should substract a value of 54 (line 815). So 7 does refer to the comlink and 22 to the translator.

Values of the nouns:
1 CAR
4 ROP
7 COM (comlink)
10 PIS
13 CUT
16 MAN
19 BUT
22 UP
25 DOW
28 GLA
31 JAS
34 TAK
37 LAN
40 EJE
43 BLA
46 REC
49 STE
52 HEN
1 SEC
4 HIG
7 RAD
10 LAZ
13 CUT
16 INS
19 CRA
22 TRA (translator)
25 REC
28 STE
31 HEN
34 BOX
37 TER
40 ALI
43 RED


If it was another platform I would check it better, but to me the Spectrum has the most horrible interface to change code. Sorry, I don't mean to offend anyone, but I grew up with MSX and c64 and it's so much easier to be able to change the text with every character you type instead of all those special keys for basic commands like the Spectrum does.

User avatar
Alex
Posts: 958
Joined: Tue Oct 24, 2006 10:45 pm
Location: Netherlands

Re: SUNRISE OVER BETHSELAMINE

#6 Post by Alex » Sun Jul 25, 2021 9:41 am

jgerrie wrote:
Sat Jul 24, 2021 5:30 am
Where can the source be viewed?
here
bethselamine code.zip
(7.89 KiB) Downloaded 46 times

boldir
Posts: 26
Joined: Fri Aug 16, 2013 3:57 pm

Re: SUNRISE OVER BETHSELAMINE

#7 Post by boldir » Sun Jul 25, 2021 1:50 pm

I think the problem lies deeper. It's not enough to get the comlink and the translator to receive the necessary message; I've noticed that the program (randomly?) swaps the collected objects, eg at room 15 (the apartment of the hotel receptionist) it happened that, when I dropped the glass cutter and took the comlink, the cutter was in this room when I looked again, but the inventory still shows the glass cutter, and the small box that I had before was gone! It has also happened that I had two laser pistols in my inventory, so I suspect that the comlink or the translator could be exchanged for another object without being noticed in the inventory. I have no idea what's going on here; I've played the adventure many times and only happened to get the correct message once although I've always owned comlink and translator.

boldir
Posts: 26
Joined: Fri Aug 16, 2013 3:57 pm

Re: SUNRISE OVER BETHSELAMINE

#8 Post by boldir » Mon Jul 26, 2021 4:56 pm

I've solved the game! It's a bit tricky with the comlink and the translator, but I've found out how to manage this: When you shoot the receptionist and he drops the translator, you have to drop everything you've got, then DROP COMLINK, GET TRANSLATOR, GET COMLINK, PRESS BLACK. Strange, but it works. Within the next few days I will upload the solution together with a map and a fixed version of the game (yes, there are two bugs in it!).
Thanks for the support anyway!

boldir
Posts: 26
Joined: Fri Aug 16, 2013 3:57 pm

Re: SUNRISE OVER BETHSELAMINE

#9 Post by boldir » Tue Jul 27, 2021 10:50 am

Alex, could you explain to me how to get a Spectrum BASIC listing into a text file?
Thanks!

User avatar
Alex
Posts: 958
Joined: Tue Oct 24, 2006 10:45 pm
Location: Netherlands

Re: SUNRISE OVER BETHSELAMINE

#10 Post by Alex » Wed Jul 28, 2021 6:59 am

boldir wrote:
Mon Jul 26, 2021 4:56 pm
I've solved the game!
Congratulations!

Maybe the problem is that the same numbers are used for different nouns (see my list above).

boldir wrote:
Tue Jul 27, 2021 10:50 am
Alex, could you explain to me how to get a Spectrum BASIC listing into a text file?
Thanks!
I use SnapList written by Chris Cowley. It is free and open source. You can get it here. Very easy to use.

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

Re: SUNRISE OVER BETHSELAMINE

#11 Post by jgerrie » Sun Aug 01, 2021 1:49 am

Alex and boldir. Thanks for the source. Will try converting it to TRS-80 MC-10. If I run across any bugs, I'll report back here.

Jim

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

Re: SUNRISE OVER BETHSELAMINE

#12 Post by jgerrie » Sun Aug 01, 2021 6:57 am

That is some messed up code.

Original:

1050 IF X=43 THEN FOR F=1 TO 10: IF G(F)=22 THEN W=1
1051 IF X=43 THEN IF G(F)=7 THEN W=1
1052 IF X=43 THEN IF G(F)=22 THEN WW=1: IF X=43 THEN NEXT F
1057 IF X=43 AND W=0 THEN PRINT "YOU DONT HAVE THE COMLINK": GOTO520
1060 IF X=43 AND WW=0 THEN PRINT "A VOICE COMES FROM THE COMLINK,'GARGLE GLOOP GLEEP GLOP ZING'": PRINT : GOTO520
1070 IF X=43 THEN PRINT "A VOICE COMES FROM THE COMLINK, THE TRANSLATOR TRANSLATES IT FORYOU,'CALLING AGENT 29326'"

Here's what I would recommend:

1050 IFX<>43THEN1080
1051 FORF=1TO10:IFG(F)=22THENWW=1
1052 IFG(F)=7THENW=1
1054 NEXTF
1057 IFW=0THENPRINT"YOU DON'T HAVE THE COMLINK":GOTO520
1060 IFWW=0THENPRINT"A VOICE COMES FROM THE COMLINK, 'GARGLE GLOOP GLEEP GLOP ZING'":PRINT:GOTO520
1070 PRINT"A VOICE COMES FROM THE COMLINK. THE TRANSLATOR TRANSLATES IT: 'CALLING AGENT 29326'":PRINT

Basically this routine is checking that you have the Comlink and the translator. If you don't have the Comlink, it tells you and exists. If you have the Comlink but not the translator, you get gibberish. If you have both you get the message with the code. I think my version should work, as long as there is nothing wrong with the codes for for the Comlink (7) and the translator (22).

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

Re: SUNRISE OVER BETHSELAMINE

#13 Post by jgerrie » Sun Aug 01, 2021 7:11 am

The shenanigans with the missing items might be occurring at
650 IFF=1ORF=4ORF=7ORF=10THENIFRND(2)=1THENXX=RND(3):IFR(C(5),XX)<>0THENC(5)=R(C(5),XX)

I'd try this

650 IFF=1ORF=4ORF=7ORF=10THEN REM IFRND(2)=1THENXX=RND(3):IFR(C(5),XX)<>0THENC(5)=R(C(5),XX)

to see if your missing item problem clears up.

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

Re: SUNRISE OVER BETHSELAMINE

#14 Post by jgerrie » Sun Aug 01, 2021 1:28 pm

Baldir,

What are the two bugs that you found?

Jim

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

Re: SUNRISE OVER BETHSELAMINE

#15 Post by jgerrie » Sun Aug 01, 2021 11:50 pm

I think
1540 G(F)=0:FORX=FTOGT:G(F)=G(F+1):NEXTX:GT=GT-1:GOTO500
should be
1540 G(F)=0:FORX=FTOGT:G(X)=G(X+1):NEXTX:GT=GT-1:GOTO500

This should solve your problem of disappearing items and double items. It is the routine for using the rope. When it tries to remove the rope from the inventory, it messes up reorganizing the items list because it uses F instead of X.

So ignore my prior comment about REMing out the line with the RND statements in it. I thought that was some kind of disfuctional random item dropping routine. Now I don't know what it does.

Post Reply