TOK64: Text <==> C64 Basic Converter Version 1.4 6/15/96 Basic extensions. More special keywords. Copyright (c) 1996 Cris Berneburg <74171.2136@compuserve.com> http://ourworld.compuserve.com:80/homepages/pcgeek/ 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 If you have any suggestions for TOK64 please email me. Cris Berneburg 74171.2136@compuserve.com http://ourworld.compuserve.com:80/homepages/pcgeek/