Commodore

Annotated Bibliography

Richard Mansfield

This is a bibliographic list of all articles by Richard Mansfield currently catalogued by the Commodore 8-Bit Magazine Index and readable on archive.org. There are currently 52 articles in the index; this list is incomplete.

The Screen Squeeze Fix for CBM 8000
Compute!, Issue 8, Volume 3, No. 1, January 1981, p. 92.
Routine to intercept POKEs to a 40-column screen and direct them to appropriate memory locations on an 80-column screen. Includes source code.
Machine Language for Beginners: A Hidden World
Compute!'s Gazette, Issue 1, Volume 1, No. 1, July 1983, p. 84.
Discussion of speed differences between the BASIC interpreter and pure machine language.
Machine Language for Beginners: The Easy Way
Compute!'s Gazette, Issue 2, Volume 1, No. 2, August 1983, p. 77.
RAMtest, a simple machine language program for VIC-20 and 64.
Machine Language for Beginners: Disassembling
Compute!'s Gazette, Issue 3, Volume 1, No. 3, September 1983, p. 44.
Includes a disassembler for VIC-20 and 64.
How to Use Tape and Disk Files
Compute!'s Gazette, Issue 4, Volume 1, No. 4, October 1983, p. 118.
A tutorial on the BASIC commands OPEN, CLOSE, PRINT#, INPUT#, and GET#.
Machine Language for Beginners: Windows and Pages
Compute!'s Gazette, Issue 4, Volume 1, No. 4, October 1983, p. 112.
A look at memory "pages" as seen by the 6502.
Machine Language for Beginners: The Assembler
Compute!'s Gazette, Issue 5, Volume 1, No. 5, November 1983, p. 164.
Includes a type-in assembler program.
Machine Language for Beginners: Safe Places
Compute!'s Gazette, Issue 6, Volume 1, No. 6, December 1983, p. 154.
Outlines good locations in RAM for machine-language programs.
Machine Language for Beginners: Addressing
Compute!'s Gazette, Issue 7, Volume 2, No. 1, January 1984, p. 150.
Addressing modes on the 6502. Includes sample source code.
Machine Language for Beginners: Tapping into BASIC
Compute!'s Gazette, Issue 8, Volume 2, No. 2, February 1984, p. 129.
Calling BASIC ROM routines from machine language. Includes source code example that calls RND().
Machine Language for Beginners: Double Decker
Compute!'s Gazette, Issue 9, Volume 2, No. 3, March 1984, p. 90.
Topics: 16-bit address pointers, reading keyboard and paddles. Includes source code.
Machine Language for Beginners: Talking to a Disk
Compute!'s Gazette, Issue 10, Volume 2, No. 4, April 1984, p. 116.
The example program Slist streams a partial BASIC listing from disk without loading the program. Includes source code.
Machine Language for Beginners: Mods and Bombs
Compute!'s Gazette, Issue 11, Volume 2, No. 5, May 1984, p. 104.
Topics: branching, timing, reading input, and animation. Includes source code for a "fire bomb" game routine.
Machine Language for Beginners: Indirect Addressing
Compute!'s Gazette, Issue 12, Volume 2, No. 6, June 1984, p. 114.
Explanation of Indirect Indexed addressing (also called Indirect Y addressing). Includes source code examples.
Machine Language for Beginners: What is Machine Language?
Compute!'s Gazette, Issue 13, Volume 2, No. 7, July 1984, p. 94.
A mostly non-technical overview of machine language and assemblers.
Machine Language for Beginners: ML Mailbag
Compute!'s Gazette, Issue 14, Volume 2, No. 8, August 1984, p. 104.
Topics: auto-running programs and data tables in assembly language.
Machine Language for Beginners: First Questions
Compute!'s Gazette, Issue 15, Volume 2, No. 9, September 1984, p. 122.
Topics: how a machine-language program is written in assembler, time required to assemble source code, running machine-language programs, and passing numbers from machine-language to BASIC.
Machine Language for Beginners: Loops and Branches
Compute!'s Gazette, Issue 16, Volume 2, No. 10, October 1984, p. 120.
Simple assembly-language program to print a string to the screen. Discusses assembler comments, pseudo-ops, and labels. Includes source code.
Machine Language for Beginners: Getting Started
Compute!'s Gazette, Issue 17, Volume 2, No. 11, November 1984, p. 116.
Getting acquainted with assemblers through a short example program for the VIC-20 or 64. A type-in assembler written in BASIC accompanies the article.
Machine Language for Beginners – Customizing
Compute!'s Gazette, Issue 18, Volume 2, No. 12, December 1984, p. 108.
Fully-commented source code for a custom disk directory printer in machine language.
Machine Language for Beginners: ML Mailbag
Compute!'s Gazette, Issue 19, Volume 3, No. 1, January 1985, p. 115.
Answers to reader questions. Topics: using the Kernal, source code vs. object code, the LADS assembler, and machine-language equivalents to BASIC's IF, THEN, and GOTO.
Machine Language for Beginners: Self-Modifying Programs
Compute!'s Gazette, Issue 20, Volume 3, No. 2, February 1985, p. 98.
A demonstration of self-modifying code in machine language, used to reduce the number of instructions needed to clear the hi-res screen. Includes source code.
Machine Language for Beginners: Memory
Compute!'s Gazette, Issue 21, Volume 3, No. 3, March 1985, p. 103.
Explanation of bits and binary representations of bytes in memory.
Machine Language for Beginners: Customizing BASIC
Compute!'s Gazette, Issue 22, Volume 3, No. 4, April 1985, p. 101.
Illustration of the wedge technique of extending BASIC. Includes source code.
Machine Language for Beginners: Getting and Sending
Compute!'s Gazette, Issue 23, Volume 3, No. 5, May 1985, p. 106.
6502 addressing modes. Includes source code examples.
Machine Language for Beginners: ML Mailbag
Compute!'s Gazette, Issue 24, Volume 3, No. 6, June 1985, p. 86.
Topics: safe locations in RAM, generating DATA statements for BASIC loaders, checksums, disassembling memory that does not contain valid code, and using bytes in memory as variables.
Machine Language for Beginners: Welcome to the Nightmare
Compute!'s Gazette, Issue 25, Volume 3, No. 7, July 1985, p. 74.
Handling floating-point arithmetic in machine language. Includes source code.
Machine Language for Beginners: Crossing
Compute!'s Gazette, Issue 26, Volume 3, No. 8, August 1985, p. 44.
Making the transition from BASIC programming to machine language. Includes source code.
Machine Language for Beginners: From Machine Language to BASIC
Compute!'s Gazette, Issue 27, Volume 3, No. 9, September 1985, p. 77.
Machine language utility creates a BASIC DATA-statement loader from a region of memory. Includes source code.
Machine Language for Beginners: The Creature in Its Cage
Compute!'s Gazette, Issue 28, Volume 3, No. 10, October 1985, p. 116.
Walks through the development of a program that creates BASIC loaders from a machine language in RAM. Includes source code.
Machine Language for Beginners: ML Mailbag
Compute!'s Gazette, Issue 29, Volume 3, No. 11, November 1985, p. 111.
Topics: structure of a BASIC SYS machine-language program launcher, and an explanation of flags.
Machine Language for Beginners: ML Mailbag
Compute!'s Gazette, Issue 30, Volume 3, No. 12, December 1985, p. 129.
An explanation of machine language for novice readers.
Machine Language for Beginners: Blanketing Memory
Compute!'s Gazette, Issue 31, Volume 4, No. 1, January 1986, p. 68.
Memory fills in machine language. Includes source code.
Machine Language for Beginners: Exploring the 128's Monitor
Compute!'s Gazette, Issue 32, Volume 4, No. 2, February 1986, p. 65.
Overview of the features of the 128's built-in monitor.
Machine Language for Beginners: Machine Maps
Compute!'s Gazette, Issue 33, Volume 4, No. 3, March 1986, p. 70.
On memory maps, finding usable memory, and the development process in machine language.
Machine Language for Beginners: Cracking the Kernal
Compute!'s Gazette, Issue 34, Volume 4, No. 4, April 1986, p. 96.
A short machine language program takes advantage of the Kernal jump table to load a program from disk. Includes source code.
Machine Language for Beginners: By the Numbers
Compute!'s Gazette, Issue 35, Volume 4, No. 5, May 1986, p. 85.
Simple arithmetic in machine language. Includes source code.
Reviews: Algorhythmic Composer
Compute!'s Gazette, Issue 35, Volume 4, No. 5, May 1986, p. 58.
Review of Algorhythmic Composer from Dr. T's Music Software.
Machine Language for Beginners: More Math
Compute!'s Gazette, Issue 36, Volume 4, No. 6, June 1986, p. 91.
Topics: multiplication, division, and multi-byte arithmetic in machine language. Includes source code.
Machine Language for Beginners: Writing Games in Machine Language
Compute!'s Gazette, Issue 37, Volume 4, No. 7, July 1986, p. 85.
Lays out a simple animation routine in BASIC, to be converted to machine language in a future column.
Machine Language for Beginners: Turning a BASIC Arcade Game into Machine Language
Compute!'s Gazette, Issue 38, Volume 4, No. 8, August 1986, p. 61.
A BASIC routine that manages both player and computer movement is converted to its machine-language equivalent. Includes source code.
Machine Language for Beginners: An All Machine Language Game
Compute!'s Gazette, Issue 39, Volume 4, No. 9, September 1986, p. 79.
Develops a simple game in machine language. Includes source code.
Machine Language for Beginners: The First Steps
Compute!'s Gazette, Issue 40, Volume 4, No. 10, October 1986, p. 87.
Getting started with machine language. Includes source code.
A Gateway to Machine Language
Compute!'s Gazette, Issue 40, Volume 4, No. 10, October 1986, p. 90.
Reference guide of BASIC commands and their approximate machine-language equivalents. Includes source code.
Machine Language for Beginners: A Practical Program
Compute!'s Gazette, Issue 41, Volume 4, No. 11, November 1986, p. 72.
Explanation of a RAM test program for the 64 and 128. Includes source code.
Machine Language for Beginners: Customizing
Compute!'s Gazette, Issue 42, Volume 4, No. 12, December 1986, p. 76.
Customizing machine-language programs and creating patches. Includes source code.
Machine Language for Beginners: A Simple Magic
Compute!'s Gazette, Issue 43, Volume 5, No. 1, January 1987, p. 74.
The relationship between BASIC and machine language.
Machine Language for Beginners: ML Mailbag
Compute!'s Gazette, Issue 44, Volume 5, No. 2, February 1987, p. 89.
Answering questions from readers. Topics: a good example program for beginners, and the difference between a full assembler and a monitor. Includes source code.
Machine Language for Beginners: ML Mailbag
Compute!'s Gazette, Issue 45, Volume 5, No. 3, March 1987, p. 93.
Answering questions from readers: how to get started with machine language, and using the processor status flags. Includes source code.
Machine Language for Beginners: Between BASIC and Machine Language
Compute!'s Gazette, Issue 46, Volume 5, No. 4, April 1987, p. 80.
Building programs that are a hybrid of BASIC and machine language. Includes source code.
Machine Language for Beginners: Building Trampolines
Compute!'s Gazette, Issue 47, Volume 5, No. 5, May 1987, p. 82.
Building jump tables in machine language. Includes source code.
Machine Language for Beginners: Tools of the Trade
Compute!'s Gazette, Issue 48, Volume 5, No. 6, June 1987, p. 76.
Tools for machine language programmers: BASIC loaders, assemblers, monitors, and "unassemblers".

Dr. Myles L. Skinner is the “curator” of the CBM 8-Bit Magazine Index.