{"id":392,"date":"2025-05-17T17:47:43","date_gmt":"2025-05-17T07:47:43","guid":{"rendered":"http:\/\/electricadventures.net\/?p=392"},"modified":"2025-05-17T17:47:43","modified_gmt":"2025-05-17T07:47:43","slug":"programming-games-for-the-colecovision-and-adam","status":"publish","type":"post","link":"https:\/\/electricadventures.net\/?p=392","title":{"rendered":"Programming Games for the ColecoVision and Adam"},"content":{"rendered":"\n<p>Programming Games for the ColecoVision and Adam in Assembler is a comprehensive guide to developing your first retro game for the ColecoVision or Adam.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"http:\/\/electricadventures.net\/wp-content\/uploads\/2025\/05\/image-8.png\" alt=\"\" class=\"wp-image-393\" style=\"width:206px;height:auto\"\/><\/figure>\n\n\n\n<p>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.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.amazon.com\/dp\/B08B5WNV3K\" rel=\"noreferrer noopener\" target=\"_blank\">Available on Amazon here<\/a> either on Kindle, or print editions in Paperback or Hardback.<\/p>\n\n\n\n<p><strong>Who should read this book?<\/strong><\/p>\n\n\n\n<p>This is for anyone interested in building their own retro games! No programming experience is required.<\/p>\n\n\n\n<p><strong>How this book is organised: A roadmap<\/strong><\/p>\n\n\n\n<p>This book is divided into 19 chapters and 6 appendices:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Chapter 1:\u00a0Introduction<\/strong> \u2013 An introduction to the ColecoVision console and the Adam Computer, and what we will be aiming to achieve.<\/li>\n\n\n\n<li><strong>Chapter 2:\u00a0Getting Set Up<\/strong> \u2013 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.<\/li>\n\n\n\n<li><strong>Chapter 3:\u00a0The Structure of a Game<\/strong> \u2013 How the structure of a game is broken down.<\/li>\n\n\n\n<li><strong>Chapter 4:\u00a0Starting Z80 Assembler<\/strong> \u2013 We cover the basics of Z80 assembler.<\/li>\n\n\n\n<li><strong>Chapter 5:\u00a0Z80 Loops, Conditions and Bits<\/strong> \u2013 We cover a few more essential concepts in Z80 assembler.<\/li>\n\n\n\n<li><strong>Chapter 6:\u00a0Starting Somewhere<\/strong> \u2013 We start with a simple demo ColecoVision project that provides the basic framework or template for making a game<\/li>\n\n\n\n<li><strong>Chapter 7:\u00a0Starting a Game<\/strong> \u2013 We start making our game, called \u201cMega Blast\u201d.<\/li>\n\n\n\n<li><strong>Chapter 8:\u00a0Move and Shoot<\/strong> \u2013 We get some objects moving on the screen.<\/li>\n\n\n\n<li><strong>Chapter 9:\u00a0Enemy Movement<\/strong> \u2013 We introduce some simple enemy movement.<\/li>\n\n\n\n<li><strong>Chapter 10:\u00a0Collision Detection<\/strong> \u2013 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.<\/li>\n\n\n\n<li><strong>Chapter 11:\u00a0Scoring<\/strong> \u2013 We add scoring to our game.<\/li>\n\n\n\n<li><strong>Chapter 12:\u00a0Player Collisions and Lives<\/strong> \u2013 We detect whether any enemy objects hit the player ship and display the number of lives the player has remaining.<\/li>\n\n\n\n<li><strong>Chapter 13:\u00a0More Enemies<\/strong> &#8211; We enhance the generation of the enemy objects.<\/li>\n\n\n\n<li><strong>Chapter 14:\u00a0TMS9928A\/TMS9929A<\/strong> \u2013 Graphics \u2013 We cover some more technical details on how the graphics are handled on ColecoVision.<\/li>\n\n\n\n<li><strong>Chapter 15:\u00a0TMS9928A\/TMS9929A<\/strong> \u2013 Sprites \u2013 In addition to the character tiles the TMS processor allows 32 sprites to be displayed on top of the background.<\/li>\n\n\n\n<li><strong>Chapter 16:\u00a0Generating Sounds<\/strong> \u2013 We look at how we generate sound.<\/li>\n\n\n\n<li><strong>Chapter 17:\u00a0Sound Effects<\/strong> \u2013 We use the OS 7 BIOS functions to add some sound effects to our game.<\/li>\n\n\n\n<li><strong>Chapter 18:\u00a0Playing Music<\/strong> \u2013 It\u2019s time to make our system sing, well, play some simple music at least.<\/li>\n\n\n\n<li><strong>Chapter 19:\u00a0Where to from here<\/strong> \u2013 Our game is still quite simple and could do with several features added to turn it into a more polished and professional title.<\/li>\n\n\n\n<li><strong>Appendix A:\u00a0Colecovision BIOS Functions (OS 7)<\/strong> \u2013 This appendix contains information on the useful routines that are included in the ColecoVision\u2019s BIOS, also called OS 7.<\/li>\n\n\n\n<li><strong>Appendix B:\u00a0Adam Computer EOS<\/strong> &#8211; The Adam provides a set of additional BIOS functions called the \u2018Elementary Operating System\u2019 (EOS).<\/li>\n\n\n\n<li><strong>Appendix C:\u00a0Memory Map<\/strong> \u2013 The memory map of both the ColecoVision and the Adam computer.<\/li>\n\n\n\n<li><strong>Appendix D:\u00a0Z80 I\/O Ports Assignments<\/strong> &#8211; These are the common I\/O ports used by the ColecoVision and Adam Computer.<\/li>\n\n\n\n<li><strong>Appendix E:\u00a0Distributing Your Title<\/strong> \u2013 How to distribute your title to others.<\/li>\n\n\n\n<li><strong>Appendix F:\u00a0Text Editor Setup Guide<\/strong> \u2013 A more detailed guide on setting up the two featured text editors.<\/li>\n\n\n\n<li><strong>Appendix G:\u00a0Opcode Games Super Game Module<\/strong> \u2013 Make even more complex games using the hardware features added by the Super Game Module from Opcode Games.<\/li>\n<\/ul>\n\n\n\n<p><strong>About the code<\/strong><\/p>\n\n\n\n<p>The code for the examples included in this book is provided in a GitHub repository located here:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tony-cruise\/ProgrammingGamesForTheColeco\" rel=\"noreferrer noopener\" target=\"_blank\">ProgrammingGamesForTheColeco<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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,<\/p>\n","protected":false},"author":1,"featured_media":393,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[60],"tags":[],"class_list":["post-392","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-books"],"acf":[],"_links":{"self":[{"href":"https:\/\/electricadventures.net\/index.php?rest_route=\/wp\/v2\/posts\/392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/electricadventures.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/electricadventures.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/electricadventures.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/electricadventures.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=392"}],"version-history":[{"count":1,"href":"https:\/\/electricadventures.net\/index.php?rest_route=\/wp\/v2\/posts\/392\/revisions"}],"predecessor-version":[{"id":394,"href":"https:\/\/electricadventures.net\/index.php?rest_route=\/wp\/v2\/posts\/392\/revisions\/394"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/electricadventures.net\/index.php?rest_route=\/wp\/v2\/media\/393"}],"wp:attachment":[{"href":"https:\/\/electricadventures.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/electricadventures.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/electricadventures.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}