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.
Filename | Description | |
---|---|---|
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 |
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.
as1600 -o program.rom -l program.lst program.asm
as1600 -o program.bin -l program.lst program.asm
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]