Satan's Challenge - Can we get it working?

discuss classic text/graphic adventures for the bbc micro & electron
Post Reply
User avatar
leenew
Posts: 4900
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Satan's Challenge - Can we get it working?

Post by leenew »

Hi,
Satan's challenge is a rare game.
The copy on bbcmicro.co.uk is faulty: http://www.bbcmicro.co.uk/game.php?id=2209

A new copy has turned up on this disc:
010-GamesADVENTURES.DSD
(400 KiB) Downloaded 25 times
This crashes out with a NO ROOM error:
sc.png
This means that the convoluted loader ends up with a BASIC program. (Or a partial BASIC program).
Could someone look at it and maybe simplify the loader to get this working??

Thanks,

Lee.
User avatar
Cybershark
Posts: 736
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Re: Satan's Challenge - Can we get it working?

Post by Cybershark »

Did you simply try dropping PAGE a bit?

The (flawed) bbcmicro.co.uk version seems to run with it at &1500 but the later version that you posted doesn't.
User avatar
daveejhitchins
Posts: 7876
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Satan's Challenge - Can we get it working?

Post by daveejhitchins »

Will it compress!

Dave H.
Available: ARA II : ARA III-JR/PR : ABR : AP5 : AP6 : ABE : ATI : MGC : Plus 1 Support ROM : Plus 3 2nd DA : Prime's Plus 3 ROM/RAM : Pegasus 400 : Prime's MRB : ARCIN32 : Cross-32
User avatar
leenew
Posts: 4900
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Re: Satan's Challenge - Can we get it working?

Post by leenew »

The truth is I haven't had time to look at it properly, but I was thinking if a self contained BASIC program could be extracted, then it could be loaded in a straightforward fashion, (and maybe compressed too.)
This means looking what the loader is doing...
Seeing as we have 2 broken copies it may not be so easy?.....

Lee.
User avatar
ChrisB
Posts: 547
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Satan's Challenge - Can we get it working?

Post by ChrisB »

I had a quick look.

The Basic loader on the disk (S.SATAN) copies a piece of machine code appended to end of the basic to &100 which then
Loads SC1 to SC5 (using OSCLI *L.SC1 etc.) - This includes all memory from &400 to &C00 and a section of the stack from &1d0 and zero page.
Selects the TAPE filing system
Moves 111 pages down from &1100 to &D00 (with interrupts turned off)
Puts "LOOK" into the keyboard buffer
Zeros the 15 bytes from &2a1 - The ROM type table on the BBC (presumably to stop attempts at debug?)
Sets the stack pointer to &de
stores the value at &28c at address &1e1 (current language - as this code is called from basic should be basic's rom number - of is this assuming it's 15 and trying to stop debug again?)
It then Loads A with zero and performs an RTS -which returns to F17E in MOS 1.2 - All these assumptions about memory locations make it incompatible with a B+and Master

It appears to load a BASIC program into memory - including the language workspace - "ready to go" so to speak and then lets i carry on running. Almost as though it's been dumped out of memory from a running state and is being restored - unless I've got that totally wrong.

You can see the BASIC by setting a shadow mode - PAGE to &1100 and *LOAD SC3 and SC2 then OLD. But don't list line 9 - that has special characters to turn of the screen (and elsewhere it seems)
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
fuzzel
Posts: 1191
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Satan's Challenge - Can we get it working?

Post by fuzzel »

There are a couple of previous discussions on here worth having a look at:
viewtopic.php?p=373703#p373703
viewtopic.php?p=373854#p373854
We managed to fix a few of the bugs in the disc version of the bbcmicro.co.uk copy but were hoping to get access to another one at the Centre for Computing History, unfortunately without any success to date. Is the newly discovered version the cassette version by any chance (I've not had a chance yet to compare them having only just spotted this topic)?
User avatar
leenew
Posts: 4900
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Re: Satan's Challenge - Can we get it working?

Post by leenew »

Hi fuzzel,
I don't know which version the game is.
It was posted by Simon on the Pirate Disc thread, here:

viewtopic.php?p=421010#p421010

The adventure discs are 9,10,11 and 26

Lee
fuzzel
Posts: 1191
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Satan's Challenge - Can we get it working?

Post by fuzzel »

It's the tape version. If you look at line 400, the program pulls in the initial variables from a file called DAFIT (the disc version equivalent is DAFID). Presumably, because that file isn't on the disc, by saving pretty much the entire contents of memory the program is able to run without them. I wonder if it's possible to recreate that file by preventing the assembly language program at the TOP of C.SATAN from running the basic program? We'd still have the problem though of creating a disc version given the size of the game (&5DC3), the fact that it has to run at &1500 so OPENUP works and the amount of space the variables, arrays, etc would take up between TOP and HIMEM. It may be that DAFIT and DAFID are the same file of course.
User avatar
ChrisB
Posts: 547
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Satan's Challenge - Can we get it working?

Post by ChrisB »

OK - so given the "saved state" that appears I've loaded the program to a second processor stripped the REMS and was able to reverse the process on line 400 to "Save" DAFIT rather than load it. I've also loaded the data in SC1 and saved out the non language workspace stuff. The game now appears to load and run on a second processor if you set page to &D00.

Line 3 contains the wonderful "$&D30=LEFT$(F$+" ",2) which means that this is self modifying BASIC - It actually only targets line 4 - PROC53 - so overwrites this procedure name with the value in F$... Still - unusual code and means you need to be careful about changing the start of the program.

It appears to use the loaded data from &880-&9ff then page &B and &C. Page &A is used as temporary storage for &9 to allow saving to tape. It seems unlikely that this version can be made to load and/or save with a DFS present without a considerable rework.

Attached is the disk I have as stands. Load into a second processor then

Code: Select all

PAGE=&D00
*LOAD SCDATA
CHAIN"SCNOREM"
satan.ssd
(52.75 KiB) Downloaded 7 times
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
fuzzel
Posts: 1191
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Satan's Challenge - Can we get it working?

Post by fuzzel »

Excellent work Chris. I've just played the game using my walkthrough. Everything works fine right up until the final couple of moves when the game for some reason doesn't understand (ROT13):
FHZZBA
LBHER N QRIVY
Some further investigation is required. I also need to dig out my old maps and see if the corrupted locations in the disc version work ok in this one and that'll mean we can fix the disc version and have at least one version which works on a standard beeb.
EDIT: Walkthrough with notes added:

Code: Select all

WALKTHROUGH
The aim of the game is to collect three objects, five horseshoes, five candles and five silver cups, transport
yourself to the pentagram using the talisman, summon the devil, then correctly answer his question to win.
These key items are located as follows:
Talisman - under the tree (you'll need the rope to get there)
5 horseshoes - in the catacombs under the church (you will need to befriend the cat on the way)
5 candles - in the tunnels under the house - you can also replenish your torch (you need the shotgun here)
5 silver cups - in the safe
Your first task will be to get the torch and the mask, visit the graveyard, give a match to the zombie to
get the piece of paper (revealing the safe combination), get the crowbar, deal with the angel of death and
get the rope:
W
W
N
E
GET TORCH
N
E
E
E
S
S
U
U
GET MASK
D
D
N
N
N
N
GET MATCHES
S
W
S
S
W
N
W
S 
W
W
GET BATTERY
FIT BATTERY
S
S
E
S
U
S
GET KEY
N
D
N
W
W
W
S
OPEN DOOR
DROP KEY
W
N
N
GET TAPESTRY
DROP TAPESTRY
E
GET SPRAY
W
S
S
E
S
W
S
E
SPRAY FLY
SPRAY FLY
DROP AEROSOL
W
N
E
N
N
E
E
N
N
E
N
N
W
N
W
S
W
N
W
S
GIVE MATCHES
GET PAPER
READ PAPER
DROP PAPER
S
TORCH ON
D
E
S
W
GET CROWBAR
E
E
N
WEAR MASK
N
REMOVE MASK
D
D
W
W
GET ROPE
E
E
U
U
TORCH OFF
S
S
W
N
W
U
E
N
E
N
E
S
E
S
S

SAVE: NEVIL1
OBJECTS HELD: MASK, MATCHES, TORCH (OFF), CROWBAR, ROPE

The next task is to get the talisman which will allow us to teleport back from no-return areas of the game.
To get it we'll need get past the dog and use the rope.
DROP MASK
DROP MATCHES
TORCH ON
LOOK
E
N
N
N
E
GET SHOTGUN
W
S
S
S
W
S
E
S
S
OPEN DOOR
S
S
E
GET FOOD
E
E
N
N
W
N
E
PRISE BOARDS
DROP CROWBAR
D
GET SPADE
N
U
N
W
S
DIG
DROP SPADE
GET DAGGER
READ SYMBOL
DROP DAGGER
N
N
N
GIVE FOOD
W
D
S
SECURE ROPE
DROP ROPE
D
GET TALIS
U
N
U
E
S
S
W
N
W
S
W
SAVE: NEVIL2
OBJECTS HELD: TALISMAN, TORCH (ON), LOADED SHOTGUN
Now to revisit the house, this time to visit the rooms underneath to replenish our battery and get the
first of the three occult items. We'll need to pick up the gate on the way.
S
E
GET GATE
S
S
S
S
D
E
E
N
N
D
W
W
N
E
E
N
N
SHOOT DOG
DROP SHOTGUN
W
U
S
W
W
GIVE GATE
D
W
S
GET CAND
RUB TALIS
SAVE: NEVIL3
OBJECTS HELD: TORCH (ON), TALISMAN, FIVE CANDLES
Now, whilst we're in the church, we can get the second occult item, the five horseshoes. But first, befriend
the cat.
E
N
N
BEFRIEND CAT
S
S
S
S
W
N
D
N
N
E
E
E
S
GET HORSE
N
W
W
S
W
W
S
U
SAVE: NEVIL4
OBJECTS HELD: TORCH (ON), TALISMAN, FIVE CANDLES, FIVE HORSESHOES
Now we'll go back to the house and get the bottle and the final occult items, the silver cups:
S
E
N
N
N
DROP CANDLES
N
N
E
S
E
S
S
S
E
GET BOOK
READ BOOK
DROP BOOK
E
GET PAINT
L2R3L5R7
GET CUPS
W
W
S
D
E
GET WINE
DRINK WINE
GET BOTTLE
RUB TALIS
SAVE: NEVIL5
OBJECTS HELD: TORCH (ON), TALISMAN, AN EMPTY BOTTLE, FIVE HORSESHOES, FIVE SILVER CUPS
Now we can drop the horseshoes and get the matches. We'll then need to return to the church and prepare
the cups and the candles for the ritual at the end of the game. To get everything we need to the pentagram
we'll have to drop the horseshoe there with the bottle of holy water and the matches for later.
DROP HORSE
E
N
W
W
S
W
N
FILL BOTTLE
S
E
N
E
E
N
N
E
GET MATCHES
RUB TALIS
DROP BOTTLE
DROP MATCHES
E
N
GET CANDLES
RUB TALISMAN
SAVE: NEVIL6
OBJECTS HELD: TORCH (ON), TALISMAN, FIVE CANDLES, FIVE SILVER CUPS
GET HORSESHOES
PLACE HORSESHOES
GET BOTTLE
FILL CUPS
PLACE CUPS
GET MATCHES
LIGHT CANDLES
PLACE CANDLES
SUMMON
YOURE A DEVIL


THINGS STILL TO DO:
Drop food where the cat is and the weird bobbly thing appears (sometimes more than once)
IF YOU RUB TALISMAN TO GET TO THE PENTAGRAM YOU CAN FILL THE CUPS WITHOUT EVEN HAVING
GOT THE HOLY WATER (AND THE EMPTY BOTTLE MYSTERIOUSLY APPEARS!)
WHAT USE IS THE BROOM? WHAT LOCATIONS ARE D%=4906 OR 4912 ?
User avatar
ChrisB
Posts: 547
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Satan's Challenge - Can we get it working?

Post by ChrisB »

Your walkthrough isn't right for this version that I can see- When you go up at the tower to get the mask it's dark - presume you need the battery before this.

However - if I have located the verb table I don't think summon is there. However "666" seems to do the job and ends the game if said too early.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
duikkie
Posts: 3177
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: Satan's Challenge - Can we get it working?

Post by duikkie »

is it still not working ?
on a bbc with dfs ?

what and where is a good tape version or has all error's or bugs ?
duikkie
Posts: 3177
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: Satan's Challenge - Can we get it working?

Post by duikkie »

i am trying to fix the disc version. but how do you read de locdata txt file ( which program do i use ?)
i have fixed line 28 and line 39
the problem is locdata 0000 to 0900 all e5. this is 18 differt locations

i hope the tape version with scdata and scnorem file is good working with sec. processor ?



fuzzel wrote: Wed Apr 03, 2024 8:24 pm There are a couple of previous discussions on here worth having a look at:
viewtopic.php?p=373703#p373703
viewtopic.php?p=373854#p373854
We managed to fix a few of the bugs in the disc version of the bbcmicro.co.uk copy but were hoping to get access to another one at the Centre for Computing History, unfortunately without any success to date. Is the newly discovered version the cassette version by any chance (I've not had a chance yet to compare them having only just spotted this topic)?
duikkie
Posts: 3177
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: Satan's Challenge - Can we get it working?

Post by duikkie »

try this restored satan. ssd
Attachments
restoredsatan.ssd
(200 KiB) Not downloaded yet
fuzzel
Posts: 1191
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Satan's Challenge - Can we get it working?

Post by fuzzel »

duikkie wrote: Mon May 06, 2024 9:10 am try this restored satan. ssd
Hi duikke, thanks for doing this. What exactly have you fixed by the way? Lurkio corrected some major bugs a couple of years back but a few of the locations had no text so we were waiting for the tape version to turn up so we could use the text from that (if indeed those locations appeared in the tape version). I've yet to confirm if the games are identical or whether the disc version was enhanced but it's on my to-do list...
duikkie
Posts: 3177
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: Satan's Challenge - Can we get it working?

Post by duikkie »

in sat2 : line 28 goto48925oscli in goto29

in line 39 goto 16464 in goto 80

locdata contains data from line 4900 to xxxxx insteed of e5 : 18 "new" locations some empty 001001** is empty location

i don't know where loction in line 4906 is ?? but it is 6*128= in locdata

further is satan basic pogram very stupid : it waits in de main time *run sat1 : sat1 contains at pa.=&1f00 a basic program
that is awful way of doing things. in 6502 you can do better.



fuzzel wrote: Mon May 06, 2024 10:40 am
duikkie wrote: Mon May 06, 2024 9:10 am try this restored satan. ssd
Hi duikke, thanks for doing this. What exactly have you fixed by the way? Lurkio corrected some major bugs a couple of years back but a few of the locations had no text so we were waiting for the tape version to turn up so we could use the text from that (if indeed those locations appeared in the tape version). I've yet to confirm if the games are identical or whether the disc version was enhanced but it's on my to-do list...
fuzzel
Posts: 1191
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Satan's Challenge - Can we get it working?

Post by fuzzel »

Hi duikkie, I've managed to retrieve my map of Satan's Challenge and found one of the locations on the disc version that was corrupted. It's the top of the tree. Would it be possible for you to fix the disc version location text? I've attached two screenshots, the corrupted disc version and the unblemished tape version:
Satan1 Up Tree Disc Version Corrupted.png
Satan1 Up Tree Tape Version NonCorrupted.png
And here's a walkthrough to get you to the location:

Code: Select all

W
W
N
E
GET TORCH
N
E
E
E
S
S
U
U
GET MASK
D
D
N
N
N
N
GET MATCHES
S
W
S
S
W
N
W
S 
W
W
GET BATTERY
FIT BATTERY
S
S
E
S
U
S
GET KEY
N
D
N
W
W
W
S
OPEN DOOR
DROP KEY
W
N
N
GET TAPESTRY
DROP TAPESTRY
E
GET SPRAY
W
S
S
E
S
W
S
E
SPRAY FLY
SPRAY FLY
DROP AEROSOL
W
N
E
N
N
E
E
N
N
E
N
N
W
N
W
S
W
N
W
S
GIVE MATCHES
GET PAPER
READ PAPER
DROP PAPER
S
TORCH ON
D
E
S
W
GET CROWBAR
E
E
N
WEAR MASK
N
REMOVE MASK
D
D
W
W
GET ROPE
E
E
U
U
TORCH OFF
S
S
W
N
W
U
E
N
E
N
E
S
E
S
S
DROP MASK
DROP MATCHES
TORCH ON
LOOK
E
N
N
N
E
GET SHOTGUN
W
S
S
S
W
S
E
S
S
OPEN DOOR
S
S
E
GET FOOD
E
E
N
N
W
N
E
PRISE BOARDS
DROP CROWBAR
D
GET SPADE
N
U
N
W
S
DIG
DROP SPADE
GET DAGGER
READ SYMBOL
DROP DAGGER
N
N
N
GIVE FOOD
W
U
fuzzel
Posts: 1191
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Satan's Challenge - Can we get it working?

Post by fuzzel »

Here's the next corrupted location:
Satan2 NS Passage Disc Version Corrupted.png
Satan2 NS Passage Tape Version NonCorrupted.png
And here's how to get there:

Code: Select all

W
W
N
E
GET TORCH
N
E
E
E
S
S
U
U
GET MASK
D
D
N
N
N
N
GET MATCHES
S
W
S
S
W
N
W
S 
W
W
GET BATTERY
FIT BATTERY
S
S
E
S
U
S
GET KEY
N
D
N
W
W
W
S
OPEN DOOR
DROP KEY
W
N
N
GET TAPESTRY
DROP TAPESTRY
E
GET SPRAY
W
S
S
E
S
W
S
E
SPRAY FLY
SPRAY FLY
DROP AEROSOL
W
N
E
N
N
E
E
N
N
E
N
N
W
N
W
S
W
N
W
S
GIVE MATCHES
GET PAPER
READ PAPER
DROP PAPER
S
TORCH ON
D
E
S
W
GET CROWBAR
E
E
N
WEAR MASK
N
REMOVE MASK
D
D
W
W
GET ROPE
E
E
U
U
TORCH OFF
S
S
W
N
W
U
E
N
E
N
E
S
E
S
S
DROP MASK
DROP MATCHES
TORCH ON
LOOK
E
N
N
N
E
GET SHOTGUN
W
S
S
S
W
S
E
S
S
OPEN DOOR
S
S
E
GET FOOD
E
E
N
N
W
N
E
PRISE BOARDS
DROP CROWBAR
D
GET SPADE
N
U
N
W
S
DIG
DROP SPADE
GET DAGGER
READ SYMBOL
DROP DAGGER
N
N
N
GIVE FOOD
W
D
S
SECURE ROPE
DROP ROPE
D
GET TALIS
D
S
W
W
N
N
fuzzel
Posts: 1191
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Satan's Challenge - Can we get it working?

Post by fuzzel »

Here's the final location that was corrupted. Just go north from the previous location to get there:
Satan3 NS Lift Disc Version Corrupted.png
Satan3 NS Lift Tape Version NonCorrupted.png
duikkie
Posts: 3177
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: Satan's Challenge - Can we get it working?

Post by duikkie »

try this, i hope your ptr is right !!!

filled prt 39040 and 40320 and 40576

maybe there is more ?
Attachments
restore2satan.ssd
(200 KiB) Downloaded 1 time
fuzzel
Posts: 1191
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Satan's Challenge - Can we get it working?

Post by fuzzel »

Thanks duikkie, I'll test it thoroughly tomorrow against my full walkthrough as well as visiting those locations not included in it.
If you're aware of any other corrupted locations could you send me details please, eg neighbouring locations, with a screenshot if possible.
fuzzel
Posts: 1191
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Satan's Challenge - Can we get it working?

Post by fuzzel »

There's a problem with the REMOVE command. REMOVE MASK in your version produces the response "Eh?" whilst in lurkio's version on bbcmicro.co.uk the response is "It's off.". Also a few moves later the game crashes.
duikkie
Posts: 3177
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: Satan's Challenge - Can we get it working?

Post by duikkie »

there is more wrong in the disc version :(

if you look at line 300 and 322 : if t%=0 you NEVER can get ptr: 40576 !!! with ds:01017 ...... d%=4900+100t%+val mids$(d$,4,2)
so d%=4917 not 40576

line 322 is ptr#da=((d%-4900*128) .... 17*128== &880 in file locdata and not &9e80

so we have to look at error in sat2 !!

i can fill locdata with any text you like but maybe you get wrong information as text on a location where there is nothing
duikkie
Posts: 3177
Joined: Fri Feb 07, 2014 3:28 pm
Contact:

Re: Satan's Challenge - Can we get it working?

Post by duikkie »

early i wrote there is more wrong with the disc version

i need two pc's or laptops to compare the two ( tape and disc)

but a lot of the words in disc version is not loaded :shock:

like bre , swa ,spr ,wea ,rem , 666 , go ,wal, run , fly ,hel, pra and sho ( what is show)

i will restore it ,

someone has tryed to make the tape version into disc version but forgot a lot
i wonder if the table A$(E%,S%,T%) is the same ??? then the commands words, then the text at the location
because there is a lot 001001** in locdata what means empty
Post Reply

Return to “8-bit acorn software: classic adventure games”