projects:resurrection
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
projects:resurrection [2014-06-28 15:04] – [The source code archive] martin_piper | projects:resurrection [2015-04-17 04:35] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== What is this? ====== | ||
+ | Many years ago, almost twenty years ago now, I did a lot of C64 coding. Many projects were started and only some got to a stage where they were completed. After discovering the C64 scene, on this and other websites, was very much still alive I decided to find my trusty old C64 and development disks to resurrect their contents. I remember some of these projects taking fifteen minutes to assemble and link on the C64 with 6510+ and a 1541 drive. With the advent of home PCs being quite common and readily available cross assemblers/ | ||
+ | |||
+ | As time permits this archive will grow as more of these old software projects are extracted from the 5.25" floppy disks and persuaded to start working. Most of these projects had no documentation, | ||
+ | |||
+ | I've gone through most of the projects and removed old copyright notices but if there are some hanging around then please ignore them. All of this code is now free for anyone to use however they wish. | ||
+ | |||
+ | ===== The source code archive ===== | ||
+ | |||
+ | Updated source code is available at [[https:// | ||
+ | |||
+ | Updated source code is available at [[https:// | ||
+ | |||
+ | Updated source code is available at [[https:// | ||
+ | |||
+ | |||
+ | Older source is here: | ||
+ | The archive is available from here {{: | ||
+ | |||
+ | Decompress the files in this patch over the top of the main archive. {{: | ||
+ | ===== Building ===== | ||
+ | |||
+ | The C64 source mostly uses ACME with a couple of tweaks, it will assemble cleanly with an untweaked version of ACME. As can be seen from the archive I use Microsoft Visual Studio 6.0 workspace and project files to manage the assets and build tules for each project. This allows me to use a tweak I applied to ACME (source available on this site) so that when there is an assembler warning or error the Visual Studio IDE will take me to that warning or error by pressing F4. A useful feature to have. :) This version of ACME will also output a label file suitable for VICE to load in the monitor, which allows easier debugging of large projects with symbols. | ||
+ | The projects in the archive use source from different projects organised into common libraries, whic his why uploading the whole archive makes sense rather than updating lots of separate project archives. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Directory tree ===== | ||
+ | * [[base: | ||
+ | * [[base: | ||
+ | * [[base: | ||
+ | * C64\Decompression : Decompression code for the [[base: | ||
+ | * C64\DiskBootLoader : An example of how to create a short disk boot loader. This uses a method of filling the stack with a repeating value so the execution eventually slides into a known address when an rts is used in the kernal loading code. | ||
+ | * [[base:IRQ Disk loader|C64\IRQDisk]] : An IRQ disk loader. | ||
+ | * [[base: | ||
+ | * [[base: | ||
+ | * [[base: | ||
+ | * C64\FreeDirRant : Some graphics borrowed from the free directional scrolling rant, also on this site. | ||
+ | * C64\PictureLink : An example of how to link an already compressed main program with a Koala Paint picture file that also uses compressed data. | ||
+ | * [[base: | ||
+ | * C64\SEUCK : SEUCK Data files in VICE file format for the three demonstration games. | ||
+ | * C64\SFX : A sound effect player that uses the SEUCK data format. | ||
+ | * [[base: | ||
+ | * C64\stdlib : A collection of standard library includes that are used by other projects in this archive. I like common libraries, something I didn't really think of using twenty years ago. :) | ||
+ | * Electronics : A while ago I designed a TTL processor that runs 6502 op-codes, as an experiment to see if I could make a processor out of individual ICs. The whole project including schematics and documentation is at this [[http:// | ||
+ | * Electronics\C64Boot : An example of a multi-threading kernel ROM replacement for use with the TTL processor example or C64 hardware/ | ||
+ | * Electronics\Microcode : ROM replacements designed to test the implemented 6502 op-codes, useful for testing the TTL processor. It also includes the code used to drive an LCD module based around the HD44780 controller chip. | ||