• Bit 64

  • by jwhoag

Commodore-related project and thoughts I have worked on


C64List V2.22 Enhancements and Bugfixes

Lotsa nips, tucks, and tweaks

Thanks to all C64List users and fans who have provided valuable feedback!  Several bugs were identified, and some enhancements were requested.  The bugs have been swatted and I've added some new features that people have requested as well.  So now (with some futher ado), here's C64List version 2.22!

Bug fixes--

                * REM removal did not update GOTO/GOSUB statements pointing to removed lines in one case.

                * Fixed the ' comment inside DATA statement issue.  Now DATA and REM statements can contain single quotes and C64List will not think they are tick comments.

                * Fixed a minor bug where {renumber} thought that line 0 was out-of-order.  It actually worked correctly, but it incorrectly complained.

                * Fixed a bug in the asm output where the Program Counter was not incremented before branch targets were calculated, causing branch targets to be off-by-two.


New stuff--

                * Enabled illegal opcode decoding in asm mode.  C64List now displays illegal opcodes with the after-the-fact assumed mnemonics that have been assigned, along with the correct addressing modes for them.

                * Now you can convert .prg files that contain custom tokens to .txt format.  Previously, this was only supported in .txt to .prg conversions.  Create a text file containing only the {tokenizer} directives and specify that file with the –tokenizer: parameter.

                * Labels are now case-independent, so now {:LABEL}, {:Label}, and {:label}  are all equivalent.

                * Hex dump character display now shows more character codes.  The high bit is cleared before displaying the character code so reversed characters will show up instead of ‘.’ Also, character codes in the ASCII ‘a’ through ‘z’ range are now shown in lowercase.  On the C64, these are either shifted graphics characters or shifted uppercase letters.

                * Added some BASIC 4.0 and BASIC 7.0 support.  These features are not tested (since I don’t have any BASIC 4.0/7.0 programs to try), and I do not intend to put much more time into expanding in this direction.  However, this feature should be pretty useful to developers.  See below


From the C64List User’s Guide:

Although C64List, as its name suggests, is specifically for the Commodore 64, some support has been added for BASIC 4.0 and BASIC 7.0 for users that like to develop for those versions of BASIC.  To enable the BASIC 4.0 token map, add the –b4 command line parameter.  Likewise, to enable the BASIC 7.0 BASIC token map, use the –b7 parameter.

Please note that C64List only supports the single-byte tokens in BASIC 7.0, and not the extended tokens.  Therefore, the two prefix tokens, $CE and $FE are left undefined.  This should be a rather small inconvenience however, because it appears that the extended tokens are primarily for use in immediate mode, and not to be put in programs.

The –b7 and –b4 parameters are handled in exactly the same manner as other custom tokens:  two files have been provided that define these custom token maps.  The –b4 parameter is equivalent to invoking –tokenizer:BASIC4_0.txt, and –b7 is equivalent to invoking –tokenizer:BASIC7_0.txt.  The shortcuts were provided to minimize the number of keystrokes necessary to use these functions.

Leave a Comment

You must be signed-in to post comments.


JoeCommodore 7/30/2011

Saw the demo of C64 list at CommVEx, really cool. Was able to get it to run in Linux Via WINE:

Prerequisite besides WINE is is to have winetricks installed and use "winetricks vcrun2008" to load the needed library (MS visual C++ 2008 runtime library).

Then it is usable from the WINE DOS prompt (when in shell type wine cmd to getthe DOS prompt) from there you can do the stuff in the manual.

jwhoag 8/4/2011

C64List on Linux--nice work Joe!