Skip to content

Codebase64

Putting scattered C64 programming knowledge in one place

Codebase64 is a contributor-written wiki of Commodore 64 programming articles, source code and technical references. Frantic set it up after discussions on CSDb in 2007, combining new contributions with preserved material from older magazines and websites.

A Commodore 64 programmer looking for a technique might find an explanation in an old text magazine, another on a personal website and the useful source code on somebody’s disk. Codebase64 set out to bring that material together in a wiki: a site whose contributors could add and connect explanations rather than leave each discovery in a separate place.

Its administrator Frantic describes the problem in the site’s history. Around 2007, older resources such as The Fridge were receiving fewer updates, C= Hacking had stopped appearing, and information was dispersed across websites and coders’ private collections. After discussion on CSDb, Frantic offered to establish a wiki. The start page dates its beginning to 2007.

Explanations beside the code

The wiki arranges material by subjects such as the 6502/6510 processor, the VIC graphics chip, SID sound, interrupts, mathematics, input/output and game coding. An article can supply a complete routine, explain a hardware peculiarity or compare ways to perform a job.

Bruce Clark’s “Practical Memory Move Routines”, preserved from 6502.org, is a useful example. It provides routines for copying blocks of memory in different directions and explains their input parameters. It also discusses the trade-off in replacing indirect addressing with self-modifying code: the inner copy can be faster, but the instructions being changed must reside in writable memory.

The point is not just that a routine is available to copy. The surrounding explanation tells a programmer what its parameters mean, how it handles a zero-length request and which assumptions an altered version would introduce.

Marko Mäkelä’s “Making stable raster routines” supplies another kind of detail. It explains why a display interrupt arriving at a regular point can still start its handler at a varying point: the processor is finishing instructions of different lengths. It then works through ways of removing the resulting jitter. That is the problem behind stable raster timing, explained by a programmer who investigated the hardware with Andreas Boose.

Keeping the original work recognisable

Codebase64 combines contributor-written wiki pages with material that was already a finished publication. Its start page asks contributors to preserve the original text of material in the magazine and book sections, placing changes outside it or in footnotes.

That distinction helps a reader follow attribution. A named programmer’s technical explanation, a later correction and a collaborative list of early demo effects are different kinds of evidence. A wiki page can hold them together without making them equally authoritative or giving them the same author.

The site is particularly useful beside the VIC-II reference and explanations of effects such as FLD, VSP and linecrunch. The paper describes a model of the chip; a wiki article may turn part of that understanding into a routine or a worked example. A community claim about who discovered an effect first still needs the original release and credits where those survive.

Moving the collection

Frantic’s history records a move to Count Zero’s server in early 2015 and a later domain move to codebase64.net. The wiki’s start page and its history provide a route into the surviving collection.

That history is part of the subject. Collecting explanations in one place does not remove the work of maintaining the place itself. Named contributors, retained texts, page revisions and continued hosting all help a programming reference remain usable after the computers’ original commercial market has gone.

Sources

Checked. Verified against primary sources and signed off by a person.