TOK64: Text <==> C64 Basic Converter
Version 1.4 6/15/96 Basic extensions. More special keywords.
Copyright (c) 1996 Cris Berneburg
This software is FREEWARE and is freely distributable.
TOK64 converts ascii text file representations of Commodore basic
program listings into program images suitable to run on a C64. It
also converts basic programs back into ascii text listings. TOK64
does NOT perform syntax checking.
*** Use the "/list" command line argument for a list of valid commands.
You may specify multiple commands and/or file names on the command
line in the order you want the commands to occur.
Default extensions are ".txt" for ascii text files and ".prg" for
Commodore Basic program files. That means you may specify extensions
but if you don't TOK64 will look for files with the defaults.
An input text file may contain multiple program listings. Use the
"/mult" command to enable this function. Mark the start of each
listing with "start tok64 {file name}" and the end with "stop tok64".
This feature is only available with the "/toprg" command.
Keywords, variables, and quoted named identifiers are NOT case-
sensitive but quoted strings and comments ARE. So, if you issue a
"POKE 53272,21" command on your C64 the quoted strings will appear as
upper case and graphics. But if you do a "POKE 53272,23" the strings
will be lower case and upper case. In other words, ASCII to PETASCII
conversion is performed automatically. To represent special characters
in quoted strings use named identifiers, like "{clear}", or curly-
bracketed ascii values, between "{001}" and "{255}". You may also
specify quantities like "{down*10}" or "{001*5}".
You may break up the ascii text lines by appending a "\" continuation
character to the end of a line. The next line of text will be combined
with the current line to create one numbered Basic command line. So,
the next line of text should NOT have a line number, and any leading
whitespace characters will be ignored. Do NOT break up a keyword in
continuing a line -- TOK64 will not parse it correctly. BTW, the
maximum line length is 400 characters.
If you find that much of a listing will require many continuation chars
and each logical (basic) line is hanging-indented, use the /col command.
TOK64 will start a new basic line when a line number starts in column
one and will continue the line, ignoring the physical end of line (cr/lf),
until another number appears in column one or the end of the file is
reached. All but one leading spaces are ignored when continuing a line.
Any non-numeric chars in the first column are not allowed.
Use TRANS64, Bernhard Schwall ,
or some other utility program to transfer your basic programs between
your PC and C64 or emulator disk images.
I would like to give special thanks to the following people. Peter
Karlsson (Fidonet 2:204/145.42) for
assisting with the keyword/token list and with testing. Also to Phil
Hoff for heavy-duty testing and pushing
for more features. Ville Muikkula for testing
and suggestions for special char replacement.
OK, now for the scary part. This software is provided to you "AS-IS".
No other warranties of any kind, express or implied, are made to you
as to the software or any medium it may be on, including but not
limited to warranties of merchantability or fitness for a particular
purpose. So use at your own risk. Whew! Are you still there?
If you like TOK64 and/or find it useful please consider sending me
an email or a couple bucks to encourage me to continue improving
it or write other useful software. Thanks -- Cris Berneburg.
These are the valid command line arguments for TOK64:
/toprg Tokenize *.TXT text file to Commodore Basic program (*)
/totxt Detokenize *.PRG basic file to ascii text
/mult Process multiple listings within a single text file
/nomult Process text file as a single listing (*)
/lower Render keywords as lower case when de-tokenizing (*)
/upper Render keywords as upper case when de-tokenizing
/lowcase Lower case quoted strings & comments when tokenizing
/case Quoted string & comment tokenizing is case-sensitive (*)
/col Column sensitivity enabled while tokenizing
/nocol Column sensitivity disabled (*)
/stomp Overwrite existing files without confirmation
/nostomp Ask before overwriting existing files (*)
/fincart3 The Final Cartridge 3 Basic Extension
/graph52 Graphics52 Basic Extension
/64 C64 Basic V2 (*)
/list Display a list of command arguments
/help The help screen
/keywords Display a list of Commodore Basic keywords
/special Display a list of special substitutions
/ext Display a list of Basic extension keywords
{file name} Name of file to process
These are the valid Commodore Basic keywords for TOK64:
* + - /
< = > ^
abs and asc atn
chr$ close clr cmd
cont cos data def
dim end exp fn
for fre get gosub
goto go if input#
input int left$ len
let list load log
mid$ new next not
on open or peek
{pi} poke pos print#
print read rem restore
return right$ rnd run
save sgn sin spc(
sqr step stop str$
sys tab( tan then
to usr val verify
wait
These are the valid special substitions for TOK64:
{clear} {home} {right}
{left} {up} {down}
{reverse on} {reverse off} {black}
{white} {red} {cyan}
{purple} {green} {blue}
{yellow} {orange} {brown}
{pink} {dark gray} {gray}
{light green} {light blue} {light gray}
{f1} {f2} {f3}
{f4} {f5} {f6}
{f7} {f8} {space}
Some things that I'd like to include in future versions:
(done 6/15/96) The Final Cartridge 3 Basic Extension (C64)
(done 6/15/96) Graphics52 Basic Extension (C64)
C128 Basic V7 (Extensions to Basic V2) (big maybe)
Syntax checking
Don't just hit your Back Button!