Jim Butterfield first wrote machine language in 1964, on a Collins C8401 computer that belonged to a Canadian telecommunications company and cost, as he remembered it, a million and a half dollars. More than ten years later he bought a $250 KIM-1 board with a 6502 on it and found himself doing the same things again, “including making the same mistakes”. He spent the rest of his working life explaining those things to other people. From 1980 to 1985 his “Machine Language” column ran in COMPUTE!, his Brady book taught a generation of Commodore 64 owners, and people drove hundreds of miles to Toronto PET Users Group meetings, one profile said, “largely because of Jim Butterfield”.
Fast facts
- Born: 14 February 1936, Ponoka, Alberta.
- Day job: 24½ years at CN/CP Telecommunications in Toronto, until February 1981.
- Then: freelance writer, consultant and teacher, working from home near downtown Toronto.
- Column: “Machine Language” in COMPUTE!, from issue 3 (March/April 1980) to March 1985; an associate editor of the magazine.
- Book: Machine Language for the Commodore 64 and Other Commodore Computers (Brady, 1984; revised 1986).
- Programs: Supermon, TinyMon, Copy-All and UniCopy, all given away.
- Died: 29 June 2007, Toronto.
From radio to the KIM-1
Butterfield was born in western Canada. His first writing job there was as a “continuity writer” for a couple of radio stations: “That means I spent about a year of my life writing commercials.” He moved to Toronto and spent 24½ years with Canadian National/Canadian Pacific Telecommunications (CN/CP). His year programming the Collins in 1964 was his introduction to computers. FORTRAN and COBOL were coming into use, but the Collins used neither, so programmers did almost everything in machine language.
He moved on to other work in the company, and a little over ten years later started reading the new microcomputer magazines. The KIM-1, a ready-built single-board computer from MOS Technology, persuaded him to buy. By 1978 he was a co-author, with Stan Ockers and Eric Rehnke, of The First Book of KIM, a book of programs for the board that mail-order dealers were selling for $9.
What struck him most was not the hardware but the people. When every hobbyist built their own computer, he said, nobody could share anything. “Suddenly, along came the KIM. Everybody had the same computer. An amazing thing happened – and this is multiplied many times over in the Commodore line – people built a social life around microcomputers.”
The Toronto PET Users Group
That social life, in Toronto, was the Toronto PET Users Group (TPUG). Its founder, Lyman Duggan, had met Butterfield when a program he had typed in from a newsletter would not work, and found it had been written “by some chap from Toronto named Butterfield”. When Duggan invited his classmates from a BASIC course round to meet, Butterfield agreed to demonstrate some new programs. Accounts of that first meeting differ: Duggan remembered renting his condominium’s party room for 35 people, while a 1986 profile described eight PET owners in his apartment. Butterfield himself admitted to a “Machiavellian influence” in persuading Duggan to hold it.
He refused any organising role, but he spoke at the monthly meetings and ran a machine-language course each month for one of the club’s special-interest groups. Twenty of the 80 or so programs that seeded the club’s software library were his. By August 1982 TPUG had passed 2,000 members, and by 1986 it claimed 15,000 around the world. His approach to a mixed audience stayed the same throughout: “I’d rather bore ten experts than lose the bulk of the people, so I try to keep things fairly simple.”
COMPUTE! and the machine-language column
Butterfield was writing for COMPUTE! from its early issues. The February 1980 issue alone carried several of his pieces, including a list of ROM entry points and a look inside the 2040 disk drive. His “Machine Language” column began in issue 3 and ran for five years, through subjects such as “The Wonderful Wedge”, “Uncrashing”, “Numeric Output” and “Decimal Mode”, and he was listed on the masthead as an associate editor in Toronto. The last column, “Retrospective”, appeared in March 1985. In it he explained why he had taught machine language and not assembly language: a beginner needs to know where the program sits and how big it is, and an assembler at that stage is “extra clutter: a whole set of extra rules you must learn. Wait.” He also passed on a working method: plan on paper, “pretend you are the computer”, and test in modules with a BRK after each. “A computer is dumb and doesn’t know how to make mistakes,” he wrote. “It takes a programmer to do that.”
He kept writing for the magazine after the column ended, including a “Commodore 128 Machine Language” series in 1986–87. His articles also went deep into the hardware. In July 1983 he explained, step by step, how the VIC-20 and C64 serial bus moves data to the disk drive. Richard Mansfield’s Machine Language for Beginners (COMPUTE! Books) thanked him “for his maps, programs, and constant encouragement to everyone who decides to learn 6502 machine language programming”, and a 1986 profile called his memory maps “invaluable guides for programmers”.
He wrote the way he spoke. “I try to write it as I would say it,” he told TORPET, the Toronto club’s magazine, in 1982. “Also, whenever I can I slip in a simple example program. Then even if the readers can’t understand what I mean, they can run the programs.” When several people phoned with the same question, he took it as a sign that it was time for an article.
The book
Machine Language for the Commodore 64 and Other Commodore Computers was published by Brady in 1984. Its cover says it was based on “the author’s own intense machine language seminars”. It sticks to machine language rather than assembly for the same reason as the column: “I prefer to see the student forming an idea of how the bytes of the program lie within memory.” It covers the PET, VIC-20, C64 and Plus/4 side by side, and it records his view that the origin of Commodore’s spelling of kernal “seems to be lost in legend”. A revised and expanded edition in 1986 added the Commodore 128.
Supermon and the giveaways
Supermon was a machine-language monitor for the PET that COMPUTE! said many programmers considered “the essential tool”: it added a disassembler, a simple assembler, memory hunt and single-stepping to the basic monitor in the ROM. It was a joint effort, and its own credits said so. In the version COMPUTE! printed in December 1981, which it called “the legendary Supermon”, the credits read: disassembler “by Wozniak/Baum”, single step “by Jim Russo”, “most other stuff” by Bill Seiler, and “tidied & wrapped by Jim Butterfield”. His Brady book carried a do-it-yourself Supermon for the C64 as a BASIC program of DATA statements, with a warning: “Enter this program (it will take you hours).”
He gave nearly all his programs away. “I would like to foster an environment where people pass out their software with reasonable generosity,” he said in 1982. By 1986 the only one of his programs on sale was SpellPro, a spelling checker for WordPro; asked why he did not sell the others, he said it saved trouble: “If someone complains, I offer to give him his money back!” He was not against paid software. A person who sells a program, he argued, “acquires an obligation to support the program” with upgrades, warranty and documentation.
Speaking for Commodore
Commodore often sent him to speak for it. He did what he called “light consulting”, toured western Canada promoting the VIC-20 in 1982, and spoke at shows including the PET Show in London that June. At the January 1984 Consumer Electronics Show, Michael Tomczyk recalled, Commodore gave him a small stage in the middle of its booth to demonstrate the new 264 series, the machines that became the Plus/4. Commercial authors used his name, too. He wrote the manual for Brad Templeton’s POWER toolkit for the PET; Templeton said later that “his name on the manual helped sell the product as much as mine did.”
Later life
Butterfield met his wife, Vicki, at work; their daughter Susannah was born in 1988, when he was 52. He died of cancer in Toronto on 29 June 2007, aged 71. Brad Templeton, whose POWER manual he had written, wrote that he had “a sense of humour, charm and love that is rarely found in a technical guru”.
Sources
- Gail Hook, “Getting Acquainted with Jim Butterfield”, TORPET, September 1982, pp. 4–5: CN/CP career, the Collins C8401, the KIM-1, radio writing, the February 1981 career change, the monthly machine-language course, TPUG’s 2,000 members, the “Machiavellian influence”, “bore ten experts”, his writing method, giving software away, software support, VIC tour and the London PET Show.
- Gail Hook, “Meet Jim Butterfield”, COMPUTE! issue 28, September 1982, pp. 45–46: the same profile, confirming his CN/CP career, 1964 on the Collins, the KIM-1, “people built a social life around microcomputers”, TPUG’s first meeting and “bore ten experts”.
- Lyman Duggan, “TPUG’s Founding Father”, TORPET, September 1982, p. 3: typing in Butterfield’s program, the BASIC course and the first meeting.
- Gail Hook, “Jim Butterfield: The Guru of Commodore Computing”, RUN, October 1986, pp. 82–85: 25-year CN/CP career left in February 1981; representing Commodore at shows; TPUG’s first meeting and 15,000 members; 20 of the first 80-odd library programs; SuperMon, TinyMon, Copy-All, UniCopy and SpellPro; memory maps; “drove hundreds of miles”.
- MICRO issue 8, December 1978: The Think Tank advertisement for The First Book of KIM “by Butterfield, Ockers, & Rehnke”, $9.00.
- COMPUTE! issue 2, February 1980, contents page: articles by Butterfield.
- COMPUTE! issue 19, December 1981, masthead (Associate Editor, Toronto) and p. 434 onwards: “Supermon: A Primary Tool For Machine Language Programming”, with the Supermon credits.
- COMPUTE! contents pages, 1980–1987: “Machine Language” column titles; “Commodore 128 Machine Language” series, September 1986 to January 1987.
- Jim Butterfield, “How The VIC/64 Serial Bus Works”, COMPUTE! issue 38, July 1983, pp. 178–180.
- Jim Butterfield, “Machine Language: Retrospective”, COMPUTE! issue 58, March 1985, pp. 113–114: the column’s end, machine versus assembly language, working method.
- COMPUTE! issue 19, December 1981: Professional Software advertisement for POWER, “sold complete with a full operator’s manual written by Jim Butterfield”.
- Jim Butterfield, Machine Language for the Commodore 64 and Other Commodore Computers (Brady, 1984): cover text, preface, pp. 24–25 (the kernal), appendix H pp. 237–238 (Supermon).
- Jim Butterfield, Machine Language for the Commodore 64, 128, and Other Commodore Computers, revised and expanded edition (Brady/Prentice Hall Press, 1986): title page.
- Richard Mansfield, Machine Language for Beginners (COMPUTE! Books, 1983): acknowledgements.
- Michael S. Tomczyk, The Home Computer Wars (COMPUTE! Publications, 1984): the January 1984 CES and the 264 series.
- Brad Templeton, “RIP Jim Butterfield”, Brad Ideas, 18 July 2007 (web, secondary): TPUG, the POWER manual, death on 29 June, the quotation about his character. https://ideas.4brad.com/rip-jim-butterfield
- Diane McKelvey, “Frank James (Jim) Butterfield”, The Globe and Mail, 28 August 2007 (web, secondary): moved to Toronto in 1962; meeting Vicki at work; daughter born 1988. https://www.theglobeandmail.com/life/frank-james-jim-butterfield/article4107720/
- Mike Todd, “Jim Butterfield (1936-2007)”, July 2007 (web, secondary): born 14 February 1936 in Ponoka, Alberta; died in Toronto on 29 June 2007. https://www.miketodd.net/other/jim/index.htm