cmios9: ftp-like access to Fairlight OS9 + MDR-DOS + QDOS floppy/hard disk image files and devices
Copyright (c) 2001-2008 by Klaus Michael Indlekofer. All rights reserved.
Note: Special restrictions apply. See disclaimers below and within the distribution.

Release cmios9-2.6 (13-SEP-2008)



Usage: cmios9 [-h] [-r] [-b <dev_blksiz>] [-o <owner>] [-q <qdosnr>] <device/image file> ...
       -h   print this info
       -r   read-only
       -b   set device blocksize
       -o   set owner ID
       -q   QDOS-only mode for first file: number of partitions



Examples:

  Access to device "/dev/da0"
  ->  cmios9 /dev/da0

  Access physical drive 2 (if supported by the operating system)
  (Please note that logical drives like "\\.\g:" won't work
  since they correspond to PC-partitions!)
  ->  cmios9 \\.\physicaldrive2

  Access CD-ROM drive 0 (if supported by the operating system)
  ->  cmios9 \\.\cdrom0

  Access image file "c:\cmistuff\mycmipartition.backup"
  ->  cmios9 c:\cmistuff\mycmipartition.backup

  Access to QDOS image files (2 floppies in first file here)
  ->  cmios9 -q2 fl0.img ...



Note: multiple devices/image files can be specified

Note: in order to move a file from one partition/filesystem to another:
      use copy and delete!



Commands:

  help [<cmd>]			print help information for a command
    =man

  exit				exit program
    =quit
    =bye
    =q

  newlabel			write new label to partition

  newfs <partition root>	format partition with new filesystem

  linkboot			link a bootstrap file to the current partition

  linkpart			link a partition table file to the current partition

  editpart			edit the current partition table if present

  lspart			print information about all partitions
    =mount

  partinfo			print detailed information about a partition
    =part

  qlinkov <ovnr> [<path>]	set QDOS overlay file

  qsetboot			set bootstrap for current partition

  setmap			set/clear blocks in allocation bitmap

  lsfree			print filesystem information about all partitions
    =df

  free [<partition-root>]	print detailed information about a filesystem

  pwd				print current directory path

  dir [<dir-path>]		list files of a directory
    =ls

  dirrec [<dir-path>]		list files of a directory and all sub-directories recursively
    =lsrec

  dirtree [<dir-path>]		list directory tree recursively
    =lstree
    =du

  touch <path>			touch file/directory

  fdes <path>			print detailed information about a file/directory

  fdesrec [<path>]		print detailed information about all files/sub-directories recursively
    =fdestree

  chd <dir-path>		change current directory and/or partition
    =cd

  makdir <dir-path>		make new directory
    =mkdir

  deldir <dir-path>		delete directory if empty
    =rmdir

  del <file-path>		delete file (use * for all files)
    =rm

  delrec <dir-path>		delete all files and directories in directory tree
    =deltree
    =rmrec
    =rmtree

  setattr <attr> <path>		modify attributes of file or directory
    =attr

  setown <owner> <path>		change owner of file or directory
    =chown

  move <src-path> <dest-path>	move file or directory
    =mv
    =rename

  link <src-path> <dest-path>	hard link file or directory
    =ln

  creat <path> <Bytes> [<val>]	create new file

  extend <path> <Bytes>		extend file size

  pexport <image-file>		export raw blocks from current partition to external file
    =pget

  pimport <image-file>		import raw blocks to current partition from external file
    =pput

  pback <src-root> <dest-root>	copy partition
    =pcopy

  export <path>			export file or directory to external file
    =get

  aexport <path>		export file to external file with ASCII conversion
    =aget

  fdexport <path>		export file to external file with file descriptor
    =fdget

  tarc <tar-file> <path>	export directory tree to external tar file
    =tarexport

  import <path>			import file from external file
    =put

  aimport <path>		import file from external file with ASCII conversion
    =aput

  fdimport <path>		import file from external file with file descriptor
    =fdput

  tarx <tar-file>		import directory tree from external tar file
    =tarimport

  copy <src-path> <dest-path>	copy file (use * for all files)
    =cp

  copyrec <src-path> <dest-path>
				copy directory tree
    =copytree
    =cprec
    =cptree

  info <path>			print info about file type

  vinfo <path>			print verbose info about file type

  ident <path>                  print OS9/OSK module info

  sq2tk <path> [<path> ...] <out-path>
				convert and merge SQ/TK files to CUE-LIST TK file

  sq2smf <path> [<path> ...] <out-path>
				convert and merge SQ/TK files to SMF (MIDI) file
    =sq2mid

  mdrpasswd <mt-path>           set MDR MT passwd and attributes

  vc2wav <voice-path> [<wav-path> [<subvoice-nr>]]
				export voice to WAV-file (all if no subvoice-nr specified, use * for all files)

  mt2wav <mt-path> [<wav-path> [<wnr> [<wnr2>]]]
				export MDR MT wave to WAV-file (all if no wnr specified, use * for all files)

  wav2vc3 <wav-path> [<voice-path>]
				import WAV-file to Series III voice

  list <path>			list ASCII content of file
    =more
    =less

  dump <path>			print hexdump of file
    =hd

  bined <path>			binary file editor

  lchd <dir-path>		change current local (external) directory/device
    =lcd

  ldir				list files in current local (external) directory
    =lls



File attributes:
OS9:
  set/clear mode bits: specify +/- followed by mode-letter:
    r w e R W E S

QDOS:
  set/clear mode bits: specify +/- followed by mode-letter:
    w d s n
  set file format:
    userdef defrec binload binrec arec abinrec
  set loadable image options: specify option followed by number:
    lb= sl= la= sa=



How to initialize a standard OS9 disk from scratch:

1.) newfs /sc00 (OS9, totsize=whole disk, clustersize=1, filesyssize=0100)
2.) cd /sc00
    mkdir SYS
3.) cd /sc00/sys
    creat parttab 100 0
    linkpart (parttab!)
4.) editpart (for all k- and c-partitions you need!)
5.) cd /sc00/sys
    put bootfile
    linkboot (bootfile!)
6.) newfs /... (for all k- and c-partitions you need!)

Note:
A partition start and size should be cluster-aligned.
A CMI Series III floppy (k-partition) has 0x10cc00 bytes.
An IOMEGA ZIP100 disk has 0x6000000 bytes.
For removeable media it is advantageous to set totsize to 0xffffff,
whereas filesyssize should be set to the actual available space.



For more infos please visit http://members.tripod.com/kmi9000/kmi_cmi.htm
Email: m.indlekofer@gmx.de



---
The following holds for all files in this distribution (unless stated otherwise on an
individual basis for each file and statement):

These program/data/document/HTML/picture/media files (materials) are distributed in the
hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. In no event shall the author be
liable for any direct, indirect, incidental, special, exemplary, or consequential damages
(including, but not limited to, procurement of substitue goods or services; loss of use,
data, or profits; or business interruption) however caused and on any theory of liability,
whether in contract, strict liability, or tort (including negligence or otherwise) arising
in any way out of the use of data/information/software from this distribution, even if
advised of the possibility of such damage. 

The contents of this distribution are intended for educational, non-commercial purposes
only. Materials contained herein are property of their respective owners. If any
copyrighted works/trademarks have been used, please contact the author K. M. Indlekofer
and the item will be either removed or properly credited (at the copyright/trademark
owner's discretion). We have no intention of violating any copyrights or trademarks.
This distribution might use inlining and deep-linking, i.e. links in this distribution
might lead directly to materials on other web sites/distributions (in which case the
target page normally should be listed/credited in a "links" section). The author does
not take responsibility for the contents of any links referred to. We do not necessarily 
endorse, sanction, support, encourage, verify or agree with the contents, opinions or
statements of/on any of the linked pages. These statements hold for all links/references
in all files in this distribution. We are in no way affiliated with any
companies/institutions/individuals which might be mentioned in any manner in this
distribution.

The author does not take responsibility for incorrect, incomplete or misleading information.
Statements are to be considered as the author's free personal opinion. The author does not
necessarly possess any of the items mentioned in files in this distribution.

Files (and the information therein) created by the author K. M. Indlekofer are copyright
(c) by K. M. Indlekofer. Unless protected/restricted otherwise, the author permits
reproduction/redistribution of material contained in this distribution under the condition
that the item is properly credited. Links to items/materials in this distribution are
welcome. Please contact the author K. M. Indlekofer for comments or further questions
and permission to use materials/information from this distribution. 

Some programs/data files are released under the terms of the GNU General Public License
as published by the Free Software Foundation. (Address: Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Internet: GNU General Public
License (GPL) from The GNU Project) 



---
This product includes software developed by the University of California, Berkeley
and its contributors.

Copyright (c) 1987-2002 The Regents of the University of California.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
3. [rescinded 22 July 1999]
4. Neither the name of the University nor the names of its contributors
   may be used to endorse or promote products derived from this software
   without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.



---
End of file
