Click Here To Go To The Your Computer Archive

Written By Chris Melville

Cover Art
Click Here To Enlarge Loading Screen

Loading Screen
Click Here To Enlarge Opening Screen

Opening Screen
Click Here To Enlarge Screenshot

Game Screenshot


Chris Melville's last two articles delved into the BBC Operating System - now you can break out

The program published here is a Basic-driven assembly language program to play either Breakout or Breakthrough. It uses pixel graphics in Mode 7 so that it should run on a Model A if you miss out all the comments and put multiple assembler statements per line. Using pixels in mode 7 needs some fiddling which would slow down a Basic program too much to make a challenging game, but this one is both fast and smooth. It was indeded as an example of how the MOS calls would be used in games programming. There is not a direct memory reference in the whole program - unusual for a game - so the program will run on any Operating System and also with the 6502A second processor installed. The features are: selectable bat size, increasing game speed as score increases, selectable initial hardness, selectable bat speed relative to ball, selectable number of balls per game, wall lowers every time you get through the last one, breakout or breakthrough, and high score.

Operating System Calls

Some of the Operating System calls are as follows:

Line Numbers MOS Routine Purpose
680-710 OSWORD(7) Produce a beep
950-100 OSWRCH(31) Perform Tab
1020-1030 OSBYTE(135) Examine character at cursor position
1760-1790 OSBYTE(129) Perform Tab. Text z and x keys on keyboard
2030-2090 OSWRCH Printing spaces to rub out bat

They are repeated at several different places in the program. The assembly code is fully commented so it should be possible to develop the game further if required.