Home BMDS: Space Invaders Emulator
Post
Cancel
Preview Image

BMDS: Space Invaders Emulator

Introduction

I was a great fan of Space Invaders as a kid, although I could not always afford to go to the arcades. The idea of running my own emulation on my computer anytime I wanted and for as long as I wanted had some appeal to me. Sad I know! So I set about writing my own.

I had programmed the 8080 processor in an assigned project when I was training at RNEC Manadon in the 80s, so I was familiar with the code. Emulating the processor was fairly straight forward from the datasheet, and there is a plethora of information on the internet regarding the Space Invaders hardware.

Description

The main unit (uMachineSpaceInvaders) follows the same format as the Microtan 65 emulator.

The preferences frame (uPrefsSpaceInvaders) for the machine is created here, and referenced by the Preferences form when it is created. This reads the settings used later; including the application of colour filters, the initial number of bases, and the bonus points. The machine info is then defined, and the memory map, CPU, screen and sound manager are set up.

Thereafter the main loop in the Main Form repeatedly calls the RunForOneFrame procedure which executes the relevant number of instructions for one frame dependent on the machine frequency set. For Space Invaders this takes the form of two half cycles with an interrupt after each. The procedure also checks for keyboard input, and refreshes the screen display.

References / Resources

This post is licensed under CC BY 4.0 by the author.
Recently Updated
Trending Tags
Contents
Trending Tags