Quote Originally Posted by Aswald
That's more or less how I programmed several games on the Vic-20 and Commodore 64; Tunelayer was an early effort.

The version of Island of Foxes that I will program has been revised using (most) of the methods you mentioned, including the "where-is-the-thing-I-found"

*Origin is 10 West; 4 South.
*Woora is 7 East; 5 North.

and a couple of changes in the dangers you face in mazes, as well as the addition of the Mist-Marshes and Mirawrans within.

The line-maze (1-dimensional maze) method is the best though- you can easily fit a 16X16 maze on a string of 256 Bytes, just as if you were only storing 256 numbers somewhere- it's a great memory-saver, allows you to put these things in places where you couldn't normally fit them, and allows you to use any number for up and down movement (such as 32 on a Commodore 64, instead of 40!). Yae!

The problem I'm having here is that I don't even have anything with which I CAN program a ColecoVision game. Most emulators I cannot get running here. I've found nothing that allows one to type in a program as if one was programming on a ColecoVision. It's like my current problem with the Commodore 64: I don't have one with which to program. Even most of your tools will not run here.

And I don't know how to program for a ColecoVision- only IBMs and Commodore computers. I have had no luck finding manuals anywhere. Not even on-line. Nothing.
Before programming a ColecoVision project you must learn about the "limits" of this game system.

ROM :
The binary code in the cartridge is named ROM because it's a read-only memory. The memory address (for the game) start at 8000. Today, we have no cash problem to use big memory capacity so we try to use all the 32K available : 8000 - FFFF. At 8000, there is a header. The header start with 55 AA or AA 55. The Coleco bios try to read this code to check if the cartridge is correctly inserted. After this 2 bytes, there are hex values in the header to say where start the game, what to do if there is an interrupt (ex. : rst 08h, NMI), etc...
By using the Coleco library by Marcel de Kogel, you don't have to worry about the header already compiled into the crtcv.obj file.

RAM :
The RAM is a bit weird. only 1K RAM (with a copy of himself at another memory location) and this RAM is not fully available. The Coleco bios routines use some parts of the RAM at specific memory locations. This is important to know to avoid memory corruption by using too big tables in RAM. Normally, a classic arcade game project will have no RAM space problem.