2020: NameSpaces are going to be implemented this year to better separate content. OS-9 Al (talk) 11:18, 15 April 2020 (CDT)
2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)
Software Review: 80C disassembler
|Looking for CoCo help? If you are trying to do something with your old Color Computer, read this quick reference. Want to contribute to this wiki? Be sure to read this first. This CoCo wiki project was started on October 29, 2004. --OS-9 Al|
This page was last updated on 05/3/2019. Total Pages: 680. Total Files: 956.
The MICRO WORKS has come out with an outstanding disassembler which offers a major bonus of giving a very well put-together rundown of many of the interesting memory locations in the COLOR Computer's RAM and Basic ROM.
Available for $49.95 from The MICRO WORKS (P.O. Box 1110, Del Mar, CA, 92014) the 8OC can be used from the first moment it is loaded by a, rank amateur or can be sophisticated enough to perform all the intricate tasks the most experienced assembly language programmer might expect.
As we all know, it is violation of copyright law to provide ROM listings. But that does not prevent you from listing the ROM yourself in the COLOR Computer. You can do this, and much more with 8OC.
All you need to do is load The MICRO WORKS' 8OC with the CLOADM command and EXEC. The -first prompt you get is -for "Start address," which will tell the 8OC where you wish to begin your disassembly. The second prompt asks where you wish the process to end.
You can de-fault every prompt, and the 8OC will simply disassemble the entire Basic ROM. If you choose to do this (or any other disassembly) the process will be accomplished in two passes -- first to build a symbol table and second to output code. Pass one takes about 45 seconds for the ENTIRE Basic ROM!
You can control the speed of the code output, you can control where the output goes (screen, printer or both) and you can control the output's format.
This last is particularly Important. The MICRO WORKS let’s you specify what it calls "area options" for the 8OC. By listing a series of one-letter codes followed by address designations, the 8OC will format its printout to either program area (or machine code); data (FCB mnemonics); addresses (FDB mnemonics); text strings (FCC mnemonics); variables (RMB mnemonics ignored); or tables (alternating FOB and FCB).
By going through your code and studying the output, you should be able to distinguish which type of code is in which location. By specifying that code as something other than machine code, you will get a cleaner listing.
There are other commands, too, for relocating the symbol table and for an offset to which code can be found. These are not always necessary but can be useful.
You have an easy way to enter data in hexadecimal because 8OC only reads the last four digits you enter. Also, you can use the regular backspace/erase key. And, if you want to enter addresses in decimal, you just preceded them with a period.
The MICRO WORKS designed its 8OC for use with the COLOR Computer and that is nowhere more evident than in the output formats. The output fits easily into the 32-column screen and will also print out in 32-columns for use with narrow (read that Quick Printer II) printers. For the narrow version of the full format on the screen or printer, the listing is in two lines, but is easy to distinguish where one line begins and ends. For those with 8O-column printers, the 8OC lays the full format out on one line.
While the listing is being run, you can change listing modes to get different information. And when the listing is completed, the 8OC prompts "Restart where?", so it is simple to go back to a specific area of code.
The 8OC is a good disassembler and the manual is loaded with interesting information. It is obvious The MICRO WORKS has gone to a great deal of effort to make this a program for the COLOR Computer --not just to adapt something else for it. It is also easy to get into disassembly quickly and easily, and that helps build confidence in dealing with this entire (and often concussing) area of assembly language.