SDK-1600

Software Developers Kit for the Intellivision Video Game System

This directory tree contains a number of example programs and library routines. Many of the routines (especially those under "library") may be useful in your own programs. All of these routines are part of SDK-1600.

All of these programs and routines are being made available to you under the GNU General Public License. Please read the file "COPYING.txt" in the top-level directory for details.

FilenameDescription
library Library-related routines:
 prnum32.asm Prints 32-bit numbers (requires prnum16)
 prnum16.asm Prints 16-bit numbers
 dividivu.asm Signed and unsigned divide
 fastdivu.asm Unsigned divide only (untested!)
 dist_fast.asm Fast Euclidean distance estimation
 fillmem.asm FILLMEM, FILLZERO and CLRSCR routines
 gimini.asm Various constants and masks useful for Intellivision
 hexdisp.asm Prints numbers in hex. HEX16 thru HEX4 and HEX12M thru HEX4M routines.
 hex16.asm HEX16 routine alone
 ic_banksw.asm Intellicart bank-switching support routines
 memcmp.asm MEMCMP routine
 memcpy.asm MEMCPY routine
 memset.asm MEMSET routine (similar to FILLMEM)
 memunpk.asm MEMUNPK routine
 print.asm PRINT.xxx string display routines
 rand.asm RAND random number generation routine
 sqrt.asm SQRT square-root routine
 colorsq.asm Baseline colored-squares routines
 colorsq_sv.asm PUTPIXELS/GETPIXELS wrappers on PUTPIXEL/GETPIXEL
 colorsq_clip.asm Clipping versions of PUTPIXELS/GETPIXELS
task Event-driven Multitasking routines
 README.txt Describes the tasking model
 taskq.asm Task-queue routines
 timer.asm Timer-based task routines
 scanhand.asm Hand-controller scanning / event generation
 sleep.asm SLEEP/SPAWN advanced timer task functions
hello Simplest of simple: Hello world!
 README.txt
 hello.asm
world Spinning World demo. This illustrates one way to deal with cartridges that are larger than 8K.
 README.txt
 world.asm
mazedemo My original Maze-Demo, corrected to run on a real Intellivision.
 README.txt
 mazedemo.asm
bncpix My original Bouncing Pixels demo, corrected to run on a real Intellivision.
 README.txt
 bncpix.asm
life A turbo-charged implementation of John Conway's "Life" in colored-squares mode.
 README.txt
 life.asm
gram_scroll Scrolls a grid w/8-pixel spacing by sequencing GRAM, instead of using the horizontal/vertical delay registers.
 README.txt
 gram_scroll.asm
gram_scroll2 Same as GRAM scroll 1, except the lines are 16 pixels apart.
 README.txt
 gram_scroll2.asm
handdemo Demonstrates how to use RUNQ/SCANHAND to read the hand controllers.
 README.txt
 handdemo.asm
balls1 Psycho Balls: Illustrates MOB movement and MOB interaction with an odd little demo.
 README.txt
 balls1.asm
balls2 Psycho Balls rewritten to take advantage of the task-queue and timer task model.
 README.txt
 balls2.asm
tagalong Tag-Along Todd -- Illustrates hand controller input and rudimetary AI on a timer-task.
 README.txt
 tagalong.asm
tagalong2 Tag-Along Todd #2: Extends Tag-Along Todd #1 into a fullly playable game.
 README.txt
 tagalong2.asm
 tagalong2b.asm
bankdemo Simple Intellicart bank-switching demo
 README.txt
 bankdemo.asm
bankworld Adaptation of the Spinning World demo to use Intellicart bank-switching
 README.txt
 bankworld.asm
csumexec Simple demo that identifies which variant of the Intellivision it's running on by checksumming the EXEC and other ROMs in the system.
 README.txt
 csumexec.asm
mob_test Moving OBject tester. This demo allows you to move the various MOBs around and play with their attributes.
 README.txt
 mob_test.asm
mem_test Intellicart-specific Memory Tester.
 README.txt
 mem_test.asm
banktest Intellicart-specific Memory Tester with bankswitch support.
 README.txt
 banktest.asm
ecscable The ECScable Monitor and construction information
 README.txt
 ec_mon2.asm

How to build

Each of the demos can be build with a single 'as1600' commandline. The exact command used depends on your desired output format. The assembler selects the output format based on the file extension.

ROM FILE OUTPUT

    as1600 -o program.rom -l program.lst program.asm

BIN+CFG FILE OUTPUT

    as1600 -o program.bin -l program.lst program.asm

License

All of the programs in this tree are licensed under the GNU General Public License. The short description of the license is that you're allowed to incorporate pieces of this code in your own programs. The resulting program, though, can only be legally distributed under the GNU GPL. Please see the file "COPYING.txt" in the top-level directory for the legally binding details.

If you do not wish to be bound by the GPL, but would like to use some of this code in your game software, please contact me. We may be able to work something out.

-- Joseph Zbiciak [im14u2c AT primenet DOT com]




[Back]