CC1541(1)

πŸ’Ύ NAME πŸ’Ύ

okay bestie, meet cc1541 β€” the absolute iconic tool for creating Commodore floppy disk images, and it does it in D64, D71 or D81 format. that's the whole resume. she ate. πŸ‘‘


🌸 SYNOPSIS 🌸

cc1541 [options] image.[d64|d71|d81]

✨ OPTIONS ✨

the whole-disk girly stuff. this is where you set the vibe of the actual floppy 🌈

  • -n diskname β€” this is the disk name, default is cc1541. no cap.
  • -i id β€” the disk ID, default is 00 2a.
  • -4 β€” use tracks 35-40 with SPEED DOS BAM formatting.
  • -5 β€” use tracks 35-40 with DOLPHIN DOS BAM formatting.
  • -d track β€” maintain a shadow directory, which is literally a copy of the actual directory that doesn't have a valid BAM. sneaky.
  • -g filename β€” write an additional g64 output file with the given name.
  • -H message β€” hidden BAM message. bestie, note this: only for D64 (up to 85 chars) or SPEED DOS (up to 20 chars).
  • -p t,s,o,file β€” write a binary patch from file to track t, sector s, offset o.
  • -V β€” do not modify the image unless it's in valid CBM DOS format. protective queen 🫢

this is the "what files are we putting on this bad boy" section πŸ’…

  • -w localname β€” write the local file to disk. if the filename isn't set, then the local name gets used instead. and after the file is written, the filename gets unset.
  • -f filename β€” use filename as the name when writing the next file. use the prefix # to include arbitrary PETSCII characters (for example, -f "start#a0,8,1").
  • -T filetype β€” the filetype for the next file. allowed parameters are PRG, SEQ, USR, REL and DEL, or a decimal number between 0 and 255. default is PRG.
  • -P β€” set the write protect flag for the next file.
  • -O β€” set the open flag for the next file.
  • -B numblocks β€” write the given value as the file size in blocks to the directory for the next file. not applicable for Transwarp files.
  • -L β€” add a dir entry without writing the file (track and sector will be 0). requires a filename given with -f.
  • -l filename β€” write a loop file (an additional dir entry) to an existing file on disk. wildcards * and ? are supported. set the filename with -f.
  • -N β€” force creation of a new directory entry, even if a file with the same name already exists. she does NOT care.
  • -o β€” do not overwrite if a file with the same name already exists.
  • -X filename β€” extract a file from the disk image. wildcards * and ? are supported.

🎯 Track/Sector Control

where the blocks go, and how they get there. the girlypop logistics πŸ’–

  • -S value β€” default sector interleave, default is 10. not applicable for D81.
  • -s value β€” next file sector interleave, valid after each file. the interleave value falls back to the default value set by -S after the first sector of the next file. not applicable for D81 or Transwarp files.
  • -e β€” start the next file on an empty track (the default start sector is current sector plus interleave).
  • -E β€” try to fit the file on a single track.
  • -r track β€” restrict next file blocks to the specified track or higher.
  • -b sector β€” set the next file's beginning sector to the specified value. not applicable for D81 or Transwarp files.
  • -F value β€” next file's first sector on a new track (default is 0). any negative value assumes aligned tracks and uses current sector + interleave - value. after each file, the value falls back to the default. not applicable for D81.
  • -t β€” use the directory track to also store files (this makes -x useless). default is no.
  • -u numblocks β€” when using -t, the amount of dir blocks to leave free (default is 2).
  • -x β€” don't split files over the directory track hole (default is to split files).
  • -c β€” save the next file cluster-optimized (d71 only).

πŸš€ Fastloader Specific

for the speed demons out there 🏎️

  • -M numchars β€” hash computation maximum filename length. this must match the loader option FILENAME_MAXLENGTH in Krill's loader. default is 16.
  • -m β€” ignore filename hash collisions. without this switch, a collision results in an error.
  • -W localname β€” like -w, but encodes the file in Transwarp format. provide the Transwarp bootfile as the last file using -f transwarp vX.YZ -w transwarp vX.YZ.prg.
  • -A value β€” select the allocation strategy for Transwarp files (default is 1). 0: allocate in the order given on the commandline. 1: save disk space by reordering transwarp files.
  • -K key β€” set an encryption key for Transwarp files, a string of up to 29 characters. secrets secrets 🀫

πŸŽ€ Miscellaneous

the grab bag, the everything drawer, the random assortment of slay πŸ¦‹

  • -h β€” print this command line help.
  • -v β€” be verbose. she talks a lot and honestly? we love that.
  • -q β€” be quiet. she's giving silence, she's giving mystery.
  • -U mapping β€” print PETSCII as Unicode (requires a Unicode 13.0 font, like UNSCII). use mapping 0 for ASCII output, 1 for upper case, 2 for lower case, default is 0.
  • -R level β€” try to restore deleted and formatted files. and bestie, the levels go DEEP:
    • level 0: only restore dir entries without touching any t/s links.
    • level 1: fix dir entries for files with valid t/s chains.
    • level 2: also add wild sector chains with valid t/s chains.
    • level 3: also fix dir entries with invalid t/s chains.
    • level 4: also add and fix wild invalid t/s chains.
    • level 5: also add reasonable wild single blocks.
  • -a β€” print the command line options that would create the same directory as the one in the given image. this is for directory art import, and yes, it's as iconic as it sounds. 🎨

πŸ”š EXIT STATUS πŸ”š

  • 0 β€” success. we love a happy ending. 🫢
  • -1 β€” failure. 😭

πŸ”— RESOURCES πŸ”—

Project web site: https://bitbucket.org/PTV_Claus/cc1541/src


πŸ› BUG REPORTS πŸ›

Please report bugs to: https://bitbucket.org/PTV_Claus/cc1541/issues/new

ngl if you find a bug, tell them. don't just suffer in silence, bestie. πŸ™ˆ

πŸ“œ LICENSE πŸ“œ

Copyright Β© 2008-2024 JackAsser, Krill, Claus, BjΓΆrn Esser.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

πŸ‘‘ AUTHOR πŸ‘‘

BjΓΆrn Esser <besser82@fedoraproject.org>

  • Author.

that's the whole manual, bestie. and guess what β€” this was cc1541 v4.2, dated 12/10/2025. go make some iconic Commodore disk images. mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from