[Coco] Learning assembly for the Color Computer

Robert Gault robert.gault at att.net
Thu Apr 14 16:56:35 EDT 2016


I'll add a book to Bill's list. It may or may not be on the Internet for download.

"6809 Assembly Language Programming" by Lance A. Leventhal, Osborne/McGraw-Hill, 
1981, ISBN 0-931988-35-7

The platform on which you learn programming will make all the difference in the 
world. It will most likely be either a real Coco or an emulator, but the two 
real choices are for use under Basic or OS-9.
When you program for Basic, you have essentially no ability to easily interact 
with the hardware unless you carefully read the Unravelled series to find useful 
access points in the ROMs. Of course other books written for programming on the 
Coco will tell you about those access points.
When you program for OS-9 (NitrOS-9), it is easy to access all the hardware as 
OS-9 include drivers that provide I/O to the screen, disk, tape, printer, etc. 
The catch is that it is a much steeper learning curve required to learn to use 
OS-9 in addition to learning assembly language. :)

In short, you will need to do more or less the same thing you did to learn 
writing programs for Basic on the Coco. Write the simplest and shortest program 
you can think of, probably copying one you got from a magazine or book. Do that 
until it becomes second nature.
Eventually you will remember the structure required for ml programming and can 
easily lookup the op-codes needed. Continue and you will remember the codes 
themselves. They are all based on the limited number of registers contained in 
the 6809 and 6309 cpu.

Personally, I think using Disk EDTASM to learn programming for use with the 
Basic ROMs is the best route for a beginner. That's because the package contains 
an editor/assembler for writing and compiling code as well as Zbug. Zbug gives 
you direct access to memory where you can read the ROM code and test your own 
code. Zbug permits step-by-step progress through your code while watching what 
happens to the registers and memory.

Robert



More information about the Coco mailing list