Return-Path: ralphey@zikzak.apana.org.au
Received: from ralphey@zikzak.apana.org.au by smug.student.adelaide.edu.au (5.65/AndrewR-940303) id AA03609; Sun, 2 Oct 94 13:56:10 +0930
Received: (from ralphey@localhost) by zikzak.apana.org.au (8.6.9/8.6.9) id EAA28274 for hilander@smug.student.adelaide.edu.au; Sun, 2 Oct 1994 04:28:33 GMT
From: Russell Alphey <ralphey@zikzak.apana.org.au>
Message-Id: <199410020428.EAA28274@zikzak.apana.org.au>
Subject: 64net man
To: hilander
Date: Sun, 2 Oct 1994 14:28:32 +1000 (EST)
X-Mailer: ELM [version 2.4 PL23]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 56908     

Hi Paul,

Here's the 1.68 version of the manual, still woefully incomplete, but 
getting there.  Any comments greatly appreciated, as always.

R.

------cut here--------
*** This is the 941001 version of the manual, and refers to v1.68 of 64NET.

Questions / notes to Paul requiring answer/clarification:

 Byte 002F in the .N64 file hasn't been defined/allocated???  (Only been
    waiting 3 months for an answer on this :)

 Devices A: - Z: default to 64NET partitions 1 - 26...do they also default
    to partition names "A" - "Z"?  IIf not, can they?






                         64NET Version 1.68




               (C) Copyright Paul Gardner-Stephen 1992-1994






                        Manual Version 1.68



        (C) Copyright Paul Gardner-Stephen and Russell Alphey 1994


        Note that this manual, like the software it describes, is still
        evolving, and therefore may not accurately describe the version of
        the 64NET software you are using/testing.

        Whilst the manual author is trying to keep up to date, and welcomes
        any corrections or suggestions, he can only say that if you get
        into difficulties due to this manual...

        TOUGH!

        Note also that this manual is going to be thoroughly revised and
        reordered soon...



     Copyright Notice:

          (C) Copyright Paul Gardner-Stephen 1992-1994

          The 64NET program software, cable, and manual are copyrighted,
     and all rights are reserved by Paul Gardner-Stephen.  This distribution
     of 64NET is intended for use on one fileserving IBM compatible computer,
     and either one (1), or a maximum of four (4) Commodore 64 compatible
     computers at any one time, subject to licence conditions.  The original
     purchaser may make one backup copy of the software for the IBM compatible,
     and may copy the 64NET wedge file for the Commodore 64 onto as many of
     the same original purchasers disks or data-cassettes, with a maximum of
     four (4) iterations of the wedge running at any one time, again subject
     to licence conditions.  Lawful users of this product are hereby 
     licenced only to LOAD and EXECUTE the programs included in the 64NET
     distribution, and to READ, EDIT, & WRITE the configuration files of the
     same, where explicitly mentioned in this manual.  Duplication, copying,
     selling, or otherwise distributing this product is a violation of the
     law, and a breach of copyright, and the software license of this product.

     It is also an offense to duplicate the 64NET key file provided with
     registered copies.  Further, you may not modify 64NET to bypass the
     checking for a valid key file, nor may you use key files other than
     those provided by Paul Gardner-Stephen, or his authorised nominees.

     This manual is also copyrighted, and all rights reserved.  It may not be
     photocopied, reproduced, translated or reduced to any electronic medium
     or machine readable form without prior consent, in writing, from Paul
     Gardner-Stephen or his authorised nominees.

     
     
     
     
     IBM is a registered trademark of International Business Machines Inc.
     CBM, Commodore 64, 1541, 1571, and 1581 are registered trademarks of
        Commodore Business Machines Inc.
     JiffyDOS is a registered trademark of Creative Micro Designs.
   
     Warranty:

          This distribution is provided as is without warranty of any kind,
     either expressed or implied, including, but limited to, the implied
     warranties of merchantability and fitness for a particular use, except
     for the use of occupying disk space on the supplied disks.
          You, the buyer, assume all risks for quality and performance of this
     product, and for any damage, including loss of data, which may occur as
     a direct or indirect consequence of using this distribution of 64NET.
          In no event will Paul Gardner-Stephen or his authorised nominees
     be responsible for any damages, including loss of profits or other
     incidental or consequential damages arising out of the use of, or
     inability to use, 64NET, even if Paul Gardner-Stephen or an authorised
     dealer of 64NET has been advised of the possibility of such damages, or
     for any claim by any other party.
          In some regions the exclusion of implied warranties is forbidden by
     law, in which case the above exclusion may not apply to you.  Should
     any part of this warranty be shown invalid or unenforceable, then the
     validity and enforceability of the remainder of this warranty shall not
     be affected thereby.

         Table of Contents:
     
         Copyright notice                                            

         Warranty                                                   


      1. Introduction                                                

      2. Installation of 64NET                                       
         - Adding registration details

      3. Starting 64NET                                              

      4. Features of 64NET

      5. 64NET Functions

            Basic

            Advanced

      6. 64NET Utilities
      
                C64
                
                PC

      7. User Customisation of 64NET

      8. 64NET Limitations

      9. 64NET Trouble-shooting Hints & Tips

     10. Programming with 64NET.

     Appendices

         A. Compatibility List

         B. 64NET Support

         C. The Future of 64NET

         D. Constructing the 64NET cable.

         E. Differences between the Public Domain and Commercial releases
            of 64NET.

         F. 64NET File Format.

         G. 64NET Error and Status Messages.

         H. 64NET Reserved Filenames and their Functions.

         I. Files provided on the 64NET system disk.

         J. Installing 64NET permanently in your Commodore 64.

         K. Glossary.

         L. 64NET Registration Form.

         M. Recognised PC filetypes.

         N. Multi-lingual operation.

     1. Introduction:
     
          The Commodore 64 is, without question, the finest home computer 
     ever released.  Some of the features which made it the leader include high 
     quality audio output, ease of use, the ability to be able to be 
     plugged into a standard television set, and a plethora of arcade 
     standard games available. Compared to other computers with 
     similar capabilities the 64 was (and still is!) also great value for money.
     
          However, the major problem with it, which was often pointed out by 
     its detractors, was the slow speed of its mass storage 
     devices such as the datasette and the 1541 disk drive.  In more recent 
     times such devices as the 1571 and 1581 disk drives from Commodore, and 
     various high capacity floppy and hard drives from third party suppliers 
     have improved this situation markedly, although not cheaply.
     
         Commodore 64 owners have long looked at the cheap storage available 
    to PC owners and bemoaned their inability 
    to take advantage of this, or their inability to use the storage on 
    their home PC for access by their 64.
    
         NOT ANY MORE!
         
         Paul Gardner-Stephen is proud to announce 64NET(c), the cheap, 
    complete system which allows Commodore 64 owners to take advantage of 
    the cheap mass storage available on PCs.  With the price and 
    availability of low-end PCs, 64NET is the cheapest mass storage for the 
    Commodore 64 available today.  64NET even supports up to 4 Commodore 64s 
    from the one PC simultaneously (if so licenced)!
    
         64NET requires no special skills from its users, nor any 
    programming.  In fact, if you purchased 64NET with its interface cable 
    you can be accessing your PC disks from your 64 immediately after loading
    and running the 64NET program, ie. a matter of minutes!

         With 64NET you can access up to 65535 logical drives on your
    PC server from your Commodore 64 using standard Commodore commands.  There
    is also no limit to the size of the PC drives accessable to the
    Commodore 64, subject to DOS limitations,
    due to the way 64NET interfaces the Commodore 64 to the PC.

         64NET also supports the command structures of other disk systems
    popular on the Commodore 64, eg. partition and subdirectory access, and
    also allows the user to chose the device number which is the 64NET disk
    drive.

         Whilst 64NET was developed to allow Commodore 64 owners access to
    the hard drives of their PCs, it is equally happy accessing floppy
    disk drives, CD-ROM drives, and network drives.  In fact, 64NET will
    cheerfully access any device that presents itself as having a DOS file
    system!


     2. Installation of 64NET:

          64NET is designed to be as simple as possible to install, and 
     setup.  Whilst none of our testers had any difficulty performing the 
     installation, we advise you to read the installation instructions 
     carefully, and to seek advice where you feel uncertain as to anything
     contained herein.  As pointed out earlier, we take no
     responsibility for any damage caused due to a faulty installation, even
     where such damage is caused by errors or omissions in these instructions.
     
     
     Pre-install Checklist:

     Before attempting to install 64NET, make sure the 64NET distribution
     kit you received from your supplier contains all of the following
     items.

     1. A double sided disk, with the Commodore 64 64NET wedge programs
        on one side,
        and the IBM PC 64NET server software on the other.

     2. This manual.

     3. Either the patented 64NET cable, if you purchased it as part of your
        kit, or a detailed cable construction sheet if you did not.  Note that
        the construction details are also duplicated in appendix D of this manual.

     If you did not purchase the 64NET cable then you will have to construct one
     before you can use 64NET.

     
     Hardware Installation:

     1) Turn off both the Commodore 64 and IBM compatible.  Failure to do
        this before plugging in the 64NET cable could result in the damage
        of your computers due to shorting.  Again we stress that no
        responsibility will be accepted due to your failure to follow this
        instruction.

     2) Connect your 64NET cable's DB25 connector to one of the parallel 
        printer ports of the IBM compatible computer.  It does not matter which
        parallel port you use if you have more than one, as 64NET will
        figure out which is being used! 

     3) Connect the other end of the same cable to the user port of the 
        Commodore 64 (or compatible).  Be sure to connect it the correct
        way up as the user port connector unfortunately is symmetric, 
        therefore making it possible to insert the plug upside down.  The
        simplest way of inserting the cable correctly is to make sure that
        the plug goes in with the cabled pins to the bottom, assuming that this
        component of the plug is visible.  If the plug is protected by a shell,
        then insert it with the labelled side up (this should mean that the
        cable points away from the expansion (cartridge) port, if the shells
        are the same as those obtained by the 64NET test team).

     4) Repeat steps 2 and 3 for each Commodore 64 computer you are connecting
        to your 64NET server computer.

     5) Turn all computers back on.

        Congratulations!  You have successfully installed the hardware
        component of 64NET.


     Software Installation:

     Before starting the software installatio of 64NET, make sure that you
     have made a backup of your 64NET software disk(s).  Instructions on how
     to do this are not the province of this manual.
     
     1) Create a subdirectory on the hard disk of your PC, from the root
        directory
        with the name 64NET.  This can be accomplished with the following
        commmands in DOS (assuming installation to the C: drive):

          C:
          MD \64NET

     2) Copy the contents of the IBM compatible distribution diskette into
        this subdirectory.  This can be accomplished with the following
        commands in DOS (assuming installation from the A: drive to the C:
        drive):

          C:
          CD \64NET
          COPY A:*.*

     This completes the installation of the server component of 64NET.  See
     Appendix I for a complete list of files which should now be found in
     the 64NET directory on the hard disk.

     3) Copy the file named "64NET WEDGE" from the Commodore 64 distribution
        diskette to your utility disk, or to a blank diskette.  This will
        become your 64NET work (startup) disk.

     4) Repeat 3) for each Commodore 64 you will concurrently be using with
        64NET, subject to the licence you obtained when you purchased 64NET.

     5) Place your original distribution diskettes into a nice, safe, cool,
        dry place.

     6) Congratulations!  You have completed the 64NET software installation.

     You are now ready to progress to using 64NET!

   Adding registration details.

      If you have purchased a registered copy of 64NET initially, then you
      need not read this section any further, as the normal installation
      process will automatically detect this.

      If, however, you have decided to register 64NET after having used the
      public domain version, rest assured.  Upgrading your version is a
      simple task, and does not overwrite your current configuration.

      You will receive a file from your distributor called 64NET.KEY - place
      this in your 64NET directory in place of any file of that name which
      may be there.

      That's all there is to it!

      Note that this key file is registered to you, and you alone.  Do not
      copy or otherwise distribute it.  Each key file is uniquely identifiable
      so people using unauthrosied copies will be prosecuted, as will those
      providing the key file. 

     3. Starting 64NET:

     1) Move to your 64NET directory on the IBM compatible, eg CD \64NET

     2) Type 64NET and press the ENTER key.

        Note that the PC software MUST be run before the 64NET C64 wedge
        software to
        enable the server to synchronise with the clients.  Failure to do this
        will not result in any damage to either system, but it will cause
        64NET to fail to work, resulting in undoubted disappointment to the
        user.

        This is not true of the 64NET C64 kernel replacement software, which
        synchronises with the server on each access of the server.

        You should see a screen similar to that in figure 1, below.


                .....Insert screen shot here.....

        Figure 1, Typical 64NET server initial screen.

        Note that the rapidly "flashing" number on the screen is normal, and
        shows that 64NET is polling each of the possible parallel ports to
        see if a 64NET command has been received.  This occurs whether or
        not your system contains multiple parallel ports or not.

        The messages at the bottom of the screen are explained later, eg.
        F1, F2.
        
     3) At this point you have 2 choices as to the type of installation used
        on your C64.  The choice you make generally depends on whether or not
        you wish to use software or hardware found to be incompatible with
        64NET.  Examples of this are listed in Appendix A.

        Normally it is expected that you will want to use the 64NET kernel
        replacement software which copies the kernel ROM to the underlying
        RAM, then patches that RAM with the 64NET access routines.  The
        method of doing this is described in part A below.  If you
        have software or hardware which expects to have free access to that
        RAM for its own purposes, then the 64NET kernel software will be
        corrupted by this, and undoubtedly fail!  A possible hardware
        solution to this is described in Appendix J.

        If you chose, or are forced, not to use the 64NET kernel replacement
        software, then you will need to install the 64NET wedge software, as
        shown in part B, below.  Note that you have several choices as to the
        location in memory that the wedge is located, to provide maximum
        flexibility, and hence compatibility, with other software.

        Common to either choice of C64 64NET installation is the
        default device number of the 64NET server.  64NET currently installs
        its server as device 7.  This is done to avoid any possible device
        number conflicts with hardware already attached to your system.
        If for any reason you wish to alter the device number the 64NET
        server responds to, then all you need do is alter the value stored
        in location 167 ($A7) to the device number you wish.  This means
        that 64NET will allow your PC server disk drives to be accessed as
        anything from device 0 right through to device 255!  Of course, not all
        software wil accept such outlandish numbers, and certain numbers
        will cause problems to the operating system.  That's where the
        flexibility of 64NET shines, in allowing you to choose device
        numbers.


        Part A. Installing the 64NET kernel replacement software.

           LOAD and RUN the "64NET KERNEL" file on each Commodore 64 which
           is to have access to the IBM compatible's drives.

        Part B. Installing the 64NET wedge software.

           LOAD and RUN the "64NET WEDGE" file on each Commodore 64 which
           is to have access to the IBM compatible's drives.  You will be asked
           where in memory you would like the wedge located.  If unsure, or
           you have no reason to do otherwise, chose the default location
           shown by pressing the RETURN key once.

           If you do not wish to accept the default location, then enter your
           preferred location as either a decimal, or hexidecimal (preceded by
           a "$") number.  The 64NET wedge cannot be loaded above $9800, except
           in the range $C000-$C800, due to its size, and the lack of "normal"
           RAM which the operating system can easily see.

           Please be aware that an inappropriate choice of
           location will cause 64NET to fail, and quite likely cause a machine
           lockup.

           If the location chosen does not cause system conflicts, each
           Commodore 64 will attempt to make connection with the PC
           server, and then attempt to "auto boot" the "STARTUP n" file from the
           server, where n is the parallel port number that the particular 
           Commodore 64 is connected to, eg "STARTUP 1" for parallel port 1.
           If that file doesn't exist, then the
           "auto boot" will attempt to load and run a file called 
           "STARTUP SEQUENCE", if it exists.  The startup files can be any
           C64 file which can be loaded and run.  It may contain commands
           to set 64NET preferences, load your favourite application, or even
           run a game!  Note that this is a perfect spot to alter the
           default device number used by 64NET.
        
           Note that both the filenames mentioned above are illegal PC filenames.
           They are actually the "real" names of possible files stored under
           64NET, which allows full 16 character C64 compatible filenames.
        
           Press the C= key when you RUN the 64NET wedge program to override this 
           boot feature.


    Irrespective of which installation method you used, success will be
    shown by your C64 displaying a black border, dark blue background, and
    white text.

    If the kernel version was chosen you will also notice that a slightly
    different cold start message is displayed on the C64's screen.

    You should also notice that the status field on the server PC has
    altered for one of the displayed ports.  This indicated which parallel
    port address you are connected to, NOT which actual parallel port you
    are physically attached to.  The reason that what you see is not what
    you may have been expecting is that not all PCs map their parallel ports
    to the "correct" locations.

    64NET checks the following addresses as parallel ports 1 through 4.

        Port    Address

        1       $378
        2       $3BC
        3       $278
        4       $2BC

    Congratulations, you now have 64NET running!  All references to
    device 7 (or whatever device you have set the 64NET server to) are now
    redirected to the logged drive and directory
    on the IBM compatible, and this is also now the default device, just as
    the datasette is the default device on a standard C64, and device 8 is
    on an SX64 or C65.  All disk drives on the Commodore 64 are still
    accessible, unless you have chosen to override them with the 64NET
    server.

    The RS-232 port is obviously now inaccessable, which is considered a
    very minor inconvenience compared to the advantages provided by 64NET!  A
    passthrough version of the 64NET cable and software is being considered to
    overcome this limitation.

     4. Features of 64NET:

          Now that you have 64NET physically installed on your system, and have
     started the driver software, it is time to cover the many details and
     features of 64NET.
     
          As this version (1.68) is a BETA release, some of the facilities may
     not always function correctly.  When the public release is completed
     you will be sent your update disk (provided your copy of 64NET is
     properly registered, ie. you send in your registration form).
     
          64NET attempts to logically emulate the 1541 file system as closely as 
     possible, thus providing more than just a file transfer facility.  Note
     that this does NOT mean emulate a 1541 disk drive, eg. access to 1541
     RAM.  All CBM file types are supported, with the exception of REL files.
          Sector read and write functions are not supported as the emulated file
     system uses common DOS files to store each program or file, to provide
     maximum flexability.  This method means that there is no partitioning,
     "virtual disks", or other means to emulate the 1541.  The end result is
     that subdirectories (8 character names only), and full 16 character file 
     names are fully supported, and each drive may have well in excess of 664
     blocks available, often around 160000 blocks for a 40MB drive (this
     author intends to connect his C64 to a PC on a network just to see the
     truly awesome site of "7812500 block free" [that's 2 Gigabytes!]) .
          On top of the standard 1541 emulation (at KERNAL level), there are
     also many other facilities, including 5KB/sec fast loading (up to 12KB/sec
     on a Commodore 128, in C64 mode, with burst loading), off board
     machine code monitor,
     PC to C64 file transfers with exceptional ease, networking facilities
     including passwording and differing access levels, improved loading and
     saving displays (percentage completed, address ranging or normal).
          Further, due to 64NET's disk drive emulation, there is no limit
     to the number of files that can be stored on a "disk", subject of course
     to the physical size of the actual disk!
          64NET allows you to access any physical disk drive on the PC including
     floppy drives, hard disks, removable drives, and even CD-ROMs!  Drives
     A: to Z: are assigned by default to partitions 1 to 26 under 64NET,
     although this is easily reconfigurable if desired.  In addition
     to this, any PC subdirectory can also be assigned a logical partition
     name or number, making it simple to access that directory directly.

     5. 64NET Functions:

        Basic Functions

          Almost all LOAD and SAVE commands which function on a 1541 will
     work correctly, unaltered under 64NET.  64NET however increases the scope
     of these commands, with the inclusion of subdirectory support and DOS
     file exchange.

     i) General differences from a standard C64.

          Whereas on a 1541 loading a directory has only a few options, in
     64NET there is much more flexibility and choice.  All 1541 directory loading
     options are supported.  The default directory
     load is a directory output almost identical to a 1541, listing all PRG,
     SEQ, USR and REL files (ie. all "CBM" files on the emulated drive), but
     adding the DIR files, which are the subdirectories of the logged drive
     and directory.  Other filetypes which might be seen include IBM, which
     are files that are not definately known to be C64 files of some type.

          3 "/64NET         "  64NET
          0    "CODE":            DIR
          0    "TEMP":            DIR
          0    "UTILS":           DIR
          0    "GAMES":           DIR
          0    "DEMOS":           DIR
          0    "EDUCAT":          DIR
          0    "DRIVERS":         DIR
          0    "BACKUPS":         DIR
          0    "PROGRAMS":        DIR
          2    "64NET COPIER":    DIR
          5    "GEOS BOOT":       PRG
          7    "MENU":            SEQ
          1    "STARTUP 1":       PRG
          2    "STARTUP 2":       PRG
          50   "TURBO ASSEMBLER": PRG
          0    "TACODE":          DIR
          1    "TEST.SRC":        SEQ
          0    "TEST.SRC":       *SEQ
          67    BLOCKS LISTED.
          30107 BLOCKS FREE.

     Figure 2, Example directory listing from a 64NET 'LOAD"$ [RETURN]'


          There are several differences immediately apparent to that of a
     conventional directory listing derived from a 1541.  Examining the
     header line you see something like the following, which can easily be
     interpreted.

          3 "/64NET         "  64NET

          ^  ^                 ^
          |  |                  -- Disk "ID", always 64NET.
          |   -- Current logged directory on PC server.
           -- Current logged disk drive on PC server.

     You may notice that there is no disk header, instead the current path
     on the server (in unix style "slashes" forward instead of backward, ie 
     "/" not "\") is displayed.  Also note the drive unit number (which is
     always zero on a 1541). The three in the example corresponds to drive C:
     on the PC (0 is reserved for 1541 compatibility).

     You might also have noticed that "splat" files (marked with a "*") are
     also supported under 64NET!

Here are some things to try:

	LOAD"$:/*,*
	(note you dont need a ,7 or end quote if you dont want to :)
	This will display ALL files of all types (IBM & CBM) in the root 
    directory of the logged 64NET drive.

    LOAD"$:/*,PC
    This will display all files in the root directory of the logged 64NET
    drive which are not known C64 files.

	LOAD"HELP
	Get the online help system, self explanatory from there.
	The help service is VERY FAR FROM COMPLETE, there are only about 
	6 man pages in it.

    Advanced Functions:

    Disabling and re-enabling the 64NET WEDGE.

    In order to use certain features of your Commodore 64 you may find it
    necessary to disable 64NET temporarily.

    To disable the 64NET wedge, just press and hold the RUN/STOP key, and
    smartly
    tap the RESTORE key.  Your screen should return to the standard power-up
    message and colours.

    To re-enable the 64NET wedge, type SYS 53242 (if you used the default
    location to install 64NET), and press RETURN.  64NET will not
    display any messages to indicate that it is active again at this point.
    If you believe that 64NET is not behaving correctly at this time, then
    entering SYS 53245 (again, assuming the default location) will go through
    the full boot sequence again.

    Built in LOAD commands.

       These give access to the built-in functions of the 64NET server.

    LOAD"NETWORK STATUS

        Displays the status of 64NET and the C64 you are using.  You
    should see something similar to figure X below.

    ---------------------------------------
    64NET V1.68N BETA
    4 USER RELEASE.
    USER NUMBER: 2
    USER NAME:ANONYMOUS
    PRIVILEGE LEVEL:HIGH
    ---------------------------------------

    Figure X, result of a LOAD NETWORK STATUS.

	LOAD"USER STATUS

        This command requires MASTER level access, otherwise a PRIVILEGE
    ERROR is returned by the server.  If you have appropriate access then
    you will see a display like that below in figure Y.

    Figure Y, result of a LOAD USER STATUS.

    LOAD"DOS STATUS

RJA     Does nothing on my system, apart from thrashing the hard disk for
        a bit.  Then  "09,PRIVELIGE ERROR,03,03" on the server.


    LOAD"MON

	   This is an off board disassember, taking up no additional memory on
       the Commodore 64!

	   @"command" sends "command" to the default disk drive, eg. @$ will
        get a directory of the drive.
            Note: try @fruit - who said utilities have to be dull?  :)
       X or Q will exit from it.
       A to assemble,
       D to disassemble,
       M to view memory in block format,
       I to view memory as ascii,
       F to fill,
     ` H to search memory (if you're really lucky!!)

    64NET Disk commands:

    "S:filespec"        -    Scratch file(s)
    "UJ"                -    "Reset drive"
    "RDdirectory"      -    Remove empty subdirectory
    "MDdirectory"      -    Create a subdirectory
    "CDdirectory"       -   Change current subdirectory, on logged drive.
    "CPpartition"       -   Change current partition

RJA what directory will you be in?  RJA to check

    "I"                 -    "initialize drive" => clear dos message to 00,OK
    "NET:LOGOFF"        -    Log out of 64NET as a "network client"
    "NET:DEFUSER:class" -    Set security class of non-logged in users
                              (one of NONE,VISITOR,LOW,HIGH,MASTER)
    "NET:FILECLASS:class:filename" - Set security on a file to one of the classes
                              listed above.
    "NET:CLASS:portno:class"-Set the security of another user (only MASTER may do
                              this)
    "O[%-][%+][$+][$-][D+][D-][B+][B-]" - Change various preferences
                        %+/%-  - Enable/Disable Percentage display on LOAD & SAVE
                        $+/$-  - Enable/Disable Address display on LOAD & SAVE
                        D+/D-  - Enable/Disable "directory loading"
                        B+/B-  - Enable/Disable Burst Loading



     6. 64NET Utilities

    64NET comes with a number of useful utility programs to enhance your use
    of the system.

    For the C64
    
    64NETCOPY provides a fast, simple means of copying files from your first
    CBM drive to the PC hard disk's logged directory.  Note that it loads the
    CBM program into the normal load area for the program, so programs which
    load into the same area as the 64NET WEDGE will not be able to be saved
    using 64NETCOPY.

    64NET FILE COPIER (v2.00.1)
        - T/U tag/untag all.
        - "space" to toggle all.
        - "return" to tag file.
        - C to start copy operation.

        Has progress meter!

    MON is an off board monitor/assembler.  Details can be found (for now)
    in the Advanced usage section.

    PC Utilities

Ok, now also included in the PC archive are a few other utilities:

	C64DMON a bodgey X-Tree style sort of thing for the virtual file system.
	64DIR do a directory showing .N64 files a bit better :)
	DEHEADER (?) convert .N64 files to raw 64 format.
    CNVRT64 will convert several popular PC C64 emulator file formats to
       the N64 format used by 64NET.


	The C64DMON has a basic listing exporter for the really keen types.



     7. Customisation of 64NET

    As mentioned earlier, when the 64NET WEDGE starts it loads a file from
    the server named STARTUP n, where n is the number of the parallel port
    that the particular Commodore 64 is connected to.  This STARTUP program
    loads into the start of BASIC memory ($0801) and is RUN.  It can contain
    any Commodore 64 BASIC commands, stored as a Commodore BASIC program.

    Some examples of what can be done are:

    Change screen colours, load and access alternate character sets,
    load and run utility programs, load and run games, or just about
    anything else you might like to think of!

    Permanent customisation can be performed by editing the 64NET.INI file
    in the PC's 64NET directory.

    The structure of the INI file is as follows:

    [customisation item]
    customisation details
    more details
    [another item]
    details about that

    etc..

    To disable out an option temporarily, without deleting it from the .INI
    file, place a "#" character at the start of the line you wish to disable.

    The data in the .INI file must strictly follow the order shown below,
    although no detail fields need be present.  Any detail field not present
    will cause 64NET to use the default value shown between brackets after
    that detail field.

    Specifically, the items that can be customised are:

    [Security]

        Details are:
            DefaultClass ()
            Prompt ()
            AllowVisitorLoging ()

    [Preferences]

            Percentage Display ()
            Directory Load ()
            Burst Loading ()
            Help Path ()

    [Partition Links] - allows you to assign PC devices and directories to
                        a particular 64NET partition name or number.
                        The default is to assign partitions 1 through 26 to
                        drives A: through Z:

        Details:

            partition_name/number,path

        eg. 7,C;\64net\games assigns logical partition 7 to the games
            directory under the 64net directory on the C: drive.  Therefore,
            a CP7 command will take you straight to that directory, no matter
            which drive and directory you previously had logged..

            Ralphey's Directory,D:\TM\DOWNLOAD\CBM\SECRET is also quite
            valid.  Therefore a CPRalphey's Directory command will take you
            to the specified directory.

            Note that a maximum of 255 partitions can be assigned, although
            the partition numbers can be from 1 to 65535.  Partition names,
            should you wish to use them instead or as well, can be up to 32000
            characters long!  The comma "," character may not be used as part
            of a partition name.

     8. 64NET Limitations

    In order for something as wonderful as 64NET to work, certain things
    about the Commodore 64 must be changed, or restricted.  For instance,
    64NET must occupy some memory on the Commodore 64, and divert operation
    through itself.  This leads some potential problems.

    Firstly, by occupying memory there will be certain programs which cause
    problems by wanting to use that same area of memory.

    Secondly, by diverting operation, programs which rely on precise timing
    may be affected.

    Finally, programs which wish to install fastloaders or otherwise bypass
    normal kernel disk operations will undoubtedly fail, as 64NET is NOT a
    1541 disk drive!

    As programs are discovered which are 64NET incompatible, they will be
    noted.  Attempts will then be made to either improve 64NET to remove the
    incompatibility, or the offending program's author will be contacted if
    possible to update the program.

     9. 64NET Trouble-shooting Hints & Tips

Q.  It hangs WHENEVER I try to use it!
A.  Run the software on the PC FIRST, then after you see the 64NET server
    screen (see page XX) you can run the C64 wedge.

Q.  64NET hangs on me sometimes.
A.  There's a few things you can do about this:
     * If the hanging occurs in the MEMORY MONITOR or HELP SYSTEM, try taking
     your PC out of turbo during this time (i dont know why, but it helps!!).
     * When in the MEMORY MONITOR or HELP system, dont type too fast (related
     to suggestion above, another unknown).
     * Use a cable SHIELDED cable, as short as possible, as i believe that 
     much of the problem it to do with "line talk".  "Short" is no more than
     say about 3 metres (although working cables of 25 metres have been tested
     these cables experience more crashes and hanging than users of shorter
     cables).  The PC parallel port expects to transmit over a distance of
     no more than 5 metres, so longer cables may cause your 64NET system to
     experience timing problems.

Q.  When I load a file it loads in TWO BYTES UP from where it should.
A.  When the file was converted to .N64 format, the load addr header was not
    processed correctly, try the conversion again.

Q.  Some programs "hang" part way through loading, or don't load all parts
    of a multipart program.
A.  Your program loads into the area occupied by the 64NET WEDGE (default
    $C800-$CFFF).  Try loading the wedge into an alternate area.  This may
     take some trial and error until you find
    a memory location "safe" from your program.

    Another solution is to purchase 64NET-PRO, the plug-in replacement
    KERNEL ROM for the Commodore 64, which eliminates most known loading
    compatibility problems!  Contact your distributor for further details.

Q.  My program loads okay, but hangs when I run it.
A.  Your program is being confused by the altered vectors that 64NET uses.
    The solution is that after the load finishes, reset the vectors by
    pressing and holding the RUN/STOP key, then smartly tap the RESTORE key
    until you see the standard "blue on blue" power up screen.  Your
    program should work fine now.  To reactivate 64NET after your program
    finishes, enter SYS 53242, if loaded into the default location.

     10. Programming with 64NET.

64NET Extended function set
---------------------------------
Dated:  25 May 1994

Purpose:  To allow FAST usage of the features of 64NET for applications
     designed with 64NET in mind.

Calling Convention:

     SendChar "X"
     SendChar "Function Id"
     {
      Parameters
     }
     JMP 64NET_Serve_Loop

     Check A for a nonzero value (or ST)

Functions Available:

     "R" - Read a block of memory from a file (at the current position)
           Parameters:  low byte-high byte of start address and 
                        low byte-high byte of end address.

     "W" - Write a block of memory to a file (at the current position)
           Parameters:  low byte-high byte of start address and 
                        low byte-high byte of end address.

     "P" - Set current position in file
          Parameters:  "I" if setting input file
                       "O" if setting output file
                       32bit (least significant byte first) value for new
                       file position.


     Appendices

         A. Compatibility List

         B. 64NET Support

         C. The Future of 64NET

         D. Constructing the 64NET cable.

         E. Differences between the Public Domain and Commercial releases
            of 64NET.

         F. 64NET File Format.

         G. 64NET Error and Status Messages.

         H. 64NET Reserved Filenames and their Functions.

         I. Files provided on the 64NET system disk.

         J. Installing 64NET permanently in your Commodore 64.

         K. Glossary.

         L. 64NET Registration Form.

         M. Recognised PC filetypes.

         N. Multi-lingual operation.

     A. Compatibility List

        Does 64NET work with...

        1.  Jiffy DOS

            Partly.  the "Ctrl-D" function fails, but most of the loading
        procedures work.  Negotiations are underway with CMD to hopefully
        enter into joint development.

        2.  Action Replay Cartridge

            Also partly.  Most of the loading procedures work, but the
        directory function only accesses the "real" device 8.

        3.  GEOS

            Not at this time.  A team of German programmers are working
        on a patch for GEOS to make it 64NET compatible.

        4.  C-128 & C-65

            In C64 mode, yes.  In native modes, not yet.  It is being
        worked on.  Note that the C64 wedge source code is available as part
        of every 64NET distribution, should you wish to make it compatible
        with some device or program of your own.

> 1. Where does the C64 end software load, and what does it get in the way of? 
>    What programs do and don't work.

The wedge programme default loads from $c800-$cfff (approximately).
, i am working on
making some replacement "64NET" roms for the C64 that will make it
100% transparent, but with out drive bumping, and with conventional
serial comms also. (possibly at the expense of rs-232 on the user
port coz they cant both be used at the same time (ie switch roms like
an amiga!)

> 2. Does it work on the 128?  If so, see question 1.

No idea! I dont own one.  I would say, however, that the OPEN,CLOSE 
wedges would work. LOAD & SAVE would have to be managed through them
(ie goodbye burst loading :( )

> 3. What about CP/M mode on the 128?

Hmm, different CPU!
I'd have to re do the code in Z80, but i cant see why it shouldn't
work, pv i got some info on the file system, and where the wedges
would have to go etc..



     B. 64NET Support

        The author of 64NET is dedicated to the support of 64NET, and
    welcomes your feedback, either in the form of suggestions for
    improvements to 64NET, or reports on problems with its use.  Naturally
    only registered users can expect any formal response to problem
    descriptions.

        You should contact the distributor you purchased 64NET from in the
    first instance with any questions.  If the distributor cannot answer
    your question they will refer it to the author.

        Authorised 64NET distributors are:

    Australia, East:

        Russell Alphey

    Australia, Central and West:

        Paul Gardner-Stephen

    Germany:

        Michael Renz


        The software author can be contacted in a number of ways -

    Voice:	   +61 8 2777479
    BBS:	   +61 8 2771361 (answer all questions for instant d/l access)
                The BBS carries the latest support files for 64NET, as well
                as a "problems" database with solutions.
    Internet    pgs@flinders.edu.au
    Snailnet:  Paul_Gardner-Stephen@1_Hurst_St.Morphettvile.SA_Australia_5043
                (Australia)

        The manual author can also be contacted several ways -

    Voice:      +61 3 6513057 (BH)
                +61 3 4278558 (AH)
    Fax:        +61 3 6514073
    Internet:   R.Alphey@dce.vic.gov.au (preferred)
                ralphey@mirage.aero.rmit.edu.au
                Russell.Alphey@p1.f100.n638.z3.fidonet.org
    Fido:       Russell Alphey at 3:638/100.1
    Snail:      Russell_Alphey@439_Punt_Rd.Richmond.Vic_Australia_3121

     C. The Future of 64NET

customise dir separator?
64netpro - ROM?  serial??
128mode
128-cp/m mode
65mode
Pet mode
Amiga version


     D. Constructing the 64NET cable.

        The 64NET cable requires no special skills to create, except
    confidence in your own soldering ability.  A person will rudimentary
    soldering skills ought to be able to build a complete, working cable in
    under 10 minutes.

        Parts required:

        1 * CBM User Port female adaptor (mandatory)
        1 * DB25 connector, of suitable sex for plugging into your parallel
            port - usually male (mandatory)
        1 length of 9 wire (minimum) cable [preferably shielded] (mandatory)
            note that about 4 metres of cable is advised for maximum
            flexibility, but you would should consider your own computer
            layout.
        solder (mandatory)

        1 * CBM User Port adaptor back shell (optional)
        1 * DB25 back shell (optional)

        The back shells protect the solder joints, by providing a secure
        place to grip whilst removing the cable ends from the computers
        which reduces the strain on the joints.

    The pinout for the cable is:

	Userport	PC Printer port
    CBM name
	-------------------------------
	A (GND)		25 (GND)
	C (pb0)		10 (an input line)
	D (pb1)		11 (an input line)
	E (pb2)		12 (an input line)
	F (pb3)		5 (data bit 3)
	H (pb4)		6 (data bit 4)
	J (pb5)		7 (data bit 5)
	K (pb6)		8 (data bit 6)
	L (pb7)		9 (data bit 7)

    It is very simple to make!  Just solder the individual wires to each
    adaptor, making sure that each wire is connected to the correct pins
    at each end, and that there are no touching wires.

    This author was able to make a working cable, first time, on only his
    second attempt at soldering.  However, if you do not feel confident
    that you will be able to successfully build a 64NET cable, then contact
    the distributor from whom you purchased 64NET, and they will provide
    a 64NET cable for a nominal fee.

     E. Differences between the Public Domain and Commercial releases of 64NET.

    Whats in and whats not?

	SAVING to the PC is out
	LOADING is in (less than about 200 blocks though [as of 1.68])
	OPEN is in (for command channel only)
	INI parsing is in
	BURST-LOADING is out

     F. 64NET File Format

64NET v1.50 BETA .N64 File format
---------------------------------

$0000-$0002 -  "C64"
               Note: Used to identify file as being a valid 64NET archive
$0003       -  64NET File format version
               Note: Current=$01

Current use for version $01 files:

$0004       -  1541 equivalent file type
               Valid types are:  $x0=DEL   $x1=SEQ
                                 $x2=PRG   $x3=SEQ
                                 $x4=REL (not implemented)
                                 $x5=DIR   $x6=DIR

               Note: Assigning a file as a REL, DIR or IBM type could have
                     strange side effects and is not reccomended.
$0005-$0006 -  Load Address (for ,8,1 loads) in standard CBM "low byte, high
                byte" format.
$0007-$000A -  32bit file length in bytes (NOT blocks).  This is also stored
                in low through high byte format.  Therefore the filesize
                is actually
                ($07) + 256 * ($08) + 65536 * ($09) + 16777216 * ($0A) bytes.
                It is rather unlikely that any legitimate C64 file will ever
                have a value other than 0 (zero) in $0A!

$000B       -  64NET Network security level ($00 = none)
               Note: if this value is >MASTER then the file is completely
                  inaccessible, except through the disk monitor.
$000C-$001E -  Reserved for future enhancement
$001F-$002E -  16 character file name padded with $00's
RJA $002F       -   ???????
$0030-$00FF -  Reserved for future enhancement
$0100       -  Start of actual file body

NOTE:  A known bug is that the first two bytes of the files (its load address)
  is NOT RETRIEVABLE through an OPEN and GETCHR combination, resulting in the
  possibilty of incompatibilities.  This problem will be solved in 64NET
  VERSION 2.


     G. 64NET Error and Status Messages.

        Conventional 1541 responses are given by 64NET, but these are not
        shown here.  Please see your 1541 disk drive manual for a list of
        other (standard) status messages which are not listed.

00, OK,00,00                   - OK!
00, WELCOME,00,00              - User logged on with network access
00, GOODBYE,00,00              - User logged off from system

01, FILES SCRATCHED,nn,00
02, NO FORMAT,00,00            - You cannot format a PC drive from the C64
03, NOT 4040,00,00             - The 4040 drive D command (duplicate) is not
                                   supported by 64NET
04, OPTIONS SET,00,00          - Attempt to alter system option succeeded

05, SUBDIRECTORY EXISTS,00,00  - Attempted to create a dir that already exists
06, SUBDIRECTORY CREATED,01,00 - Attempt to create a dir successful
07, SUBDIRECTORY REMOVED,01,00 - Attempt to remove a dir successful
08, DIR NOT FOUND,00,00        - similar to "file not found" for directories

09, PRIVELIGE ERROR,01,00      - Unauthorised access to "system" files
09, PRIVELIGE ERROR,02,00      - Attempt to save with VISITOR access.
09, PRIVELIGE ERROR,03,01      - Unauthorised attempt to use "MON"
09, PRIVELIGE ERROR,03,02      - Unauthorised attempt to use "NETWORK STATUS"
09, PRIVELIGE ERROR,03,03      - Unauthorised attempt to use "USER STATUS"
09, PRIVELIGE ERROR,04,00      - Unauthorised access to network
09, PRIVELIGE ERROR,05,00      - User not allowed access to file

10, SYNTAX ERROR,00,00         - Error in "NET:" disk command

73, 64NET V1.68N BETA 1994,00,00 - Power-up message

     H. 64NET Reserved Filenames and their Function.

        All of these facilities are accessed by LOADing the filenames listed
        below.  Note that if you chose to save files with these names, then
        your files are inaccessable from 64NET.  This is to ensure that
        the 64NET facilites are always available.  If you do save files
        with 64NET reserved names, then you will have to "repair" their names
        using the 64DMON program's (R)ename function.

        Filename         Function
        ========         ========
        MON            - Offboard memory monitor
        HELP           - On-line help system
        DIR            - Loads full path and drive information
        SYSTEM OPTIONS - Displays (not loads) the current preferences
        NETWORK STATUS - Display info about yourself (not load)
        USER STATUS    - Display info about all users (MASTER access required)
        DOS STATUS     - LOAD the current DOS message (this does not clear
                         the message however)

     I. Files provided on the 64NET system disk.

        1. C64 files

            64NET WEDGE
            64NET KERNEL
            PATCH-ROM

        2. PC files

            64NET.EXE
            DEHEADER.EXE
            64DMON.EXE
            64DIR.EXE

     J. Installing 64NET permanently in your Commodore 64.

        WARNING!  The process described below will,

            a) Void any warranty on your C64,
            b) Possibly damage your C64 is done incorrectly,
            c) Frustrate you if you would like to install 64NET permanently
               in your C64, but can't (for one reason or another), and
            d) Possibly make you a little more aware of the insides of your
               C64!

        At this point in time the author has not been authorised to provide
    modified copies of CBM's C64 kernel ROM.  To do so without express
    permission would be in breach of CBM's copyright of that ROM, as what
    would be distributed is most substantially the work of CBM.

        However, relief is at hand!  If you have access to an EPROM reader
    and burner, then you can create your own, legal copy of a 64NET compatible
    kernel ROM.  Here's how...

        Firstly, use the EPROMMER to read your kernel ROM, and save a copy
    to disk.  Then, run the "PATCH-ROM" program provided on your 64NET
    distribution disk, following the instructions shown on the screen.
    Finally, burn a new EPROM with the patched kernel (named KERNEL.64NET).

        That's all there is to it!

        If you don't have access to an EPROMMER, then your 64NET distributor
    *may* be able to assist you in this regard, but we make no guarantees
    of this.

     K. Glossary.

logged drive - the PC server disk drive that 64NET is currently accessing.
logged directory - the (sub)directory of the PC server that 64NET is currently
                    accessing.
wedge - a program loaded onto the C64 which is "wedged" into the operating
                    system in order to alter normal operations.
kernel replacement - a program or ROM chip which is used instead of the
                    kernel ROM provided with the C64, eg. JiffyDOS.
DOS - Disk Operating System.  Also a commonly used abbreviation for the
                    operating system used on PCs.

     L. 64NET Registration Form.

        Please take the time to fill in this form, and return it to
    the author.  It will ensure that any updates to 64NET are forwarded
    to you, and that in the event of a problem with a distributor, you
    will still receive support for 64NET.  Only registered purchasers will
    receive update notifications.

    Name:

    Street Address:
    City / Town:
    Country:
    Post/Zip code:

    Your email address, or fidonet node:

    Contact phone number (optional): [..] (...) ...-....
        [country] (area) local-number

    Your 64NET Distributor:

        Thank you.  If you could also fill out the following survey questions,
    it will help us make 64NET even better!

    Where did you hear about 64NET?


    What did you hear about 64NET?




    What do you like about 64NET?


    What do you dislike about 64NET?


    Would you recommend 64NET to other C64 owners?


    Why/why not?




        Thank you again for taking the trouble to answer the survey.  Please
    post the completed form to:

    Paul Gardner-Stephen
    1 Hurst St
    Morphettvile
    South Australia 5043
    Australia

    or you can email it to:

    pgs@flinders.edu.au

     M. Recognised PC filetypes.

        As at V1.68beta, 64NET recognises the following "standard"
    filetypes on the PC as containing valid C64 files, as part of its
    virtual file system (VFS), and can therefore allow you, the user, access
    to the files contained therein.

        .N64 - 64NET's own, preferred filetype.
                (64NET will only save as .N64 filetype)

        .T64 - C64S PC disk files.
                The .T64s don't have the C64 filename stored in them
            correctly in all cases, so the 64NET displayed filename may
            not be absolutely descriptive.
        .P00
        "raw" - ie. files which are plain CBM $0801 loading files.
        "red raw" - what are these?
        The author is also working at enabling recognition of other known
    filetypes, such as .D64, .P00.

     N. Multi-lingual operation.

        The file 64NETMSG.nnn (where nnn is the country code of the country the messages
have been converted to the native language of) in the PC directory contains almost every message
    that 64NET will ever display.  These messages can be altered to display
    anything you wish, including in languages other than that which you
    originally received it.

        Hopefully your distributor has already provided a copy of this
    file in your native tongue.  The 64NET team would be pleased to
    receive copies of 64NETMSG converted to languages other than English,
    but be warned we will make sure that the messages contain the original
    meaning, and are not abusive, or offensive!

        Files on your distribution disk named 64NETMSG.xxx contain a copy
    of the 64NETMSG file already converted to the language indicated by
    'xxx'.  Eg., 64NETMSG.GER contains a German (Deutsche) version of
    64NET.MSG, and 64NETMSG.SWE contains a Swedish version.

        Suffixes adopted by 64NET for the MSG files include the following.
    Please be aware that they only indicate the language which is conatined
    in the particular MSG file, *IF IT EXISTS ON YOUR DISK*.  It is not an
    indication of which languages 64NET.MSG has been converted to!

    ENG - English
    GER - German (Deutsche)
    SWE - Swedish
    NOR - Norwegian
    FIN - Finnish (Suomi)
    ITA - Italian
    FRA - French (Francaise)
    DAN - Danish (Dansk)


*** Junk to add into manual.
1)

LOAD "VMEM:xxxx:yyyy:zzzz"
SAVE "VMEM:xxxx:yyyy:zzzz"

xxxx = page number of first mem page to load/save ($0000-$ffff)
yyyy = first address to load into/save from
zzzz = last address to load into/save from

This will allow 16MB of Virtual memory!
A partition will have to be allocated as the "swap drive", and this can still
be used for nthe normal VFS also.. The VMEM file will get as big as you swap
into it! and will _NOT_ necessarily be deleted at the end of a session
(wow! - `battery backed' RAM! :-)

2) REL files (finally!)

3) Fakey sector operations if i really feel upto it (fake copy protection ?)

4) "off-board" file copier (bi-directional).
   This will require a bit of work to get going well.
   It may yet be easier to slack it and write the rest of the one i've
   already started.



