User Guide for Danny’s Disk Images

Introduction:

These disk images are DFS (for the BBC) and ADFS (for the Electron) disk images of a selection of programs written by me, Danny Nicholas. These were written during my teenage years on my home Acorn Electron in the late eighties. I hope you get some enjoyment or interest out of them. I was quite proud of them at the time.

These programs have been successfully tested on ElectrEm and BeebEm. This user guide lists all programs on this disk and any changes needed to make them work on the emulators.

Notes on ElectrEm:

If you wish to use any programs on ElectrEm requiring 64k of memory or Mode 7 you will need the last beta version of ElectrEm (WIP version) that supports both of these features.

ElectrEm is available from http://electrem.acornelectron.co.uk/downloads.

When ElectrEm is in Master RAM Board 64k mode, it is using shadow memory. For this reason, programs that access the screen memory directly (such as most machine code games) will not work.

To use programs that need Mode 7 you will need to enable the JAFA Mode 7 ROM (Mode 7 OS v1.91). This is also available from http://electrem.acornelectron.co.uk/ in the ElectrEm WIP section.

When using ElectrEm it is recommended you use the PRES E00 ADFS ROM. This keeps page at &E00 and so keeps more memory free for programs. This is available from http://www.stairwaytohell.com in the ROMS section.

The Programs:

When you run the disk image, you will be presented with a menu system where you can choose which program you wish to load. If this menu doesn’t appear, press CTRL and F12 to manually boot the disk. For most games you’ll need to ensure ElectrEm and BeebEm are using the ‘physical’ keyboard to recognise the key presses.

Below is a list of all the programs and games included on these disks in chronological order of when they were written.

Percy II – Percy’s Revenge: This is the very first game that I wrote and I think it shows. It’s very slow and has some playability problems. It is called Percy II as it’s supposed to be a sequel to Percy’s Panic, which was not written by me but appeared as a type in program in the pages of Electron User.

This game is very simple. Collect the keys to open the maze and then get to the centre of the maze before the time runs out to complete each level.

Percy III – Super Spy: This is the third and last instalment of the Percy trilogy. This is a levels and ladders game where Percy has to reach the female spy to advance to the next stage. A switch replaces the female spy on the last stage, which destroys Dr Doom’s base. Once you’ve completed all nine stages you move on to the next level. On level two, some platforms are replaced by melting platforms that dissolve when you pass over them. On level three, an arrow is fired across the screen for you to avoid.

This game was written in BASIC and was to be sold to school friends by a few of us who called ourselves LADS Software. One of my friends even designed a tape cover for the game. Sadly we never sold a single copy.

Danny Graphics Demo: This is just a simple graphics demo that displays my name. There was no real technical challenge to writing this as it just uses the DRAW command. However, it did take a long time to write. I had to convert my name in to a huge number of DATA statements. Have a look at the listing and you’ll see what I mean.

Q-Jump: This is an unfinished game based on the Q-Bert isometric blocks type of game. This was a joint effort between an old school friend, Andrew Carr and me. The main reason for not finishing the game was probably not being able to decide who would write what. I know I definitely designed the title screen as it uses the same code as my graphics demo above. I think Andrew did most of the work on the actual game.

There is nothing to collect and no enemies to avoid so not much to do. We did design four screens for the player to see. You can move on to the next screen my moving Q-Jump up and right until he falls off the blocks.

The Quest for the Gobal: This is a text-based adventure written using Incentive’s Adventure Creator. This game requires 64k of memory due to the number of rooms, objects and descriptions. You’ll need to set ElectrEm to 64k mode and do a hard-reset (CTRL and F12). On BeebEm you need to select the “65C02 Second Processor”.

The Quest for the Gobal is my attempt at writing a fantasy adventure featuring wizards, barbarians, thieves etc. You start in a small town and have to find a crystal called the Gobal by exploring the locations, talking to people, finding objects and working out how to use them.

I remember this took quite a lot of work. I had to map each of the sixty plus locations each with a different description. I had to write descriptions for twenty plus objects and write the logic on how they can be used.

The Supermarket Firm: This was a project written as part of my GCSE Computing Studies course (not my final project I should add – that was a dull sports centre admin system). It simulates customers coming into a supermarket queuing up at tills and then leaving. Customers will only queue at checkouts that are on. To turn on a checkout, press it’s number. If you turn a checkout off, the customers will look for somewhere else to queue. I’m not sure this is what my teacher wanted when he set this project. I think he wanted a simple simulation of a queuing system but I got carried away.

Invatron: This was my first foray in to the world of assembly language and machine code. An A level student at my school who was an amazingly talented programmer called Ben held assembly language evening classes for Andrew Carr and I. Invatron was my first attempt at putting what I’d learned in to practice.

The game is a very simple variation on Space Invaders. Just try to destroy the invading alien from your land base. The sprites are huge which is probably why I only have one alien instead of a whole fleet.

I remember the hardest part of this game was the sprite collision detection as I found working with screen memory quite confusing. However, I got it working in the end. I was thinking of adding extra aliens and adding a booster to the land base so you could move up the screen. However, this never happened but I still think Invatron is quite a fast, fun game to play.

Queue: This uses Mode 7 so will only work on the correct version of ElectrEm with the JAFA Mode 7 ROM enabled. ElectrEm will configure itself and switch to Mode 7. Obviously, BeebEm will have no problems with Mode 7. Queue is another GCSE project that simulates a first in, first out queue or buffer. You can enter a character to add to the queue. If you remove something from the queue, the earliest character is removed first. Pointers show the next spare location in the queue and the next character to be removed.

Noughts and Crosses: This also uses Mode 7 and needs the correct version of ElectrEm and the JAFA Mode 7 ROM enabled. This is a simple noughts and crosses game where you can play against the computer or a friend. You can use the cursor keys and RETURN to place your nought or cross. I was very pleased with my design for the computer’s logic as it always makes intelligent moves. It will always go for a winning move if it sees one or blocks it’s opponent if it sees they have a winning move.

The Beastie Adventure: This is my second text-based adventure written on Incentive’s Adventure Creator. This is a much smaller adventure than the Quest for the Gobal with only 10 locations but it was originally meant to be the first part in a Beastie trilogy. The Beastie Adventure puts you in the position of a Beastie Boys fan trying to get to and survive a Beastie Boys concert. This first part follows your quest to get into the concert set in a North London suburb of Enfield (where I grew up).

Although this is only a short game, I still quite enjoy playing it. Especially after not playing this for about 15 years and seeing it again only recently. By the way, you need to “prise” the badge from the car using the crow bar.

Dano Software Demo: This is an assembly language demo of a man running across the screen and shooting the letters of “Dano Software” in to the centre of the screen. This was originally written for a local video store to advertise themselves on screens in the shop. When they saw the demo, they decided that they didn’t like it. This routine was also going to be used in my next game Invatron II.

Invatron II – Return to Invatron: This game was never finished (or even nearly finished) but it was going to be a very sophisticated game involving levels, ladders and a shoot-‘em up similar to Superior Software’s Codename Droid. All that is left is a few routines that show the work I had started to do.

The introduction screen shows the character sprites I had designed which animate very smoothly. After the introduction screen there are also a few development routines you can run.

The room designer is a program I wrote to create game screens. You can load two example rooms by pressing ‘L’ and entering the filename ‘ROOM1’. ‘Q’ and ‘W’ toggle between rooms.

The other development demos show graphic demos displaying the sprites I had designed for this game. Although this game had loads of potential, I had to put it to one side to concentrate on my A level project, the Space Exploration Probe. I never managed to go back to this after my A levels due to leaving home to go to Swansea University.

Space Exploration Probe: This was my A level project and was by far the most complicated suite of programs I ever wrote on the Electron. The Space Exploration Probe is best run on ElectrEm as BeebEm won’t run some of the graphical functions. I haven’t had time to find out why so I’ve just disabled them on BeebEm.

Whichever emulator you choose to run this program on, it will only run with PAGE set to &E00 due the amount of memory it uses. With BeebEm this means enabling “BBC Master 128” mode. With ElectrEm you need to use the PRES E00 ADFS ROM.

The Space Exploration Probe was meant to be a simulation of gravity on a lander craft on different planets but ended up being a game disguised as educational software.

After the numerous graphical introductions, you are asked whether you want to load the lander or the designer. The lander is the main game and the designer lets you design your own planets.

If you choose to load the designer, you are first presented with a list of all the key functions (these can be displayed again at any time by pressing ‘H’). You can cycle through the planet sprites to change the existing planet surface. You may also want to view the pre-set planets by loading ‘SPLURG’, ‘EARTH’, ‘ICEWRLD’ or ‘JUPITER’.

If you choose to load the lander, you have to view all the descriptions of the equations used in the main program first (this justifies the educational tag of the program). The main thing you need to know is that Z and X control your left and right retro rockets and RETURN controls your underside booster.

Once the main program loads, you are asked if you want to load pre-set planets or your own planets. Choose pre-set planets unless you have designed your own. When the game starts your lander is brought on to the screen by your mother ship (another huge sprite). You have to land on the pad before you run out of oxygen or fuel. You also need to land at a speed of less than 30 metres per second to avoid crashing.

Final Comments:

And that’s it. Apart from a few simple programs that was the last project I finished on my Electron. Shortly after finishing my A levels, I went to Swansea University to study Electronic Engineering. I had to leave my Electron at home as I realised my student flat wasn’t very secure after losing a kettle and a slab of cheese during my first night.

When I had to write my dissertation I realised I needed a slightly more powerful word processor than View and so bought an Acorn A5000. I finally cut all my ties to Acorn in 1999 when I finally succumbed to buying my first PC.

I hope you’ve enjoyed these programs (well some of them at least). It’s been good fun for me to see all these programs again after recently discovering PC emulation. If you want to contact me, my e-mail address is: dan.nicholas@virgin.net.