[Coladam] ADAM Assembly Programming

Ron Mitchell rm2892 at gmail.com
Sat Feb 18 00:39:22 CET 2012


Hi Kevin.

The short answer to your question is "yes you can".

But then you ask "How does one go about it...... ?"

The information is available. It's simply a case of finding it all and  
bringing your knowledge of assembly language programming or C  
programming or Pascal , or whatever, to the table. You then need to  
know the operating system setup to allow your allow your programs to  
make best use of the operating system functions that Coleco makes  
available.

There are more programming tools available on the CP/M side of the  
house than there are under ADAM's native operating system (EOS). There  
is, for example, Hi-TECH C which is now in the public domain, and  
available from

www.z80.eu/c-compiler.html

The same site also has the Aztec-C package verson 1.06.

Bringing these packages into the ADAM CP/M environment is a bit tricky  
but it can be done. I have the Aztec C package on a TDOS disk if  
you're interested.

The same applies to Pascal, Forth, or whatever other high level  
language you'd care to name. If there's a CP/M 80 version available,  
it can be imported into the ADAM environment. It's then a case of  
knowing what to do with it.

There are documents out there to help:

The Hacker's Guide to ADAM (volumes 1 and 2) by Peter and Ben Hinkle.  
This is for SmartBASIC users, but it gives a good picture of how the  
basic interpreter relates to the operating system, and provides some  
invaluable information about the EOS jump table and how to call the OS  
functions.

The EOS Programmer's Manual by Guy Cousineau:  I'm not sure anybody  
has scanned this book. I have a printed copy (which I intend to keep).  
However you might find others on this list who have a spare copy.

The SmartBASIC Disassembly Listing by Dr. Richard F. Drushel. I know  
he's got it up on the net here. Just can't find it at the moment.  
Perhaps he'll see this and set us both straight.

Finally there's a Colecovision development kit available from Daniel  
Bienvenu at:

ccjvq.com/newcoleco/

It's a package of tools and examples called 'NewColeco's Devkit (for  
Windows)'. Daniel's website is still under construction at the moment,  
but the DevKit is there.

In summary, you need to be completely familiar with how ADAM does  
business. It's essentially a case of loading your program into the  
transient program area (usually from 0100 HEX) upward for about 50k.  
That much is available to the user. The rest is occupied by page 0 and  
by the area of upper memory where the EOS lives. If you know the  
functions provided by EOS, you can save yourself a lot of work.

All of this comes from the "take my advice, I'm not using it"  
department. I'm roughly familiar with what needs to be done.  I've yet  
to do it.    Have managed to learn enough C to be dangerous. The rest  
of all this in on my to do list and has been there since 1986 - when I  
first asked the question that you're asking now.

Cheers

Ron Mitchell
on Canada's Wet Coast




On 17-Feb-12, at 11:17 AM, Kevin Powers wrote:

> How does one go about doing assembly programming (or Pascal or C or
> otherwise higher-end-than-BASIC/LOGO) programming on the ADAM?  Is it
> possible to access the more high-end graphics/sound functions of the
> ADAM (such as those used by cartridges or Super Game Packs) via BASIC
> or an assembler?
> _______________________________________________
> Coladam mailing list
> Coladam at adamcon.org
> http://adamcon.org/cgi-bin/mailman/listinfo/coladam



More information about the Coladam mailing list