Thanks for getting it on bbcmicro! I'm still tempted to add graphics to it (either MODE 4 or MODE5/4 split screen).
In terms of building a new game it's a bit of a pain, but easier than it once was.
Step 1, prepare the data file.
As the original datafile is 18 KB; there's no way we could run this as is on a Beeb, so you need to compress it. The program tools/compress is a c program that will do this. Once compiled it takes a standard Scott Adams database file and outputs a compressed version (where adv05.dat in the source file and count is the outfile):
Step 2, prepare a directory for putting the disc files in
Due to having too many files in my beebasm directory, I make a directory for each game to contain the !boot, the data file and the loader file, there're some in the samples directory in the repo. In this case I just copied the buckaroo directory (in windows explorer) and renamed it count.
To make the disk I use a simple asm file in my beebadm directory which references all the files, this is the one I made for the count (I called it count.asm):
Code: Select all
GRAPHICS=0
ADAMS=1
EXITCOL=134
OBJCOL=131
MESSCOL=131
SYSCOL=135
TEXTCOL=40
INPUTCOL=134
include "engine.asm"
include "samessages.asm"
.objsep
equb ".",0
.end
save "ENGINE",start,end
; add game files - disk1
putfile "count\count","G.count",datastart
putfile "count\title","SCR",&5800
putbasic "count\LOAD.txt","LOAD"
puttext "count\boot","!BOOT",0
These define the files to put on the disk image and some configuration values, such as line size and the mode 7 colours. It imports engine.asm and samessages.asm - which are the engine and the system messages (e.g. stuff like "What shall I do now?").
Step 3, customise the supporting files
I took an image of the Atari version's loading screen and put it in BBC Micro Image Converter and manually messed with colours and dithering until it looked okay, then exported the file into the count directory. Then I added a simple BASIC loader program to the count directory:
Code: Select all
MODE 5
VDU 23,1,0,0,0,0,0,0,0,0
VDU 19,1,4;0;
VDU 19,2,7;0;
VDU 19,3,2;0;
*LOAD SCR 5800
*LOAD G.COUNT 2700
*ENGINE
Step 4, assemble it
From the beebasm directory I just run beebasm:
Code: Select all
beebasm -i count.asm -do count.ssd -opt 3
Step 5, play and tweak
If needed (and yes I found a bug in the word wrap on playing it though. Bah).
Directory structure
To try and explain it - I've zipped up the directory structure. The top of the zip file is where you would run beebasm.