[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