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
- Codebase64, “Codebase64 History” (web, primary account by Frantic): motivation, CSDb discussion, establishment, 2015 server move and later domain move. https://codebase64.net/doku.php?id=history
- Codebase64, start page (web, primary site statement): 2007 start, subject organisation, contributor arrangements and preservation of previously published texts. https://codebase64.net/doku.php?id=start
- Bruce Clark, “Practical Memory Move Routines” (technical article, preserved from 6502.org): parameters, copying directions, zero-size behaviour and the self-modifying variant. https://codebase64.net/doku.php?id=base:practical_memory_move_routines
- Marko Mäkelä, “Making stable raster routines (C64 and VIC-20)” (technical article): collaboration with Andreas Boose, variable interrupt-entry timing and two stabilisation methods. https://codebase64.net/doku.php?id=interrupts:making_stable_raster_routines
- C= Hacking issue 21, 5 February 2002, and the magazine’s preserved issue list: the earlier publication’s run. http://www.ffd2.com/fridge/chacking/
- Maurice Al-Khaliedy (Moreez), C64 Reloaded, FrOSCon, August 2016, slide 81 (conference presentation): preserves the wiki’s then-current start page and its statement of a 2007 beginning. This is a contemporary record of the site’s own account, rather than an independent investigation of its founding. https://programm.froscon.org/2016/system/event_attachments/attachments/000/000/400/original/c64_reloaded_froscon2016.pdf