ZX Spectrum – BASIC Listings – Adventure Games

These listings are split into the various types of adventure games that appeared on the ZX Spectrum.

Table of Contents

    Advert

    A few of these games were discovered purely because I was proofreading the following adventure review books that were written by Shaun McClure.

    Use the links above to look at (and buy) his books from Amazon. Most are available in printed format and they are all available as Kindle e-books.

    I kept reading about the good, bad and ugly adventures which were obviously coded in BASIC and how hard/impossible they were sometimes to complete. So, I dug out ZX Preview and started taking a look behind the scenes… and that’s how all of these BASIC Listing pages started off.

    He’s also released a new book in 2025 which covers the basic design principles behind an adventure game.

    How To Design Adventure Games (2025)


    What’s in each download

    Each download will contain the tape image/snapshot of the title plus a number of text files depending on how many parts there were for the title.

    Sometimes the .TXT files included were the equivalent of MERGE “” to get at the code, others were a lot harder. For every one, I’ve used ZX Preview to get at the BASIC.

    Not all of the titles on this, and the other pages, will use all the possibilities listed in the legend below. The easier ones to port to another language/system will be the ones that used the least of the ZX Spectrum’s functionality.

    The majority of the TXT files with the source code will have one command per line – aka ‘Structured mode’ as ZX Preview calls it. This, to my mind, makes it easier to understand and read through if you’ve never seen a ZX BASIC code listing before. There might be some still using a normal list, but I’ll replace those as and when I find them.

    Table Legend:

    UDGs = Code uses UDGs within the Print statements. UDGs are either POKEd via BASIC, or loaded from tape.
    Font = Uses a new font to replace the standard Sinclair font. BASIC will poke 23606 & 23607 with the new address.
    Z80 = Uses Z80 machine code, either in separate files or in REM statements within the BASIC code.
    MS = Uses Memory Savings (see this page) to save precious bytes for the target machine(s).
    EC = Uses Embedded Colours (as well as, or instead of BORDER, PAPER & INK commands)
    EG = Uses Extended Graphics (The little square shapes available in Extended Mode)


    Text / Text & Graphical Adventures

    Game Title/YearDownloadUDGs?Font?Z80?MS?EC?EG?Notes
    5 Treasures Of Ryzar (Space Age Software, 1984)DownloadYNNYYYUDGs stored in tape file.

    Has a naughty word check built-into the parser :)
    Acorn’s Quest (AH Software, 1984)DownloadNNNNNNLoads in data from 3 x arrays first – o$(), s$() & l() so extract from .TAP file and embed in your new code if porting.
    Adventure in Bristol (Garry Lancaster, 1985 & 1996)DownloadNNNNNNThere are two versions of this game included.

    The first release was originally protected by saving the SCREEN$ and BASIC as one lump of CODE.

    The second one was re-released without the protection as part of the CSS – Crap Games Competition in 1996. This version doesn’t have the “protection”.

    Yes, it’s the same Garry Lancaster who created the ZX Next Operating System!
    Amerika’s Agent (KHP Soft, 1984) (DE)DownloadNNNNYNI have translated this fully into English (6th Sept 2024) and used the German solution on CASA to test the English version out.

    I have submitted the English solution to CASA.
    Andromeda 3 (Graham Poole, 1984)DownloadYNNNNNSome spelling mistakes need fixing, such as “a monster roaring loadly”?
    Dark Lore (8th Day Software, 1983)DownloadYNNYYNSave Game feature using two arrays: c() and o()
    Death Reprieve & Time Machine (Double Pack) (5D Software, 1985)DownloadYNNNNNTwo adventures released using the same BASIC engine.

    Time Machine has UDGs in the loader.

    (This entry will be split into two parts at some point)
    Death’s Head Hole (Peaksoft, 1983)DownloadYNNNYYA single UDG but otherwise 100% BASIC.
    Demon Knight (ASP, 1983)DownloadNNNNYY100% BASIC.
    Encounter (Severn Software, 1983)DownloadYNNYYYRequested by Dbug of Defence Force to help with his enhanced Oric port of this game.
    Escape From Colditz (Martin Malley, 1982)DownloadNNNNNN100% BASIC.
    Escape From Stalag 13 (Video Showcase, 1984)DownloadNNNYNN100% BASIC.
    Gold Stadt (DE) (Aqua Soft, 1984)DownloadNNNNNNI have translated about 90% of this into English, but need some help comparing the German against my translated efforts to make sure the game remains the same. Apply within :)
    Here Comes The Sun (Alligata Software, 1983)DownloadNYYNYYHas 2035 bytes of Z80 code stored at 63500, but some of this is the new font.
    In Search Of The Holy Grant Cheque (within 16/48 Magazine #14)DownloadYNNNYYUDGs are loaded into memory before the main program is loaded.

    Saved games are arrays O() and M().
    Island of Death (1984)DownloadYNNNNYInstructions are in the loader, then it’s the main game. Both parts are included.
    La Fuga De Ogerox (ALEAsoft, 1990)DownloadYNNNNYVery small adventure. English translation via DeepL included.
    Mines of Saturn (Saturnsoft, 1982)DownloadNNNNNY100% BASIC. Uses same engine as Return To Earth (both were released as a double pack).
    Return To Earth (Saturnsoft, 1982)DownloadNNNNNY100% BASIC. Uses same engine as Mines of Saturn (both were released as a double pack).
    Sherwood Forest (Delta 4)Download??????
    Never run it from line 1 as it will reboot your Spectrum. Line 10 onwards are OK.
    Shipwreck (Magnum Computing,1986)DownloadY x1NNNNNVery easy to understand BASIC listing. A whopping 9 locations in this adventure! Very easy to port.
    Station (DE) (Robert Spahl, 1985)DownloadNNNNNNLoader sets up the arrays and then loads main game.

    My English translation needs some testing out to make sure it all fits the 32 character screen limits.
    Steve Silver Adventure No. 1 (WB Software, 1983)DownloadYx3YNNNYEach location has its own subroutine/list of valid commands.

    Position saved via Q() array.
    Steve Silver Adventure No. 2 (WB Software, 1983)DownloadNYNNNY
    As with it’s prequel, each location has its own subroutine/list of valid commands.

    Position saved via Q() array.
    Suicide Island (Dollarsoft, 1984)DownloadYNYNNYTwo part adventure. Adventure #2 has Z80 code in the REM statement.

    Has a ‘naughty words’ trap that issues a series of long-winded BEEPs after the 2nd time :)

    A lot of RANDOMISE USR 3280 in the code for a quick ‘buzz’ effect.

    Load/Save via 7 different arrays but the save in Part 1 to access Part 2 is via three other saved arrays.
    Sunrise Over Bethselamine (Armadillo Software, 1986)DownloadYYNNYNPOKE 23692,255 used to prevent ‘Scroll?’ from appearing.

    Some spelling mistakes like ‘SAFTY PRECAUTIONS’ :)

    Only 3 characters used for verb/
    noun input. Looks like two font files (stored at 51600) are in use as there’s code for swapping between them depending on the location?
    Temple Terror (Atlantis Software, 1984)DownloadYYNNNNLoader installs the few UDGs used before the main program is loaded.
    The Black Wood (Thrydhent Vision Systems, 1987) (ES & EN)DownloadYNN?YYI’ve already translated it, but some minor bugs to fix in text display due to translation of Spanish into English.

    I need to work out an official map and solution as none exist at the moment.
    The Castle (Bug Byte, 1983)DownloadYNYNNNGame loader gets the UDGs (@64000) and a 13 byte piece of Z80 into memory, before loading the main code.

    Chris confirmed that the above Z80 is a block transfer to put the full screen graphic of the runes on the wall of the screen.

    Side note: I used to work with the author of this game (Chris Cannon) in the early 2000s at the Royal & Sun Alliance IT Helpdesk. This was then transferred across to IBM in 2003-ish. He once brought Matthew Smith (the very man) into the Royal & Sun Alliance Bar one night, so I can say I met one of my heroes :)

    He now runs Hidden Liverpool where he offers guided tours of Liverpool city centre.
    The Damned Forest (Cult, 1988)DownloadYNNNYYOne of the Cult games that I found was hard to track down (at a decent price) back when I was collecting games by this company.

    And I never played it when I did finally buy it!
    The Woods of Winter (CRL, 1984)DownloadYNNNNYSome Z80 in the REM statement and 1040 other bytes are POKEd in to 63420.

    The loader sets up some arrays and UDGs, but so does the main program? Not sure why this is duplicated.
    To The Manor Bourne (Central Solutions, 1984)DownloadYNNNNYIntro displays the instructions/background story, then loads the UDGS and the main adventure code.
    The Warrior’s Revenge (Video Force, 1984)DownloadNNNNNNThe Black Shadow always picks number 7 when he asks you to pick from 1-10.

    1825 INPUT “ENTER YOUR NUMBER “;M
    1826 IF M=7 THEN CLS etc. etc.

    When prompted for a code number at the very end of the game, enter 061090.
    Valley Of The Kings (Monk Soft, 1984)DownloadNNNNNN100% BASIC. Luckily for you, I’ve stripped all of the colour changes in this listing to make it legible. It was used as a “protection” against you using MERGE”” :)
    Velnor’s Lair (Quiksilva, 1983)DownloadNNNYNN100% BASIC game by Derek Brewster.

    Uses *a lot* of memory saving tricks to get as much as possible into 48K BASIC.
    Weird Island (Neil Wycroft, 2015)DownloadYN????UDGs are loaded before the 100% BASIC main game.

    The most recent game on this list!
    Wonderworm (Havensoft, 1984)DownloadYNNNNN100% BASIC.

    Uses array O() for saved game data.
    Xtroth – The Adventure (Automata, 1985)DownloadNNNYYNLots (and lots) of memory saving tips used in this one. Good luck unravelling it!
    Zauberschloss (DE) (Achim Kern,198x)DownloadYNN???Will need full translation into English. I only got so far before realising my previous search and replaces had cocked it up!

    S. Robert Speel adventures

    I didn’t realise until after I’d looked at these three games, that they were all type-ins from a book that I used to own back in 1984! To double the insult to my memory, I think I still own a copy of it 35+ years later as well! D’oh!

    Because of their source, and to make it easier on those typing in the code back then, all three games are 100% BASIC.

    However, all the locations etc. are stored as encrypted strings which are decrypted when required. This stops you from cheating I guess :)

    Game Title/YearDownloadUDGs?Font?Z80?MS?EC?EG?
    TempleDownloadNNNNNN
    The StatueDownloadNNNNNN
    Wizard’s TowerDownloadNNNNNN

    Karl Crawford adventures

    These were fun to look at as I’m a big Iron Maiden fan and when you see text adventures with these particular titles, you know that the original coder was a fan too :)

    The games are written in pure BASIC with no fancy thrills and, as you would expect, both use the same engine/routines to power the adventure.

    Game Title/YearDownloadUDGs?Font?Z80?MS?EC?EG?
    Murders In The Rue Morgue (Karl Crawford, 1987)DownloadNNNNNN
    (The) Number Of The Beast (Karl Crawford, 1987)DownloadNNNNNN

    Adventures by CCS

    I know there’s a separate page for Strategy Games by CCS, but they also released some text adventures.

    Some of the titles below use the standard CCS code which displays the CCS logo via more UDGs. This is common code used in many of their strategy titles.

    Game Title/YearDownloadUDGs?Font?Z80?MS?EC?EG?Notes
    Camelot (CCS, 1983)DownloadNNNYYY100% BASIC.
    Diamond Quest (CCS, 1983)DownloadYNNNYYThere is a loader that sets up some UDGs (‘a’ to ‘k’) and then loads the main game.
    The Golden Cobra (CCS,1985)DownloadYNNYNNUses a ‘RANDOMIZE USR 3330’ to do the same as POKE 23659,0 to prevent ‘Scroll?’ from happening.

    Adventures by Kayde Software

    All of these adventures use the same BASIC engine. All four adventures use the same code at the very start to set up RIGHT$, MID$ and LEFT$ functions via the DEF FN command.

    This, plus the same variables are used for room maps, objects, verbs and nouns, is what gives it away that the same engine is in use.

    1 DEF FN R$(X$,N)=X$(N TO LEN (X$))
    2 DEF FN L$(X$,N)=X$( TO N)
    3 DEF FN M$(X$,N,I)=X$(N TO N+I-1)

    I attempted to port Leopard Lord to Boriel a few years ago and it just drove me mad, so it was abandoned around the time the strings.bas library was altered and it broke my code port :(

    Game Title/YearDownloadUDGs?Font?Z80?MS?EC?EG?
    Ace In The H.O.L.E.DownloadNNNNNN
    Horror AtollDownloadNNNNNN
    Leopard LordDownloadNNNNNN
    Terror From The DeepDownloadNNNNNN

    Adventures by Mosaic Publishing

    The majority of the games from bookware publisher, Mosaic Publishing, were developed by Level 9. And they didn’t use BASIC, except for their loader. However, these two titles did.

    The Pen and The Dark was coded by Keith Campbell. Yep the same guy who did the Adventure Solutions column in Computer & Video Games. He also released a book called The Computer & Video Games ‘Book Of Adventure’ which was published by Melbourne House. I still have my copy from way back when :)

    Game Title/YearDownloadUDGs?Font?Z80?MS?EC?EG?Notes
    The Pen and The Dark,1984DownloadNNNNNN100% BASIC. Some spelling mistakes included.

    Saved games use multiple arrays: V(), P(), C(), N(), O$(), E$() & D$()
    The Width Of The World, 1984DownloadNNNNNN
    99.5% BASIC!

    The game sets up the extended line display via 23659, so be careful if you’re going to press that BREAK key.

    A small bit of Z80 is stored in Line 0. It is called by Line 9650 and does something based on the value of the SEED system variable (23670).

    Adventures by Pepsi Soft

    These are all very simple BASIC adventures. Most of them only accept one specific word per screen (or a multiple choice of a single keypress) in order to continue the ‘adventure’ – without the source code, you can become unstuck and have to start all over again!

    Where indicated in the table, there are fully translated English versions (in TAP format) included with the download.

    The translated versions will be submitted to Spectrum Computing to add to their database. All game solutions (Spanish & English) will be submitted to CASA too.

    Game Title/YearDownloadTAP / TZX?NotesCASA
    13 Rue Del Percebe (ES), 1992WIPES (TZX), EN (to follow)Translation complete but not tested nor compiled back into a TAP as of yet.
    La Alhambra (ES), 1992WIPES (TZX), EN (to follow)WIP
    Final Frog (ES & EN), 1991DownloadES (TZX), EN (TAP)Translated 100% and there’s a full version of the game in English (.TAP) included in the download.
    La Aventura Del Dragon (ES & EN) 1991WIPES (TZX), EN (to follow)Translation complete but not tested nor compiled back into a TAP as of yet.
    Los Pitufos (ES), 1991WIPES (TZX), EN (to follow)Another Smurf-based game. Seems to be a larger version of Papa Noel?
    Marcas (ES & EN), 1992WIPES (TZX), EN (to follow)A quiz about brands (cars, football teams and other objects).

    Translation complete but not tested nor compiled back into a TAP as of yet.

    Pointless moving this to the Utils section, so it will stay in the PepsiSoft area.
    W
    Operacion Conquista (ES & EN), 1992WIPES (TZX), EN (to follow)Translation complete but not tested nor compiled back into a TAP as of yet.
    Papa Noel (ES & EN), 1991

    (aka The Smurfs!)
    DownloadES (TZX), EN (TAP)Uses numerical input instead of the commands as per Final Frog.

    Translated 100% and there’s a full version of the game in English (.TAP) included in the download.
    Pasion Por El Water (ES), 1991WIPES (TZX), EN (to follow)‘By The Water’ – Translation complete but not tested nor compiled back into a TAP as of yet.

    RPG (Role Playing Games

    Standard RPG games

    Game Title/YearDownloadUDGs?Font?Z80?MS?EC?EG?Notes
    Black Crystal (Carnell, 1982)DownloadYNNNYYThe Spectrum version of the ZX81 original.

    All six separate maps included! Lots of UDGs used.
    The Wrath of Magra (Carnell, 1984)DownloadYNNNYYAn RPG adventure split into 3 parts.
    Volcanic Dungeon (Carnell, 1983)DownloadYNNNYYA lot smaller than The Black Crystal game but by the same authors.

    The Valley (and clones)

    The Valley by ASP Software was originally a type-in in a magazine for the Commodore PET. ASP converted this to multiple machines, including the ZX Spectrum, in 1982. Due to the lack of protection on games back then, some companies released slightly ‘similar’ games. ASP tracked down the offenders to get their titles removed from the market, although Kayde stood their ground and then re-released an altered version as ‘The Swamp’.

    In Episode 164 of Paul Jenkinson’s Spectrum Show, he covers the whole saga from the type-in through to ASP’s actions.

    Game Title/YearDownloadUDGs?Font?Z80?MS?EC?EG?Notes
    Secret Valley (Newsoft Productions, 1982)DownloadYNNNNNAlso mentioned in the Spectrum Show Episode 164 as a possible clone, but not a direct copy of, The Valley by ASP. This version runs in 16K, so a lot of similar features aren’t included.
    The Orb (CRL)DownloadYNNNNNThis title was withdrawn from the market after ASP pointed out to CRL that this was an almost exact copy of their title ‘The Valley’.
    The Valley (ASP)DownloadYNNNNNThe original game by ASP (which was based on a listing in a magazine for the Commodore PET) and the ZX Spectrum version was created by Dominic.

    The download also includes the enhanced version by Dominic Ferard.
    The Valley (Kayde Software)DownloadYYNNNNThis was very similar (i.e. almost an exact copy) to ASP’s title above, so this was changed to The Swamp later on.

    An ‘improved’ version was included on Outlet Disk Mag 56, which includes lots of Z80 inside REM statements in a loader, and other Z80 code in the main game. It’s not been included with the download.

    Note: Secret Valley isn’t an exact clone because it runs in 16K, but there are a few similarities in the code.


    Back to ZX Spectrum – BASIC Listings