Download all these C=Hacking issues as a .zip file
C=Hacking is an electronic technical publication for the
Commodore 8-bit community, by the Commodore 8-bit community. The
subject matter covers a broad range of topics including software,
hardware, and other areas of interest to technically-minded
readers. Articles are contributed on a voluntary basis and
represent the cutting edge of Commodore 8-bit technical
developments from its most innovative and productive members.
The official homepage is located at jbrain.com.
For comments, or to contribute an article or article idea,
email the editor.
- Issue #01 February 1992
- Beginning ML -- Part 1, Craig Taylor.
Documented and undocumented opcodes
- Simple Hires Line Drawing Package for the C-128
80-Column Screen, Craig Bruce. Routines to move pixel/draw
line, activate graphics/clear screen, restore old character set,
desc. of some VDC registers, floating point numbers.
- Issue #02 April 1992
- Beginning ML -- Part 2, Craig Taylor. Indexed
- An in-depth look at the 8563 Video Chip on the C=
128, Craig Taylor. VDC schematics, register descriptions,
- FILE SPLIITER, Mark Lawrence. Turbo Pascal
code to split a file.
- Banking on GEOS, Robert Knop. Memory
management, programming under GEOS 128.
- DYNAMIC MEMORY ALLOCATION FOR THE 128: Breaking the 64K
barrier, Craig Bruce. Like the title says :). Includes
memory management kernal from ZED 128, sorting routine, etc.
- Issue #03 July 1992
- Learning ML -- Part 3, Craig Taylor. Kernal
routines, reading the directory, reading the error channel.
- The Demo Corner: Missing Cycles, Pasi 'Albert'
Ojala. Raster timings, bad lines, sprites, demonstration
- Kernal 64/128, Craig Taylor. Kernal routines,
listing and description.
- 64K VDC RAM and an alternate GEOS128 Background
Screen, Robert Knop. Programming GEOS128.
- GeoPaint File Format, Bruce Vrieling. Self
- Rasters: What They Are And How To Use Them,
Bruce Vrieling. Interrupts, rasters, example code.
- Bursting your 128: The Fastload Burst Command,
Craig Bruce. Programming 1571 and 1581 drives, bust code
- Issue #04 October 1992
- Learning ML -- Part 4, Craig Taylor.
Development of a Space Invaders game (for the 64 and 128), part 1.
Organization, custom characters (VIC and VDC), title screen,
debugging, memory considerations.
- FLI -- More Color To The Screen, Pasi Ojala.
VIC info, and of course an explanation of FLI graphics.
- RS-232 Converter, Warren Tustin. Build a
- Introduction to the VIC-II, Pasi Ojala. VIC
features and registers.
- LITTLE RED READER: MS-DOS file reader for the 128 and
1571/81 drives, Craig Bruce. Like the title says :) All
source included/explained or course.
- Issue #05 March 1993
- Mail Server Documentation, Craig Taylor.
- The Demo Corner: Stretching Sprites, Pasi
Ojala. How to trick VIC into making some very large sprites.
- Rob Hubbard's Music: Disassembled, Commented, and
Explained, Anthony McSweeny. Yet another self-explanatory
- ZPM3 and ZCCP Enhancements for CP/M Plus from Simeon
Cran, Randy Winchester. Nice BIOS and BDOS enhancements
for CP/M folks.
- Multitasking on the C=128 Part 1, Craig
Taylor. Description of a multitasking kernal for the 128.
- LITTLE READ READER: MS-DOS file reader/WRITER for the
C128 and 1571/81", Craig Bruce. Expanding the program with
the capability to write files.
- Issue #06 September 1993
- The Demo Corner: DYCP -- Horizontal Scrolling,
Pasi Ojala of course :). Making character go up and down as well as
right to left in scrolls, along with some awfully nice ASCII
- Opening the Borders, Pasi Ojala. How to remove
the borders: top, bottom, and sides. Good stuff.
- A Heavy-Duty Power Supply for the C=64, John
Andrews. Schematics etc. for building -- guess what? :) -- a heavy
duty power supply.
- LZW Compression, Bill Lucier. Another title to
make my job easy. Description+source.
- THREE-KEY ROLLOVER for the C=128 and C=64,
Craig Bruce. Modifying the KERNAL to use 3-key rollover (for you
fast typists); gets rid of port #1 extraneous input, too.
- Issue #07 February 1994
- Commodore Trivia Corner, Jim Brain.
- Internet Resources for the Commodore 64/128,
Craig Taylor. Intro to the internet; old ftp list.
- Hiding Kilobytes, Marko Mäkelä
Memory management and different memory configurations on the C=64,
and lots of subtobics: hiding underneath I/O, sitting in the stack,
- FLD -- Scrolling the screen, Mark Klampar.
Code to demonstrate FLD.
- Tech-tech -- More resolution to vertical
shift, Pasi Ojala. Cool.
- ACE 128/64 PROGRAMMER'S REFERENCE GUIDE, Craig
Bruce. Title explains it all.
- Issue #08 August 1994
- Trivia Corner, Jim Brain.
- RS232 Convertor, Walter Wickersham. Another
RS-232 interface for you to build.
- Programming the Commodore RAM Expansion Units
(REUs), Richard Hable. Description of REUs and how to
- A Different Perspective: Three Dimensional Graphics on
the C=64, Stephen Judd, George Taylor. Rotations,
projections, drawing lines, etc. and an awful lot of text and
crappily formatted code.
- DESIGN OF A 'REAL' OPERATING SYSTEM FOR THE 128: PART
I, Craig Bruce. Laying the groundwork for a new OS.
- Issue #09 January 1995
- Trivia Corner, Jim Brain.
- A Different Perspective, Part II, Stephen
Judd, George Taylor. Hidden faces, filled faces, mega-fast
multiply, and some reasonably formatted code.
- 2D Graphics Toolbox -- Circles, Stephen Judd.
An awfully neat circle drawing algorithm, if I do say so myself.
(See also issue 10 or 11).
- AFLI-specs v1.0, D'Arc/Topaz for Chief/Padua.
Build upon FLI to get even more colors.
- Coding Tricks, compiled from comp.sys.cbm.
Neat. Includes stable raster code.
- C.S. Bruce Interview, Craig Taylor. Neat.
- Aligning 1541 Drives, Ward Shrake. Lots of
- Issue #10 June 1995
(Craig Taylor's last issue!)
- Trivia, Jim Brain.
- BFLI -- New Graphics Modes 2, Pasi Ojala.
Another FLI spinoff trick.
- Making stable raster routines (C64 and
VIC-20), Marko Mäkelä How to make raster effects
exactly where you want them (and how to mask an NMI too! :)
- A Different Perspective, part III, by two old
bums. Neat-o line drawing enhancement, general polygon routine,
general hidden face removal, alternative filling method, and a
misplaced and important addendum to the Circle routine in issue
- Second SID Chip Installation, Mark Dickenson.
Add another SID to your setup.
- SOLVING LARGE SYSTEMS OF EQUATIONS ON A C64 WITHOUT
MEMORY, Alan Jones. "Quartersolve" routine.
- The World of IRC -- A new life for the
C64/128, Bill Lueck. What every 64 user should know about
- Swiftlink-232 Application Notes v1.0b, CMD
with source code by Craig Bruce. All about Swiftlink and how to
- Design and implementation of a simple/efficient
upload/download protocol, Craig Bruce. Pretty neat
protocol (FX) used by ACE.
- DESIGN AND IMPLEMENTATION OF A 'REAL' OPERATING SYSTEM
FOR THE 128: Part II, Craig Bruce. Further laying the
groundwork for a multitasking microkernal OS.
- Issue #11 December 1995
- Hi Tech Trickery: Sample Dither, George
Taylor. Dither a digital sample to gain higher resolution.
- Speed up RAMLink transfers with the Double-DMA
technique, Doug Cotton. Super-fast RAMlink
- The Graphics Toolbox: Ellipses, Stephen L.
Judd. Follow-up to the circle drawing algorithm, logarithmic
- Design and Implementation of an Advanced Text
Editor, Craig Bruce. Design and implementation of the very
powerful ZED text editor used with ACE.
- Hacking Graphics: Let's get graphical, Rick
Mosdell. Hires file formats: DOODLE!, Koala.
- Errata, fixes for 2nd SID chip and linear
- Issue #12 March 1996
- RUN64: Moving to 64 Mode, Doug Cotton. How to
switch from 128 mode to 64 mode (and expect it to work on just
about any machine).
- Polygonamy: A Study in Three Dimensions,
Stephen L. Judd. High speed 3D virtual worlds for the 64. (Binary
- Underneath the hood of the SuperCPU, Jim
Brain. Description and details of the SuperCPU.
- Talking to TED: The MOS 7360/8360 Display
IC's, Levente Harsfalvi. Programming TED on the +4 and
C-16 (reg. desc., etc.)
- Issue #13 July 1996
- HEAVY MATH -- Part 0: History, Arithemtic, and Simple
Algorithms, Alan Jones. History, introduction, etc.
- OS/A65 -- A Multitasking/Multithreading Operating
System for 6502 Computers", Andre Fachat. Design and
- Using UQWK with QWKRR128, Gaelyne Moranec.
- Brad Templeton: The Programmer's Friend, by
Jim Lawless. An interview with Brad Templeton.
- Dim4: A Mind-Expanding Experience, Stephen L.
Judd. 4D graphics from a 4k contest. See above for source (all 115k
of it) and executables (all 4k of it :).
- Exploiting the 65C816S CPU, Jim Brain.
Description of chip design, regs, addressing modes, etc. and some
SuperCPU programming info.
- Using HTML on the Commodore, Part 1, Jim
Brain. Introduction to HTML and description of an HTML viewer for
- Creating 3D Dungeon Crawls, Todd Elliott. How
to do 3D dungeons a-la Bard's Tale.
- The Error Channel, updates to Double-DMA
article, TED programming, extra Polygonamy info.
- Issue #14 November 1996
- The Commodore Telnet BBS, Bo Zimmerman. Make
your C= telnettable.
- Menu Toolbox III, Jeff Jones. User interface
subroutines: menus, disk io, etc.
- The CMD Nirvana: The Guts and Glory, Todd
Elliott. Todd's souped-up 128D.
- Jim Butterfield: The Commodore Guru - An
Interview, Jim Lawless.
- Hi Tech Trickery, Alan Jones. More
descriptions of Linear Programming.
- Hacking BASICs, Richard T. Cunningham.
Detecting drives and selective goto in BASIC.
- Twiddling the Bits, Ward Shrake. VIC-20
cartridge exploration and archiving.
- Issue #15 April 1998
(Jim Brain's last issue!)
- Click to Mode Switch: The 40-80 Mouse switch,
Michael Nausch. Hardware mouse mod, mollifying monitor
- The Canonical List of Commodore Produced
Products, Jim Brain. v2.0
- Scott Ballantyne : Blazing into Forth, Jim
Lawless. Interview with author of Blazin' FORTH.
- Technical Information on the VIC-20, Ward
Shrake. Pinouts and technical notes.
- Hacking BASICs, Dick Cunningham. BASIC tips on
- Twiddling the Bits, Frank Kontros. Update of
the DataPump UART project.
- Issue #16 April 1998
(S. Judd's 1st issue)
- PAL VIC20 goes NTSC, by Timo Raita and Pasi
'Albert' Ojala. How to turn your PAL VIC20 into an NTSC VIC20.
- Starfields, S. Judd. Making simple hires
- Milestones of C64 Data Compression, by Pontus
Berg. A short history of data compression on the 64.
- Compression Basics, by Pasi Ojala. Part one of
a two-part article on data compression, giving an introduction to
and overview of data compression and related issues.
- 3D for the Masses: Cool World and the 3D
Library, S. Judd. The mother of all 3D articles.
- Issue #17 November 1998
- SuperCPU software repair, by S. Judd.
- Pucrunch, part 2, by Pasi Ojala. Continuation
of article in issue 16. Discussion of pucrunch compression and
decompression methods and code.
- VIC20 Disassembly Project, by Richard Cini.
First part of a complete ROM disassembly.
- NTSC/PAL-fixing, part 1, Russel Reed, Robin
Harbron, S. Judd. Robin and Steve fix a demo.
- The Herd Mentality, Bil Herd. Lusty stories
regaling the design and development of the C128.
- Issue #18 July 1999
- Data Structures 101, by Pasi Ojala and S.
Judd. Linked lists and a nifty insertion sort.
- Counting Sort, Pasi Ojala. Discussion of the
- VIC20 Disassembly Project, by Richard Cini.
Part II: Interrupts.
- GeoWrite128 disassembly notes, Todd Elliot.
Discussion of GEOS, Todd's patches to geoWrite128 to work with more
modern setups, and list of major geoWrite routines and entry
- NTSC/PAL-fixing, part 2: FLI and IFLI, Russel
Reed, Robin Harbron, S. Judd. Interactive tutorial on fixing FLI
and IFLI graphics.
- Obj3d: The 3D object library, S. Judd.
Discussion of obj3d routines and example programs.
- Issue #19 May 2000
- Burst fastloader for the C64, by Pasi Ojala.
Hardware modification and code for burst-loading on a 64.
- 8000's User Port and Centronics Printers, by
Ken Ross. The PET 8000's user port, and how to use it to drive
- Sex, lies, and microkernal-based 65816 native OSes,
part 1, by Jolse Maginnis. OS design in general and JOS
design in detail.
- VIC20 Disassembly Project, by Richard Cini.
Part III: Interrupts, continued (UDTIM, SCNKEY, etc.)
- Decoding JPEGs, by S. Judd. Description of
JPEG decoding process, especially IDCT.
- Bringing 'true-color' images to the 64, by
Adrian Gonzalez. Floyd-Steinberg dithering and the IFLI renderer
used in JPZ.
- Issue #20 April 2001
- Super/Turbo CPU VDC Hack, Henry Sopko.
Hardware mod to access the VDC using a SuperCPU64 or TurboCPU.
- 16K Memory Expansion for the VIC-20, Per
Olofsson. Hardware mod to add memory to the VIC-20.
- "Quick Quadratic Splines", S. Judd. Algorithms
to add curves and animations to programs.
- VIC-20 Kernal ROM Disassembly Project,
Richard Cini. Part IV: device I/O routines.
- MODs and Digital Mixing, Jolse Maginnis. How
to play MODs on a 64.
- The C64 Digi, Robin Harbron, Levente
Hársfalvi, Stephen Judd. Playing digis on the 64: theory,
SID internals, $d418 digis, and Pulse Width Modulation.
- ADDENDUM: After releasing the issue, Levente
came up with a brilliant idea for playing high-resolution digis on
a stock machine, using PWM.
- Issue #21 Februar 2002
- Pulse Width Modulation, continued,
Various. Tying up some loose ends.
- Introducing Full-Screen IFLI Mode With a SuperCPU,
Todd Elliot. Making those first three columns with FLI available.
- VIC-20 Kernal Disassembly Project, Part IV,
Richard Cini. Making sense out of the tape drive code.
- The Art of the Minigame, various. Six articles
discussing and disassembling some nifty minigames:
- Codebreaker, by David Holz
- TinyPlay, by S. Judd
- MagerTris, by Per Olofsson
- Compressing Tiny Programs, by S. Judd
- Tinyrinth, by Mark Seelye
- Tetrattack!, by S. Judd
disC=overy magazine - For the Commodore 8-bits
Download all these disC=overy issues as a .zip file
- Issue #1
- Explorations on IFLI, Adrian Gonzales, Mike
Gordillo. Interview with Adrian; IFLI info.
- TRI-FLI : A new video mode 'abrewing?,
George Taylor, Mike Gordillo. Interview with George; TRI-FLI
- Heaven in the net; an unedited excerpt of IRC on
#c-64, misc. Like the title says. Discussion of FLD, FLI,
VSP, and other VIC related acronyms.
- A complete dissection of Gfx-Zone, XmikeX.
Source and explanation of Gfx-Zone.
- A Beginner's Guide to the JCH Editor V2.53, NewPlayer
V14.G0, Sean M. Pappalardo (Pegasus/RPG). Read the title
- An inside look at MODplay 128, Nate
Dannenberg, Mike Gordillo. Interview with Nate about his modplayer
for the 128.
- Some preliminary data on VDC timing, Stephen
L. Judd. Get a feeling for VDC timing.
- Software analysis and reconstructive therapy: a
historical view on 'cracking', Pontus Berg. History,
overview, and tips.
- A quick overview of CP/M, Mike Gordillo. How
to add VGA graphics to your 64 (actually, I think the title
- The BIOS-R62a/ZPM3/ZCCP Commodore 128 CP/M 3.0+
Upgrade Package and a bunch load of utilities!, Mike
Gordillo. BIOS upgrade and useful CP/M utilities.
- BEYOND STEREO: The POWER-SID Model 2400,
Shaun Halstead. Preview of 8-SID sound board.
- The 8-bit Modplay 128 board, Nate
Dannenberg. 4-voice stereo 8-bit DAC circuit to plug into your
- Upgrading your C128's VDC memory to 64K,
- The Metal Shop, Mike Eglestone. Hardware
- Issue #2
- Innovation in the 90s: The Super Hi-Res FLI
Technique, Rolad Toegel, Count Zero. Even more colors and
- Scrollies exposed: A look at simple scroll-text
routines, XmikeX, Asger Alstrup. Scroll code, rasters,
- The Raster Starter-Kit, XmikeX, code by
Dokken. Code to demonstrate raster interrupts.
- Heaven in the net: An unedited excerpt of IRC on
#c-64, Mike Gordillo. Stable interrupts, character
- A Demo of 'disC=overy' -- The exploration of
rotation, John Kaiser (Waveform). 2D rotations, lines,
- SID primer: The Working Man's Guide To SID,
Stephen L. Judd. SID basics.
- Progenitor of the SID: An Interview with Bob
Yannes, Andreas Varga. An interview with the SID
designer, with more technical SID information than you can shake a
phase accumulating oscillator at.
- Z80: The basics of it, Raver/Phantasy.
Overview and description of the Z80.
- Charger up! The VIC-20 to Atari 2600 'Ram Cartridge'
Programmer, Ravid Noam. Hardware project.
- The 8-bit Modplay board, a three-diode
addition, Nate Dannenberg. Update to issue #1 DAC
- The Virtual Plus/4: Upgrading your C16 to 64
Kilobytes, Martin Gierich. Hardware project.
- Continued Lt. Kernal Hard Drive Support, Ron
Fick. Where to find support for your Lt. Kernal.
- The Metal Shop, Mike Eglestone. SFD and 1581
problems, reading Apple ][ disks on a 64, SuperCPU 128, VIC-20
- Errata. Corrections to Gfx-Zone and JCH
editor articles; VDC timing code which actually works; Pontus
Berg's email address.
- Issue #3
- Rommaging around : $A480-$A856, Stephen
Judd. Disassembly and discussion of the BASIC intrepeter, and
- A Closer Look at the VIC II's Output, Adrian
Gonzalez and George Taylor. Description of television standards and
C64 signal output.
- Innovation in the 90s : Revisiting The Super Hi-Res
Flexible Line Interpretation Technique. Commentary on
article from last issue.
- Defeating Digital Corrosion (AKA "Cracking") - A
beginner's guide to software archiving, Jan Lund Thomsen.
Description of tape protection methods.
- A possibility to be explored : Real Time Video with
the Ram Expansion Unit, Nate Dannenberg. Description of
- A look into 'The Fridge', Mike Gordillo.
Some cut and paste from the fridge.
- C128 CP/M, trailblazer in a jungle of
formats, Mike Gordillo. Description of/converting from
CP/M MFM disk format.
- The X-10 Powerhouse, What is it?, Dan
Barber. Description and schematics of X-10 controller.
- The Metal Shop, 'XmikeX', David Wood,
Marc-Jano Knopp and Daniel Krug. 16KB VIC expander DIP switches,
Apple ][ disk drives, SID protection circuit, fixing spontaneous
resets, RESTORE key capacitor, C64 black screen.