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!
|