Adventure into BBC Basic

contribute new/updated software missing from online archives
Post Reply
User avatar
pau1ie
Posts: 720
Joined: Thu May 10, 2012 10:48 pm
Location: Bedford
Contact:

Adventure into BBC Basic

Post by pau1ie » Tue Feb 04, 2020 11:00 pm

This book teaches Basic by creating a game. Most of the code goes towards creating an animated introduction. There is a playable game in Basic, which the book calls a
sophisticated and exciting adventure game


The programs use a lot of memory. Because of this, the book says to run them from cassette. I have modified it to run on a BBC master with the shadow memory modes, so at present it won't work on a BBC B.

I find it essential to have the list of items available while playing. The main point of the game seems to be to find the correct objects to beat the various guardians of the doors. I put this information in the T.SPOILER file.
items.png
Items found in the game.
I have tested the game, and believe I have squashed all the bugs.There are a few utility programs in the book, which I might get round to typing in. I will update the disc image if I do so. I used Lurkio's menu from Dungeon of Doom.
Attachments
FINALTE2.SSD
The disc image.
(38.25 KiB) Downloaded 24 times

Michael Brown
Posts: 2321
Joined: Sat Apr 03, 2010 1:54 pm
Location: Nottingham
Contact:

Re: Adventure into BBC Basic

Post by Michael Brown » Thu Feb 06, 2020 8:33 am

Hi,
Would the original game not have run at &1100 page?
It would be nice to have it running on a BBC B as it says 1984 so would have been for that machine.

Good work BTW

Mick.

User avatar
lurkio
Posts: 2888
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Adventure into BBC Basic

Post by lurkio » Thu Feb 06, 2020 1:54 pm

Michael Brown wrote:
Thu Feb 06, 2020 8:33 am
Would the original game not have run at &1100 page? It would be nice to have it running on a BBC B as it says 1984 so would have been for that machine.
It seems to run okay at &1100 on a Model B if you compress the programs CASTLE, CASTLE2, and CASTLE3 with the Pack routine in the PRES Advanced BASIC Editor ROMs:
Warning: I haven't tested it extensively! (But in the final program, CASTLE3, Pack has managed to lower VARTOP (~!2AND&FFFF) to approx. &2CF3, which I think might be low enough to allow the program to run okay, even in MODE2..?)

:!:

User avatar
leenew
Posts: 4214
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Re: Adventure into BBC Basic

Post by leenew » Thu Feb 06, 2020 2:28 pm

Can the original not simply be "downloaded" to PAGE= &E00?
(P.S. I haven't looked at it)

Lee

Michael Brown
Posts: 2321
Joined: Sat Apr 03, 2010 1:54 pm
Location: Nottingham
Contact:

Re: Adventure into BBC Basic

Post by Michael Brown » Fri Feb 07, 2020 3:04 pm

Hi,
You can add a download routine to Castle3 to move it down to &E00 for extra room.

Is it possible to post the original tape version here for us completists.

thanks
Mick.
l

User avatar
CMcDougall
Posts: 7049
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: Adventure into BBC Basic

Post by CMcDougall » Fri Feb 07, 2020 7:33 pm

Michael Brown wrote:
Fri Feb 07, 2020 3:04 pm
Is it possible to post the original tape version here for us completists.
think Paul had the pain of typing it all in from the book.... :?
ImageImageImage

User avatar
pau1ie
Posts: 720
Joined: Thu May 10, 2012 10:48 pm
Location: Bedford
Contact:

Re: Adventure into BBC Basic

Post by pau1ie » Sun Feb 09, 2020 11:47 am

CMcDougall wrote:
Fri Feb 07, 2020 7:33 pm
Michael Brown wrote:
Fri Feb 07, 2020 3:04 pm
Is it possible to post the original tape version here for us completists.
think Paul had the pain of typing it all in from the book.... :?
Yes, as Col says, I typed it in. The best I can do is upload the full OCRed text which I used to find errors in the typed in version. I think the code should be correct. I believe the tape version could be recreated by removing all lines whose numbers don't end in 0 and running it through their crunching program, which I have typed in as well, but I can't find it on my laptop, I need to transfer it from my BBC's datacentre, then I will upload it.
Michael Brown wrote:
Thu Feb 06, 2020 8:33 am
Would the original game not have run at &1100 page?
It would be nice to have it running on a BBC B as it says 1984 so would have been for that machine.
The book is adamant that the game must be run from cassette and won't work from disc. due to memory constraints. You probably know the memory implications better than I do. I did try to make it work by manually crunching it and setting page, but without success. I've not tried Lurkio's version, but it looks like he has had more success than me. I also forgot to mention I changed some memory locations as the shadow modes seemed to use the ones chosen by the authors. The OCR should contain the original locations.

I have uploaded the scans to google drive.
Attachments
finaltest.zip
Original program with comments, scanned OCRed and fixed.
(24.34 KiB) Downloaded 13 times

User avatar
pau1ie
Posts: 720
Joined: Thu May 10, 2012 10:48 pm
Location: Bedford
Contact:

Re: Adventure into BBC Basic

Post by pau1ie » Fri Feb 14, 2020 9:40 pm

Here is the disc image I originally uploaded with the addition of the compacter (or crunch) program - compact. I also added the following instruction text from the book in file t.compact.
C.2 COMPACTER

This program produces the minimum sized Basic or Assembly language program, com-
patible with its being re-edited or otherwise altered. The COMPACTER program should
be loaded above the program to be compacted at &7100 by typing:

Code: Select all

PAGE =&7100
and then loading the program. Before doing this, if you have a large program you should
check that it does not go beyond &7100 by typing

Code: Select all

PRINT ~TOP
to obtain the TOP address in hexadecimal. If this is greater than &7100 then the COM-
PACTER cannot be used, except, possibly, in two stages, as described below.

The COMPACTER will ask for the start address of the program (if it is not &EOQ0) in
the same way as with SLIST (see C.1), and also asks whether comments are to be
removed. It will then work through the program removing all non-essential spaces. Essen-
tial spaces are those in character strings, DATA statements or REMarks (or assembly
language comments), and those whose context makes them essential. Thus the statement

Code: Select all

IF Flag(N) AND X=17 THEN PRINT "Get lost!"
will be compacted to

Code: Select all

IFFlag(N)ANDX=17THENPRINT'"Get lost!"
whereas the statement

Code: Select all

IF Flag AND X=A THEN PRINT "Get lost!"
will become

Code: Select all

IFFlag ANDX=A THENPRINT'Get lost!"
During its execution the COMPACTER will display the line number currently being com-
pacted (so that you know it’s doing something!), and at the end will display details of the
old and new program sizes and the consequent size reduction.

The compacted program can then be saved, after first resetting the value of PAGE.

A very large program whose TOP is more than &7100 may, possibly, be compacted by
first deleting sufficient lines to reduce the TOP to less than &7100 and then compacting it.
The missing lines can then be retyped and the complete program compacted again.

Note that the above description assumes that a compacted COMPACTER is being
used. If you have typed the program yourself then experiment 17.3 explains how to use it
to compact itself, or you could simply load the COMPACTER at &6F00 instead of
&7100.
{Edit - correct disc image]
Attachments
FINALTE3.ssd
Final test with compacter and instructions.
(42.5 KiB) Downloaded 13 times

Post Reply

Return to “archive submissions”