Download:

The most important files here are the ones that are related to developement.
We especially wish to encourage you to try out 65CM and see how it can make your life easier. But of course VASM can also help you in that way - if you're one of the keen people running the VIC-20.

Contents

65CM

65cmsrc.zip The 65CM source code for virtual pascal (www.vpascal.com). Version 0.2. 65CM is GNU GPL Licensed and free for re-distribution and modifications within the terms of GNU GPL. New version as of 2002-08-29.
65cmbin.zip 65CM v0.2. Compiled for Win32. Licensing info same as above and included in this ZIP-archive as well.

If your target is ATARI look below for an Atari compatible AddAddr utility.

65CM tools...

...made by Siders Inc.
Addaddr.pas Source code for AddAddr.exe. This utility adds a CBM header to a binary 6502 file.
Syntax:
AddAddr <infile> <outfile> <address in hex (ex. 3000 )>
Addaddr.exe Same as above, but compiled for DOS.
...made by others
Addaddr_Atari.zip Carsten Strotmann's version of AddAddr for >ATARI< computers. Includes Pascal source.

65CM Libraries

Note: All libraries have been successfully used in software except for the string library lib_str. They should "work" under normal circumstances, but until fully tested, we label them Beta quality.
MemLib.c65 This Library includes the following calls:
  • lib_malloc
  • lib_free

Easily recognisable if you've written C, this library lets you define your own "heap". This allows you to allocate and free memory dynamically in your program.

  • Defines the NULL-constant
  • System independent
CbmFiles.c65 Simple file management library for CBM computers ( Uses the kernals std-jump table ).
Calls avaliable:
  • lib_fopen
  • lib_fclose
  • lib_fwriteblock
  • lib_freadblock
CBM Specific. This library depends on the StrFunc Library to work.
MemFunc.c65 Embryo to a memory functions library. Only includes:
  • lib_memcpy
System independent.
StrFunc.c65 NULL-terminated strings library. Includes:
  • lib_strlen
  • lib_strcat
  • lib_strcopy
  • lib_strpos
  • lib_strcmp
System independent.

NB: Not fully tested, might contain bugs.

MultDivLib.c65 This library provides 16-bit word multiplication and division.
(Encapsulation of code from "the fridge").

65CM Examples

Rllencod.pas Turbo Pascal program for simple run length encoding. Files packed with this utility may then be stacked in a long sequence.
Rllencod.exe The compiled executable of the program above.
RllUnpacker.c65 De-compresses data previously compressed on a PC with "Rllencod.pas" on the target computer.
RLLPack-HowTo.txt Text document describing how to use "Rllencod.pas" and "RllUnpacker.c65" to easily make chunks of data avaliable to a 6502 system.
FillScreen-v20.c65 Mini example for the Vic20. Run with "sys 3*4096". Fills out the screen with border color.
fss.zip Example: Full screen scroller for C64. 65CM sources and a compiled demo included.
FileDemo.c65 Example: Demonstrates how the CbmFiles.c65 lib works. CBM-specific.

External PC tools

sUSHi_setup.exe smart Universal Syntax Hi-Lighter (good freeware editor that can be used for 65CM programming on the Windows platform )

N.B: This program is made by HushPage Inc. who have been kind enough to license it as FreeWare.

65SushiDef.zip 65CM Language definitions for Sushi so that the syntax is correctly marked up
SushiN65CM-HowTo.txt Description how to make sUSHI markup 65CM-code correctly (also included in 65SushiDef.zip)
as65_131.zip Frank Falstaff's cross-assembler.
This is the assembler that 65CM produces code for. Also included in the 65CM package.

VASM and related files

vasm_v1beta.zip Source package containing all VASM files
vasm-16k-4624.PRG VASM executable, compiled for a VIC-20 computer with 16k of RAM
vasm-24k-4624.PRG VASM executable, compiled for a VIC-20 computer with 24k of RAM
vasm-32k-4624.PRG VASM executable, compiled for a VIC-20 computer with 32k of RAM

The GNU General Public License

gpl.txt The GNU General Public License.