Code Monkey home page Code Monkey logo

cvload's Introduction

cvload

Run Colecovision games on a Z180 retrocomputer:

  • SC203 Modular Z180 computer
  • Propeller graphics card that emulates a TMS9918A
  • Keyboard input via serial port to replace or in addition to game controller

Can it run Donkey Kong? Basically all these components are different from a real Colecovision, and only a limited number of games will be playable. See: games.txt

Loader steps

  1. Load game ROM file from disk
  2. Include Colecovision BIOS binary
  3. Include SCM 1.3 binary
  4. Include Colecovision patch program
  5. Move loaded/included binaries to destination RAM locations
  6. Apply system settings for speed and interrupts
  7. Start Colecovision patcher or SCM

CP/M is only used to load the binaries.
The Coleco rom file and scm binary must be added to compile the program.

Colecovision BIOS patches

  • Replace VDP video i/o routines
  • Extend game controller input routines
  • Emulate TMS9918A vsync interrupt with 60Hz timer
  • Apply system patches
  • Boot Colecovision BIOS

SCM for Colecovision

Start game from scm prompt with: g 5000

I did some hacks in the scm source code to make it work for this purpose. Modified sources and config files are in the scm folder.

Keyboard control

Default key assignment:
A = Left
D = Right
W = Up
X = Down
, = Left fire
. = Right fire
P = Invoke SCM monitor

Other keys:
0..9,*,#

Todo

  • Emulate SN76489A with an YM2149
  • Load/save game state on disk(?)

References

Colecovision Coding Guide: https://archive.org/details/manualzilla-id-5667325

SCM V1.3: https://smallcomputercentral.com/small-computer-monitor/

SC203 Modular Z180 Computer: https://smallcomputercentral.com/sc203-modular-z180-computer/

Propeller Graphics Card: https://github.com/maccasoft/propeller-graphics-card

Game controller card: https://github.com/jblang/GameController Part of the loader code is based on examples/z180load.asm

SN76489 Sound card: https://github.com/jblang/SN76489

YM2149 card: https://github.com/electrified/rc2014-ym2149

Example code to emulate SN76489: http://www.ricbit.com/mundobizarro/sic.php

cvload's People

Contributors

b3rendsh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.