Skip to content

Miscellaneous Assembly programs on MOS 6510/6502 for the C64

Notifications You must be signed in to change notification settings

phoyh/misc-asm-6502-c64

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Assembly library for the Commodore 64 and its MOS 6510 which uses the instruction set of the MOS 6502.

Most of my assembly programs were lost - however, two of them survived as machine code and were disassembled & annotated for this repository. They implement protocols for communicating with the Star 10 printer and the Amiga, latter being connected to the serial port by a custom built cable and running Assembly programs from the my companion repository:

  • Printer: Obtains printer raw data from a LOAD command emulated by the Amiga companion program and sends it to the Star 10 for printing.
  • SerialSave: Loads a program from the 1541 floppy as if LOAD"*",8,1 was performed. This program is then transferred to the Amiga by sending it via the serial port. The Amiga companion program handles the other side of the custom made protocol and saves the file locally on the Amiga. The file name is also transferred by the C64 and needs to be written onto the C64 top-left corner before the process is started.

The programs use several KERNAL (C64 OS) routines. They are included in docs as a reference. The bit definitions of used chip registers and their addresses are also found there, as well as the used zero page addresses.

Note that I did not have access to a symbolic assembly IDE when creating these programs. As a result, the programs were written into absolute addresses and several NOPs were inserted between its parts in order to have space for later additions (moving program addresses is very tricky and error-prone).

Sponsor this project