From C64-Wiki
Jump to navigationJump to search
Developer Jeff Hoag
Publisher CommodoreServer.com
Release 2015
Licence Freeware
Platform Windows
Genre Tokenizer / Detokenizer
Operation Keyboard
Media Binary download
Language(s) Language:english

C64List is a closed-source freeware tokenizer / detokenizer for the Commodore 64 designed to run in Microsoft Windows; Linux and Mac users can run it via Wine. It is designed for both BASIC and assembly language development. Existing Commodore BASIC programs formatted as .PRG files can be detokenized and output into a plain text file. Once the initial conversion has been made, the text file can be edited at will using any available text editor. Alternately, a programming project can be started in the text format. Once the project is ready for "compiling", C64List can process the text file and convert the text file into a .PRG file, where it can be run a real Commodore 64 or emulator such as Vice.

The integrated assembler allows developers to write assembly language routines and assemble them directly into the same .PRG file with the BASIC program. Assembly-only projects are also supported.

Features[edit | edit source]

C64List has many features to help create Commodore 64 software, such as:

  • Crunching: Unnecessary spaces can be removed from the code when a .txt file compiled into .prg format.
  • Uncrunching: When converting .prg files into editable text, C64List can insert spaces strategically into the BASIC text to make it more readable.
  • Large variable name support to make source code more readable. These are referred to as "supervariables" in the documentation.
  • REM removal: REMark statements can be removed from the BASIC text as it is compiled into .prg format.
  • Control codes: C64List’s can convert cursor-code characters--which are not displayable in ASCII, let alone editable in a text file--into readable and editable strings such as {right}, {up}, and {red}. Naturally, it will also convert them back into their native codes when the text file is converted to into the C64-edible .prg format.
  • Compressed control codes: C64List will also compress consecutive identical cursor codes into a shorthand form such as {down:5}{right:10}, rather than repeated {down}{down}{down}, etc.
  • Renumbering: C64List can renumber the lines of a BASIC program and fix up all GOTO, GOSUB, ON x GOTO, etc. references to the renumbered lines.
  • Line-numberless BASIC: C64List allows users to write BASIC programs without using any line numbers. GOTO and GOSUB statements direct to labels inserted in necessary locations in the code. During compilation, C64List will add line numbers to each line, in a controllable manner.
  • Labelizer: During conversion from .prg to .txt format, C64List can remove all line numbers from the code and insert labels where necessary, to allow the code to be edited in the Line-numberless format.
  • Supports BASIC extensions: C64List can be configured to work with BASIC extensions, and convert nonstandard tokens to and from text.
  • Assembler: Assembly code can be inserted with the BASIC code, and assembled directly into the same file with the BASIC program.
  • Disassembler: C64List can be used to disassemble machine code in .prg files. It also allows importing a symbol table to insert labels into the code.

Authorship and Availability[edit | edit source]

C64List was written by Jeff Hoag, and is available for download on CommodoreServer.com (https://www.commodoreserver.com/Downloads.asp). The C64List User’s Guide is also posted there. It features a thorough reference as well as a tutorial-style narrative to get users up-to-speed quickly.

See Also[edit | edit source]