The Fridge
A code-storage facility
The re-source for Commodore-64 and 6502 programmers
"What one man can invent, another can discover."
-- Sherlock Holmes, The Adventure of the Dancing Men
Yoo-hoo Get this book:
"The Egoscue Method of Health Through Motion", by Pete Egoscue,
HarperPerennial, ISBN 0-06-092430-6
Face it: your soles wear unevenly, your shoulders are turned, your
hips misaligned, your torso twisted, your feet splayed out like a duck --
your posture is absolutely apalling. For Heaven's sake man, get this book
and get your body working the way it's supposed to.
Latest additions:
- 6/24/06 Slang v1.4 released.
- 6/03/06 Added mini.asm, aka
"Frantic Diamonds", a minigame by the ever ruling Oliver VieBrooks
(aka Six/DLoC), with tiny SID routines, block movement, and a bunch
of other stuff (aka... stuff).
- 3/05/2006 Slang v1.2 released: pointers,
utilities, upgrates, xlang windows binary, etc. etc.
- 1/21/2006 Slang v1.1 released, along with
new utilities (JoyMenu, SimpleIO) and revamped webpage.
- 11/20/2005 Slang version 1.0 has been released.
New updates, new demo program, new BBS, new mailing list -- check
it out!
- 6/11/2005 It's Slang again,
now with an optimizer!
- 5/21/2005 And another Slang and
xlang update -- bug fixes, new commands, good times for all.
- 4/17/2005 Another Slang update,
to beta 1.11, with a xlang update too.
- 3/21/2005 Gee golly, another update. There is now a cross-dev
version of slang, so you can write and compile Slang programs on
a PC.
- 1/4/2005 An update! I've been working for a while now on Slang,
a programming language for the C64, and am now making the betas
public. So, hop on over to the slang page and
check it out!
- 5/2/03 Another link: the mighty Wanderer's
homepage, with
great NTSC demos.
- 4/19/03 Signs of life... added a link to
www.neshq.com at webmaster's
request.
- 10/17 Added yar.asm -- source code
to the minigame Yar's Revenge, by Oliver VieBrooks.
- 9/18 Added minigame stuff -- rad source and
executable, tetrattack source, and xip.
- 7/18 Added link to ned, an ascii/petscii editor
for the SCPU which has been sitting there for a long time.
- 7/12/02 Added xip, a program for
compressing small (~1k) files.
- 6/29/02 Added commandcov.tune,
an Iseq cover of the Rob Hubbard tune Commando.
- 6/29/02 Added Ransid, a SID/tune analysis
tool.
- 5/31/02 Added Iseq, a new music composition
program for the C64.
- 5/2/02 Added fx, a simple program for playing
sound fx from basic and ml.
- 5/1/02 Well crud; the link to jammon4.2 was broken, but is now
fixed. Sorry about that!
- By golly, there's some activity here again.
Added v4.2 of jammon and v2.1 of
Sirius. And more on the way!
- 4/19/02 Fixed various Craig Bruce links.
- 2/11/02 And check out the
Hacking Exchange
while you're at it.
- 2/5/02 Wow, long time no update!
C=Hacking #21 released.
- 8/13 Added new tune
(rather, just remembered to add it) -- SYS 4102 to start.
- 7/28/01 Added odyssey, the
extraordinarily long delayed efnet coop demo.
- 6/23/01 scpu/superscr.zip -- A new
SuperCPU-fixed version of Stunt Car Racer.
- webhits for April -- check out
the increase when C=Hacking was released.
- 4/19/01 Added addendum (6-bit 16KHz digi player for STOCK machine!!!)
to bottom of C=Hacking page.
- 4/18/01 C=Hacking #20
released.
- 4/13/01 Added three tunes to the Tunesmith page.
- 3/15/01 Another old program that's been laying around:
grlib, a library of 2D hires graphics routines
(lines, circles, etc.) for assembly programs.
- 3/13/01 Believe it or not, the site has been
Added: v4.1 of jammon,
v2.0 of Sirius,
and some news.
- 9/1/00 Added new version of Jammon.
- 5/29 C=Hacking Issue #19
available (about time!).
- 5/29 Released Juddpeg source code.
- 5/1 For those who are curious and/or bored...
April stats for the site.
- 4/?? Added really simple jpx slideshow program.
- 4/11 For those who are curious and/or bored...
March stats for the site.
- 2/16 Added VIC-Article
- 2/11 Added 1541dis -- commented
disassembly of 1541 ROMs from Frank Kontros (text version is below);
also added C64 ROM disassembly and quasi-opcodes document.
- 1/30 Added Sirius v0.99
- 1/23/00 ffd2.com has moved. I enjoyed my old ISP, but they got
absorbed by a big ISP and the web pages moved to an ftp-only server.
So I am now with a new ISP, and the fact that you're reading this
means that you can now see the updates of the past month!
- 1/23/00 Added jammon v3.2 -- single stepping
now follows branches, JMP, RTS, etc. Also misc bug fixes.
- 1/23/00 Added Sirius 816 v0.9, a SuperCPU
assembler.
- 12/30/99 Added jammon v3.1 (misc bugfixes).
- 12/23/99 Added new (final) version of jpx/y/z/whatever.
- 12/14/99 Added jammon v3 -- incorporates
pppatch for 24-bit loading and saving, fixes bugs.
- 12/14/99 Added pppatch binary/source code
- Updated links.
- 12/8/99 Added improved IFLI viewer, snapshots.
- 12/1/99 Added IFLI jpeg viewer.
- 11/14/99 Added new version of El Cheapo
Assembler.
- 11/11/99 Yet another new version of jpx.
- 11/4/99 Added new version of jpx.
- 10/27/99 Updated link to
NES page
- 10/2/99 Added Jammon v2.2 which fixes up some
bugs and prints loading start/end addresses.
- 9/29/99 Added jpx, a jpeg viewer for
the C64.
- 9/8/99 Added Jammon v2.1, also fixed permissions
on 9/6/99 files!
- 9/6/99 Shamed into adding all the stuff sitting in my mailbox:
SuperCPU detection routine, FD2000 burstloader, SCPU depack,
IFLI display.
- 9/6/99 Added cbud program
to convert Buddy +/- symbols to El Cheapo local labels.
- 7/15/99 Added Mekka/Symposium
graphics (NTSC-fixed)
- 7/3/99 Added obj3d -- 3d object
library and lib3d version 2.0
- 7/3/99 Issue #18 available
here.
- 7/3/99 Updated links (www.6502.com, Geoff's Commodore Corner, etc.)
- 4/7/99 Added link to NES page
(65xx source and technical info)
- 3/21/99 Added link to SuperCPU home.
- 2/25/99 El Cheapo Assembler v1.1 -- fixes
a berry berry bad bug.
- 2/18/99 Added fastload.s code to
demonstrate burst loading (with SCPU too), by T. Elliot.
- 2/10/99 The Fridge has moved to ffd2.com!
- 2/10/99 Official release of El Cheapo Assembler
for the 65816/SCPU -- major upgrade over old beta version.
- 1/3/99 Added El Cheapo Assembler for the 65816/SCPU.
- 11/16/98 Added Tunesmith, major
update to the old Blahtune.
- 11/16/98 Added C=Hacking 17
- 10/29/98 Added Jammon
version 2.0
- 7/10/98 Added link to Craig Bruce's swiftlink library
- 7/1/98 Added Commodore Developer Pack
-- routines for burst loading, fast loading, and REU and mouse
routines.
About The Fridge
Just think about the millions of lines of code that have been written
for the 64: code for doing everything imaginable. And yet, most of it is lost
forever. Therefore most programmers have to continually rewrite things
from scratch -- instead of blazing forwards in a really nice car
the community is caught up in a wasteful excercise of continually
reinventing the wheel.
Hence The Fridge. Entropy does not favor low temeratures. The
goal is to have a large base of source code and technical resources
such as C=Hacking which programmers may draw upon for their own projects.
If you have some source code you think would be of interest to the
C= programming community, please send it on over (in ASCII format!).
The Fridge is maintined by the C= community, for the C= community,
so make the most of it!
Magazines
Rejuvenation
rOmZ
Text
- 6502-NMOS extra opcodes.
- random.txt Some notes and stats on the BASIC
RND generator, and random numbers in general.
- rand.1 Disassembly of BASIC RND routine.
- atari.compare A listing of the technical
features of the Atari 8-bit and C-64.
- spherical A short description of spherical
projections.
- spherical.2 A follow-on to the above,
describing a general mapping to/from a 3D surface.
SuperCPU
Utilities
- kobb.s My custom "kernal" routines:
block move, string/number manipulation, screen i/o, etc.
(List of routines at top of file)
- macro-library.s From Merlin
128 disk; among other things,
contains a routine to find an ASCII string in memory, and routine
to revive dead BASIC program.
- ascii32.s A routine to convert a 32
bit number to ASCII and print it to the screen. See also kobb.s, above.
- ascii2bin.text A description of
an ASCII to binary number converter. See also kobb.s, above.
- hextodec.txt Another routine
to convert hex/decimal numbers to strings, and vice-versa.
- numinput.txt Another routine
for reading in numbers from keyboard.
- 8to9.txt A routine for converting
between eight- and nine-bit numbers.
- zero-pack.s Example run length
encoding code -- packs sequences of zeros. From Decomp/Style.
- zero-depack.s Example run length
decoding code -- unpacks a packed sequence of zeros. From
Decomp/Style.
Math
- fastmult Very fast integer multiplication.
- mult-div.s 16-bit multiply/divide routines;
from Merlin 128 disk.
- rand1.s A simple pseudo-random number
generator, taken from dim4. Not that great of a random sequence,
but fine for simple sequences.
- rand2.s A pretty decent pseudo-random number
generator, taken from ramtest.s.
- See also C=Hacking for very fast, specialized math routines.
Graphics
- screenie.s Uses pixel data to
manipulate the screen while leaving color data fixed for a weird
effect.
- hires.s Some hires graphics routines;
example code from Merlin 128 assembler
- circles A kick-butt circle routine,
now including some possible modifications from BLARG.
See C=Hacking, issue #9 and issue #11 (useful improvement).
- Drawing lines: See C=Hacking; dim4 contains the most
efficient/powerful version of my line routine.
- BLARG See programs/ below for hires examples of plotting points,
lines, and circles.
VIC
- VIC-Article.gz Christian Bauer's
famous article.
- ifli.s NTSC IFLI display routine.
- 2mhz128.s 2MHz speed in 40-column mode on
a 128.
- stableraster.txt Code to generate
a stable raster interrupt. See also C=Hacking #10.
- view-fli.txt Code to view an FLI pic.
See also C=Hacking #4, disC=overy #1, etc.
VDC
- vdc.tips Some tips for working with the VDC.
SID
- ransid A program for analyzing tunes/SID.
- fx -- a simple program to play sound fx from basic
and ML.
- Have you taken a look at Blahtune yet?
- Well then, forget Blahtune and look at iseq!
I/O See also C= Developer's Pack, in Misc.
- burstfd.s Routines to create FD2000 disk image.
- fastload.s Burst loading routine.
-
Swiftlib -- Craig Bruce's Swiftlink/T-232 routine library.
- Drivpoll.s Drive polling routine -- search
for and identify present serial devices, i.e. 1541 at #8,
CMD HD at #11, etc.
- chserdev.s Select serial device and
abort if not present.
- diskio.s Disk access routines: load, save,
directory, error channel.
- rtc-wedge64.s Sets up a wedge to tell time
from an RTC-equipped device (64-version).
- rtc-wedge128.s Sets up a wedge to tell time
from an RTC-equipped device (128-version).
- joystick.s Joystick driver for sprite
movement.
- zap.s A 1571 Disk Zap program; from Merlin 128
disk.
- copy.s A 1571 disk copy program; from Merlin 128
disk.
-
irqloader.s by Marko Mäkelä -- contains example
IRQ loader code (from prlink) and code description.
Misc
- tips.html Some simple and useful tricks and
tips for the programmer. Last updated: 12/9/96. (See also Links).
- Ned A petscii/ascii text editor (probably for
the SCPU; been so long I can't remember!)
- C= Developer's Package Routines for burst
transfer, fastload routines, REU routines, and Mouse routines.
- 2x2tomob.s Copies a 2x2 charset into
a MOB.
- swish.s From Merlin 128 disk; Ever seen
swynth? (Or swish-synth?) Kinetic art/line drawing demo.
- ramtest.s From Merlin 128 disk; checks RAM
on the 128. Uses 40 and 80 col screens, 1MHz and 2MHz mode, has a
good random number generator.
- sped.r.s A simple text editor for the C-64,
easily adapted to the 128. See binaries.
- petcom.c Convert to/from
PETSCII-ASCII. By Craig Bruce, from ccnga.uwaterloo.ca.
- format.c Program to make assembly listings
look pretty. (MSDOS users -- this command is built-in. Use FORMAT C:
to make hard drive look pretty.)
- strip.c An appalingly simple program to
strip the high bit from text files.
- Mekka/Symposium graphics (NTSC-fixed)
Programs
- Frantic Diamonds minigame source.
- Slang A language compiler for writing C64 programs.
- xip A program for compressing small programs.
- iseq Another music composition program.
- grlib A library (ML) of 2D graphics routines (lines,
circles, etc.)
- Sirius 65816 Assembler (massively upgraded El Cheapo)
- jpx/jpz JPEG viewers for the C64.
- obj3d The 3d object library, for creating
3D worlds.
- El Cheapo Assembler A 65816 assembler for
the SCPU.
- Tunesmith A powerful music composer.
- supermon.s Original SuperMON source
code.
- super64.o Original SuperMON binary.
- jammon A SuperCPU ML
monitor.
- lib3d The 3d toolbox.
- Blahtune A music composer.
- Dim4 Source code to dim4 (a 4k demo entry).
See also binaries and C=Hacking.
- BLARG1.0 Basic Language Graphics extension (hires bitmapped).
Binaries
Pity the poor speccy
- speccy Lots of C64/Spectrum related text files
from the great spring 1997 Flamefest! (Even has some useful info
on occasion).
Links
- www.6502.org A web page devoted
to our favorite processor!
- http://come.to/supercpu SuperCPU
home.
- http://www.jolz64.cjb.net
Jolz's webpage (main JOS page).
- NES HQ -- Has some 6502 info.
- NES developers page Contains 6502
code and other interesting info.
- BASIC 7.0 Encyclopedia
- Headgap online bookstore
Sometimes some C= technical books are available.
- Geoff's Commodore
Connection Useful info on C128 boot sectors, hardware projects.
- Commodore Knowledge
Base -- An archive of C= related articles and documents.
- Demolition Page --
Decomp's index of demo coding articles.
- CBM-Documents on
www.funet.fi -- Tons of information: quasi-opcodes, memory maps,
hardware, OS, schematics, timings, you name it.
-
Swiftlib -- Library of swiftlink/T-232 routines.
- ACE --
Craig Bruce's ACE OS for the C-64, executables and source.
- jbrain.com
Jim Brain's WWW site: C=Hacking, VICUG, CaBooM C= links page, etc.
- disC=overy The semi-unofficial disC=overy page.
- C=Hacking The semi-unofficial C=Hacking page.
- Driven homepage (with lots
o' links).
- Marko Mäkelä's
homepage
Last Updated: 4/30/01
Stephen L. Judd
sjudd@ffd2.com --