Title: "Beyond Games: Systems Software for your 6502"
Author: Ken Skier
Publisher: Byte Publications, 1981, 433 pages
This is a used book I purchased recently on ebay. There were many books on 6502 programming of this era but not many on tools to help writing and debugging programs, like machine language monitors and disassembler.
This book provides an introduction to 6502 machine and assembly language programming, and then quickly moves to specific programs, including:
- a "visible" machine language monitor
- two hex dump programs
- a disassembler
- a move utility
- a simple text editor
It describes the design of the programs and shows source code. In the appendices it provides complete assembler listings as well as binaries in the form of BASIC DATA statements than can be loaded into memory using a provided BASIC program.
The programs are mostly portable, and the author provides a set of interfaces or "data blocks" that adapt the code to run on the popular 6502-based systems of that era: the Ohio Scientific C-1P, Commodore PET 2001, Apple II, and Atari 800.
There is a brief chapter on each machine describing it's video memory layout.
I found it a very interesting and useful book, and intend to adapt some of the code to the Apple Replica 1.
Interestingly, the design of the table driven disassembler uses some of the same approaches that I used for the one I wrote recently.
Overall the code is clean, well documented, and clearly written. The author purposely avoided using tricks that would obscure the clarity of the code.
The book is long out of print but is available on sources for used books if you search hard enough for it.