Space Invaders, designed and programmed by Toshihiro Nishikado for Taito in 1978, was the first mainstream
arcade game and remains one of the most popular ever made.
"The ultimate Space Invaders shrine" : http://www.spaceinvaders.de/
Here is a VHDL model of the Midway 8080 system and game boards.
Including Space Invaders, Dog Patch and Sea Wolf
** Actual photos taken by compiling and running the code here ! /MikeJ **
Note, the red and green colours on the original were achieved with coloured plastic strips!
The invaders_rel0300 release contains Space Invaders with audio and colour overlay and is targeted at the Spartan3E starter kit board.
It also contains a simple scan doubler which converts the approx 15K line scan output to a 30K line rate suitable for VGA monitors.
Sean Riddle has created a version which uses the external Strataflash on the board, and this allows 16 different games to be supported.
See the Readme file in the distribution for details on the games and the build_invmulti_roms.bat file for the roms needed.
Here is the Spartan3E board running the game. Note the simple audio filter board plugged
into J4 on the bottom right. This is a simple resistor and capacitor filter for each audio channel, more details in the readme.txt file in the
distribution. This allows a simple delta sigma converter in the Xilinx to produce really quite good quality audio.
The VHDL source code has been tested on a BurchED board
with 32k SRAM and the zxgate I/O board described at:
The top level includes a PS/2 keyboard interface
Cpu source : www.opencores.org/projects/t80
This is a picture of the resources inside the FPGA, in this case a Xilinx Virtex 300e
(This is for the previous release without audio)
Each little coloured square is a register or logic element.
They make up the CPU and other game hardware, for example the video timing generator.
The bigger blocks (the four vertical columns) are the memory blocks.
Half are used for the program rom, and half for cpu / video ram.
IMPORTANT NOTE : NO ROM CONTENTS ARE IN THIS DISTRIBUTION
YOU WILL NEED THE ORIGINAL/ALTERNATIVE ROM FILES TO RUN THE GAME
THIS CODE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
You are responsible for any legal issues arising from your use of this code.
You must agree to this disclaimer before downloading the code
Version 0300 Audio & Scan doubler, Spartan3E target.
Version 0244 Latest T80 cpu core, Leonardo synthesis fixes.
Version 0242 Minor fixes, Sea Wolf and Dog Patch added.
Version 0241 Initial Release.
Sean's multigame 0001 invaders_multi_rel0001.zip
Current version 0300 invaders_rel0300.zip
old version 0244 mw8080_0244.zip