Articles Chat Classic News Collectors List Comic Strips Contests Fan Fiction For Sale Interviews Links  
Message Board Online Arcade Postcards Publishing Puzzles Release Lists Staff Token Museum More!
 
Colecovision Programming
by Daniel Bienvenu & Michael Thomasson


Good Deal Games constantly receives inquiries about how to program for the classic systems. In response to reader demands, we contacted ace Colecovision programmer Daniel Bienvenu and he was kind enough to share his entire documentation and toolkits. This is simply HUGE as these docs and tools would require years to develop. Thanks again Daniel!

We cannot express how thankful that we are to Daniel for his very generous donation. The contents of all the materials are simply too extensive to cover on this page, but you can download the documents in their entirety below.


Download: Programming Colecovision Games (353kb)  Updated 8/5/03
Download: Z80 ToolKits and Files (1.01mb)   Updated 8/5/03


In addition to the toolkits,
here is a list of the topics covered in detail within the download.



SETUP YOUR DEVELOPMENT ENVIRONMENT

MEMORY
  ROM (Read Only Memory)
  RAM (Read-Write Memory)
  MEMORY MAP
  RAM USED BY THE COLECOVISION BIOS

DATA TYPES

  char
  byte
  int
  unsigned
  float
  char [n]
  * (pointer)
  void

OPERATORS

  USUAL SET OF BINARY ARITHMETIC OPERATORS:
  INCREMENT (++) AND DECREMENT (--)
  BITWISE OPERATORS
  COMBINED OPERATORS
  RELATIONAL OPERATORS
  LOGICAL OPERATORS

SCREEN MODE

CHARACTERS
  VIDEO MEMORY FOR CHARACTERS
  CHARACTER PATTERN
       EXAMPLE - SPACESHIP
  UPLOAD CHARACTER SET

SPRITES
  SPRITES COLOR
  SPRITES PATTERN
  SPRITES LOCATIONS ON SCREEN
  SPRITES ROUTINES

TOOLS
  WAV2CV
  WAV2CVDS
  I.C.V.G.M.
  BMP2PP
  PP2C and PP2ASM
  CVPAINT
  CCI - Coleco Compiler Interface
          How to use CCI?

JOYSTICK
  JOYPAD
  KEYPAD

SOUND
  THE SOUND ROUTINES
      update_sound ()
      start_sound (sound_data,sound_priority)
      sound_pointer = start_sound(sound_data, sound_priority)
      stop_sound(sound_pointer)
      sound_on()
      sound_off()
      play_dsound(sound_pointer, step)
  ADDING SOUNDS IN COLECO PROJECTS

LIBRARY: COLECO

  ROUTINES IN COLECO LIBRARY
       vdp_out
       put_vram
       get_vram
       fill_vram
       put_vram_pattern
       set_default_name_table
       disable_nmi
       enable_nmi
       screen_on
       screen_off
       delay
       update_sound
       start_sound
       stop_sound
       sound_on
       sound_off
       sprites table
       update_sprites
       upload_ascii
       get_random

LIBRARY: GETPUT
  GETPUT
       cls
       get_char
       put_char
       center_string
       print_at
       pause
  GETPUT 1
       pause_delay
       rnd
       rnd_byte
       str
       show_picture
       screen_mode_2_bitmap
       screen_mode_2_text
       upload_default_ascii
       paper
       load_color
       load_namerle
       load_patternrle
       load_spatternrle
       change_pattern
       change_spattern
       change_color
       fill_color
       change_multicolor
       change_multicolor_pattern
       choice_keypad_1 and choice_keypad_2
       updatesprites
       sprites_simple
       sprites_double
       sprites_8x8
       sprites_16x16
       Set of "AND" masks for the joystick: UP, DOWN, LEFT, RIGHT and FIREs
       wipe_off_down
       wipe_off_up
  DSound library
       play_dsound
  C library
       memcpy
       sizeof

  GETPUT 1 - VIDEO MEMORY MAP
  Useful instructions
       memcpy
       sizeof

SHOW BITMAP PICTURE IN SCREEN MODE 2 WITHOUT GETPUT 1

SHOW BITMAP PICTURE IN SCREEN MODE 2 WITH GETPUT 1

FACES - SPRITES DEMO


REBOUND

  THE IDEA
  THE PROGRAM
  COMPILING
  STILL BUGY?
  CAN BE BETTER?

SMASH - A VIDEO GAME VERSION OF REBOUND
  PADDLE GRAPHIC
  THE PROGRAM

DEBUG EXERCISE
  A TEST PROGRAM TO DEBUG
  SOLUTION

ANNEXE - MORE TECHNICAL INFORMATIONS

HARDWARE SPECIFICATIONS

CARTRIDGE (ROM) HEADER

SOUND GENERATION HARDWARE

  TONE GENERATORS
  NOISE GENERATOR
  CONTROL REGISTERS
  SOUND DATA FORMATS
  NOTES TABLE CONVERSION: FREQUENCIES (Hz) <-> HEX values
  SCALES

VDP - VIDEO DISPLAY PROCESSOR
  REGISTERS
       Control registers
       Status register
  VDP register access
  NMI Non maskable interrupt
  Screen modes
       Mode 0
       Mode 1
       Mode 2
       Mode 3

COLOR PALETTE

COLECO ASCII TABLE

Have Fun! Remember, if you complete a game that makes you proud, Good Deal Games would love to feature it and help you publish the game for release.

Long live the Colecovision!





E-Mail: GOOD DEAL GAMES
GOOD DEAL GAMES HOMEPAGE

Copyright © 2003, GOOD DEAL GAMES