Programming Games for the ColecoVision and Adam
Programming Games for the ColecoVision and Adam in Assembler is a comprehensive guide to developing your first retro game for the ColecoVision or Adam.
Throughout, all concepts are illustrated with a simple space-based shoot-em-up that is based on the awesome Astrosmash game reminiscent of games from your childhood.
Available on Amazon here either on Kindle, or print editions in Paperback or Hardback.
Who should read this book?
This is for anyone interested in building their own retro games! No programming experience is required.
How this book is organized: A roadmap
This book is divided into 19 chapters and 6 appendixes:
- Chapter 1: Introduction – An introduction to the ColecoVision console and the Adam Computer and what we will be aiming to achieve.
- Chapter 2: Getting Setup – We will go through the setup of various tools so that you can work towards creating new games for the ColecoVision and Adam, using your modern computer.
- Chapter 3: The Structure of a Game – How the structure of a game is broken down.
- Chapter 4: Starting Z80 Assembler – We cover the basics of Z80 assembler.
- Chapter 5: Z80 Loops, Conditions and Bits – We cover a few more essential concepts in Z80 assembler.
- Chapter 6: Starting Somewhere – We with a simple demo ColecoVision project that provides the basic framework or template for making a game
- Chapter 7: Starting a Game – We start making our game, called “Mega Blast”.
- Chapter 8: Move and Shoot – We get some objects moving on the screen.
- Chapter 9: Enemy Movement – We introduce some simple enemy movement.
- Chapter 10: Collision Detection – We add some simple collision detection so that the bullets our ship is firing can hit and destroy the asteroids that are falling down the screen.
- Chapter 11: Scoring – We add scoring to our game.
- Chapter 12: Player Collisions and Lives – We detect whether any enemy objects hit the player ship and display the number of lives the player has remaining.
- Chapter 13: More Enemies - We enhance the generation of the enemy objects.
- Chapter 14: TMS9928A/TMS9929A – Graphics – We cover some more technical details on how the graphics are handled on ColecoVision.
- Chapter 15: TMS9928A/TMS9929A – Sprites – In addition to the character tiles the TMS processor allows 32 sprites to be displayed on top of the background.
- Chapter 16: Generating Sounds – We look at how we generate sound.
- Chapter 17: Sound Effects – We use the OS 7 BIOS functions to add some sound effects to our game.
- Chapter 18: Playing Music – It’s time to make our system sing, well play some simple music at least.
- Chapter 19: Where to from here – Our game is still quite simple and could do with several features added to turn it into a more polished and professional title.
- Appendix A: Colecovision BIOS Functions (OS 7) – This appendix contains information on the useful routines that are included in the ColecoVision’s BIOS, also called OS 7.
- Appendix B: Adam Computer EOS - The Adam provides a set of additional BIOS functions called the ‘Elementary Operating System’ (EOS).
- Appendix C: Memory Map – The memory map of both the ColecoVision and the Adam computer.
- Appendix D: Z80 I/O Ports Assignments - These are the common I/O ports used by the ColecoVision and Adam Computer.
- Appendix E: Distributing Your Title – How to distribute your title to others.
- Appendix F: Text Editor Setup Guide – A more detailed guide on setting up the two featured text editors.
- Appendix G: Opcode Games Super Game Module – Make even more complex games using the hardware features added by the Super Game Module from Opcode Games.
About the code
The code for the examples included in this book is provided in a GitHub repository located here: