• Bit 64

  • by jwhoag

Commodore-related project and thoughts I have worked on


No Way! Make Way for C64List 3.50

Some cool new toys in C64List are available. Is it Christmas already?


If you have been holding your breath for the next C64List release, then you should really consider a career in diving. And now please take a nice deep breath of fresh air. C64List 3.50 is here!

Before you all start asking at once--yes I’m still (slowly) working on the 4.00 release line as well, but almost exclusively on the assembler. More on that later. But for now let’s all toast the champion of today and get gossiping.

Only a few inner-circle C64List super-secret society members (whose anonymous aliases will go unnamed for personal security purposes), some random recent hitchhikers on the portion of Highway 375 which traverses Area 51, two shorthaired cats, and Joe--know that the remote scientific monitoring instrumentation deployed around C64List headquarters has recorded intermittent bursts of activity during the past few years. However, over the past 96 hours, these devices have identified dramatically increased levels of keyboard usage around the C64List code base. We feel it is now time to share this news with the world.

Since the last C64List blog was posted, a number of enhancements have made their way into C64List. Let me enumerate.

  • For emulator enthusiasts, C64List can read and write program files directly into D64 files
    • D64Name::”C64 FILENAME” as source file to load a prg file
    • –d64:D64Name::”NEW C64 FILENAME” to save to a .d64 file
    • D64file name is not case sensitive
    • C64 filename is case sensitive, usually you will need to use UPPERCASE
    • You will need to use quotes around the C64 filename if there are spaces in the name
  • Long variable names are supported (“Supervariables”)
    • {var:LongName=sn} to assign long names to short names
    • {var:LongName} to use in code
  • Parser variables can be defined at the command line
    • Use the –def:<name> command line option
    • Multiple –def options are allowed
    • Parser variables are case insensitive
  • Loading .bas files are treated the same as .txt and .lbl files
  • The files formerly output as .asm are now output as .lst files
    • Since this is more accurate for the disassembly they contain
    • Also helps prevent source code (.asm files) from being overwritten
  • Additional cursor codes for changing, locking and unlocking character set changes
    • {switchdis}
    • {switchena}
    • {lower}
    • {upper}
  • {delete} was removed for the more properly named {backspace}
  • Alpha conversion support has been revamped and should work much better
  • New {alpha} directive options were added and/or improved
    • {alpha:off} –no conversion
    • {alpha:normal} –(default) Same as {alpha:lazy}
    • {alpha:lazy} –all letters àstandard UPPERCASE PETSCII
    • {alpha:alt} –all upper/lower case letters à corrected for Alternate PETSCII
    • {alpha:poke} –letters converted to screen poke codes (standard)
    • {alpha:pokealt} –letters converted to Alternate screen poke codes
    • {alpha:upper}—letters are all converted to Alternate UPPERCASE PETSCII
    • {alpha:lower}—letters are all converted to Alternate lowercase PETSCII
    • {alpha:invert}—(previously defined function, no longer recommended)
    • Note: Alternate UPPERCASE is now corrected to use codes starting at $C1
    • REM statements are also alpha converted (but $61 UPPERCASE block is used to prevent detokenization)
  • New –alpha command line options were added or improved
    • –alpha:off – no conversion
    • –alpha:normal –(default) Same as –alpha:upper
    • –alpha:upper –PETSCII is all converted to UPPERCASE ASCII
    • –alpha:lower –PETSCII is all converted to lowercase ASCII
    • –alpha:alt –PETSCII case is corrected to upper/lowercase ASCII
    • –alpha:invert—(previously defined function, no longer recommended)
  • More flexibility in where you can place {:Labels}
    • Previously references to {:Label}s had to be syntactically correct
    • Now you can do funny things like PRINT {:Label}


Back on the topic of version 4.00, it is being developed in parallel with the 3.xx version line. Once the new 4.00 version is released, I will retire 3.xx, but for the time being it is still alive and well.

I will soon be posting about casm, which is the assembler part of C64List 4.00. Casm is currently a working standalone assembler (no BASIC support), but I’m going to release it that way first. Eventually I will release a full-featured C64List 4.00 when it is all integrated again.

Here’s a link to get a sneak peek of the shiny new C64List 3.5, as well as a polished up User’s Gude: https://drive.google.com/open?id=1mYUu1iQSPL7C9SWe2wpMJYpY_fH0wQiQ



Hello friends!


If you have been holding your breath for the next C64List release, then you should really consider a career in diving. And now please take a nice deep breath of fresh air.

Leave a Comment

You must be signed-in to post comments.