dsktool.rb

Path: bin/dsktool.rb
Last Update: Sun Jul 20 13:13:31 +1000 2008
dot/f_0.png

dsktool.rb

Synopsis

Manipulate DSK format files (as used by Apple 2 emulators)

Usage

dsktool.rb [switches] <filename.dsk>

 -a | --add FILENAME       (*) add file
 -A | --ascii              force output to be ASCII (even if binary)
 -b | --base BASE          use BASE as address to load Binary File
                           this will add 2 bytes to the start of file
                           BASE should be a hex number
                           (can be prefixed with $, 0x, or nothing)
 -B | --bootcode FILENAME  FILENAME gets written to track 0, sector 0
                           FILENAME should be compiled to run at $0801
                           FILENAME can be up to 4Kb in size.
 -c | --catalog            display catalog
 -d | --dump FILENAME      hex dump
 -D | --diskdump           hex dump of entire disk
 -L | --delete FILENAME    (*) delete named file
 -e | --extract FILENAME   extract file by name (either to stdout,
                           or file specified by --output)
 -h | --help               display this message
 -I | --init FILESYSTEM    initialise the disk with the specified filesytem
                           DSK will be created if it doesn't exist.
                           FILESYSTEM can be : cpm,dos33,nadol,pascal,none
 -l | --list FILENAME      monitor style listing (disassembles 65C02 opcodes)
 -o | --output FILENAME    specify name to save extracted file as
 -r | --raw                don't convert files to ASCII
 -S | --showtrace          show full stack trace on any error
 -t | --filetype FILETYPE  file type for file being added.
                           Can be a single letter (A/I/B/T) or number.
                           Default for DOS 3.3 is 0x00 (Text)
 -T | --tokenise           (*) tokenise input file before adding
 -v | --version            show version number
 -x | --explode            extract all files

  (*) options marked with an asterisk are only available for
      file systems that have READ/WRITE support.

      Currently supported filesystems:
              Apple Pascal         (read only)
              CP/M                 (READ/WRITE)
              DOS 3.3              (READ/WRITE)
              NADOL                (READ/WRITE)
              ProDOS 8             (read only)

      Supports 16 sector DSK images
      files with extension .gz will be read & written using gzip
      input files can be URLs

examples:

      dsktool.rb -c http://jamtronix.com/dsks/apshai.dsk.gz
      dsktool.rb --list fid -o fid.lst DOS3MASTR.dsk
      dsktool.rb --extract "COLOR DEMOSOFT" DOS3MASTR.dsk
      dsktool.rb -e HELLO -o HELLO.bas DOS3MASTR.dsk
      dsktool.rb -x DOS3MASTR.dsk.gz -o /tmp/DOS3MASTR/
      dsktool.rb --add STARTUP -T nadol.po
      dsktool.rb --add c:\src\dosdemo\a.out -t B -b $2000 dosdemo.dsk
      dsktool.rb --init dos33 new_dos_disk.dsk.gz
      dsktool.rb -I none -B /tmp/a.out demo1.dsk

Required files

rubygems   optparse   rdoc_patch   DSK  

Constants

DSKTOOL_VERSION = "0.5.1"   dsktool.rb

Synopsis

Manipulate DSK format files (as used by Apple 2 emulators)

Usage

dsktool.rb [switches] <filename.dsk>

 -a | --add FILENAME       (*) add file
 -A | --ascii              force output to be ASCII (even if binary)
 -b | --base BASE          use BASE as address to load Binary File
                           this will add 2 bytes to the start of file
                           BASE should be a hex number
                           (can be prefixed with $, 0x, or nothing)
 -B | --bootcode FILENAME  FILENAME gets written to track 0, sector 0
                           FILENAME should be compiled to run at $0801
                           FILENAME can be up to 4Kb in size.
 -c | --catalog            display catalog
 -d | --dump FILENAME      hex dump
 -D | --diskdump           hex dump of entire disk
 -L | --delete FILENAME    (*) delete named file
 -e | --extract FILENAME   extract file by name (either to stdout,
                           or file specified by --output)
 -h | --help               display this message
 -I | --init FILESYSTEM    initialise the disk with the specified filesytem
                           DSK will be created if it doesn't exist.
                           FILESYSTEM can be : cpm,dos33,nadol,pascal,none
 -l | --list FILENAME      monitor style listing (disassembles 65C02 opcodes)
 -o | --output FILENAME    specify name to save extracted file as
 -r | --raw                don't convert files to ASCII
 -S | --showtrace          show full stack trace on any error
 -t | --filetype FILETYPE  file type for file being added.
                           Can be a single letter (A/I/B/T) or number.
                           Default for DOS 3.3 is 0x00 (Text)
 -T | --tokenise           (*) tokenise input file before adding
 -v | --version            show version number
 -x | --explode            extract all files

  (*) options marked with an asterisk are only available for
      file systems that have READ/WRITE support.

      Currently supported filesystems:
              Apple Pascal         (read only)
              CP/M                 (READ/WRITE)
              DOS 3.3              (READ/WRITE)
              NADOL                (READ/WRITE)
              ProDOS 8             (read only)

      Supports 16 sector DSK images
      files with extension .gz will be read & written using gzip
      input files can be URLs

examples:

      dsktool.rb -c http://jamtronix.com/dsks/apshai.dsk.gz
      dsktool.rb --list fid -o fid.lst DOS3MASTR.dsk
      dsktool.rb --extract "COLOR DEMOSOFT" DOS3MASTR.dsk
      dsktool.rb -e HELLO -o HELLO.bas DOS3MASTR.dsk
      dsktool.rb -x DOS3MASTR.dsk.gz -o /tmp/DOS3MASTR/
      dsktool.rb --add STARTUP -T nadol.po
      dsktool.rb --add c:\src\dosdemo\a.out -t B -b $2000 dosdemo.dsk
      dsktool.rb --init dos33 new_dos_disk.dsk.gz
      dsktool.rb -I none -B /tmp/a.out demo1.dsk

[Validate]