This file will contain the newest additions to 64NET for the last few versions, until each alteration/addition is incorperated into the 64NETMAN.DOC file. So to get the most from the 64NET system it is suggested that you read the 64NETMAN.DOC file first, then read this file through. Note that much of this information is aimed primarily at those who write software more than the typical end user - having said this however, the typical user could most certainly gain a few pearls from reading this in any case. ----------------------------------------------------------------------------- IMPORTANT!! If you intend to use 64NET with GEOS, please read the READTHIS.TOO file (the first few sections anyway ;) as it explains the use of the 64NETCFG programme which greatly simplifies GEOS configuration under 64net!! If you do not read this additional information you may find yourself in a spot of bother when you go to copy files to and from GEOS!! ----------------------------------------------------------------------------- I hope the 64NET system is of much use to you as it is to me! Paul Gardner-Stephen 64NET v1.82.53 BETA Addendum ---------------------------- (15th August 1995) 1) 64NET now supports a few improved things for GEOS support: i) Read/Write - Write Protect flag (In each partition entry just before the drive type byte) ii) Improved partition creation now handles Add above, add below and add to end. NOTE: There may be problems with add abovce and add below where the wrong partition is formatted!!! Please use only Add to end when creating a partition. The reason why this happens is a complex one, and there is no easy fix yet! (it has to do with the virtualisation of the disk images and virtual memory paging behavior etc.....) 2) Later distributions of this package should now include the GEOS drivers directly!! If you are still unregistered you will only be able to read disk images. Your dealer should be able to provide you with a few demo disk images to demonstrate the power of the 64NET & GEOS combination! English translations of the GEOS software shouldnt be too far off either! 3) 64NETCFG.EXE does *NOT* handle the old style virtual memory settings in 64NET.INI. This is *intentional* as 64NET is intended to use only the disk images with GEOS now! As there is no other software which depends on the Virtual memory system at this stage, i have decided to remove it from the code at some stage in the near future. IE - you should *always* have GEOS Virtual Mounting activated (The only reason this setting is still able to be changed in 64NETCFG.EXE is for people who have been BETA testing the GEOS software (the very few of them!) so that they have a chance to transfer their files over to the new system. 64NET v1.82.51 BETA Addendum ---------------------------- (Saturday 22th July 1995) 1) 64NETCFG improved with more functions. It is now officially recommended that you run 64NETCFG after INSTALL to help you configure 64NET to your likings. NOTICE: When ever you tag mounts to add or remove, you *MUST* hit S for the change to be recorded, and it must be done on that screen! Then press ESC to go back to the previous. Appologies as there is currently no German translation of this programme. 2) 64NET can now virtualise the quick mount list into the virtual memory system, thus allowing GEOS to directly access .D64 and other disk image files. You may also create disk images easily via the partition manager, and these disk image files will automatically be placed in \64NET\GEOS. NOTE: You may only use the partition numbers 1 to 26 in the quick mounts if you intend to activate virtualisation, this is done autmatically if you use the 64NETCFG programme, or create the partitions from in GEOS. 3) If you have been using the "old" GEOS mode in previous versions of 64NET, you will have to back all of the data yuo wish to keep onto disks, as the old style partitions are not available under the new scheme. This should only effect about 3 BETA testers, so it wont be a real problem :) 64NET v1.82.50 BETA Addendum ---------------------------- (Thursday 20th July 1995) 1) Printing under GEOS now works properly (woop woop!;) Hopefully the GEOS drivers will be included in the 64net distribution in the very near future. NOTE: Printing takes almost 100% of the CPU time as there is a constant character stream coming from the C64/C65/C128 - thus background operation is disgouraged (and has not been tested yet! - but feel free to try). 2) The printer selection is now improved: [PRINTER] (or [DRUCKER]) DEV= 64NET will attempt to determine if your have specified a port or a file. Use the 64NETCFG programme described below to set this option with ease! 3) The 64NET archive now contains a simple configuration programme called 64NETCFG.EXE. This programme will allow you to alter some of the more useful options in the 64NET.INI, and provides verbose information on the function of each option. At this stage only nine options are listed, but expect this to increase! It is highly recommended that you run this programme as it can be used to easily set your printer device for use with GEOS amongst other things. 64NET v1.82.45 BETA Addendum ---------------------------- 18 July 1995 1) 64NET now attempts to swap into EMS memory when forced to background. Put a line with just the word EMS under preferences in 64net.ini, eg: [PREFERENCES] EMS This means that background mode is a little slower, but takes less than 8KB!! (I have 615KB free with 64net in background) Please report any problems with this! NOTE: To stop "jerky" speed of the foreground process you should override the SPEED value under preferences to a "nice" value (so that the port scan is a little to fast to read), otherwise you may notice slightly crusty performance of the foreground processes. This new mode has only been tested behind MS-DOS edit and a few other smallish programmes, but no problems have yet been encountered. 2) Hopefully printer ready detection is working now (after how long!!) 3) Work has begun on 64NET v2.00.00 - this will still be some time away, but expect such niceties as intrinsic d64/d71/d81/dhd access, much improved compatibility etc. v2 will also work under UNIX, and over WAN's (such as Internet) 64NET v1.82.42 BETA Addendum ---------------------------- 1) 64NET now resets the ports on termination to $00. Thus reading a $80 can now be used as a good indicator of 64NET's presence. 2) New X commands for locking the old style Virtual Memory system. NOTE: Locks only apply to writes, other parties may still read freely. XLLXXX - Attempt to lock the virtual memory system. Returns: $00 if successful, or $0x if failed (where x is the port number where the lock is currently in use). $00 - A second zero byte is sent to mark end of packet. XLUXXX - Attempt to unlock virtual memory. Returns same as above. XLQXXX - Returns as above, without trying to lock or unlock anything. (that is, query lock status). NOTE: A process should only lock the vm file for short periods of time when writing sensitive data, eg a partition table, or directory etc.. 3) Both printer, and virtual memory locks are released during the 'boot' and login sequences. This ensures that a rogue lock can be removed quickly in the event of a software failure/'Guru Meditation'. (Messages will be displayed as the locks are removed). 4) Pressing F7 on the server will now display who has what facilities locked. This display is not updated continuously for various reasons. 5) Inter process-pipelines now operational! Use the following DOS commands: IPPSxMESSAGE - send a message to one or more stations where x is the destination - 1 ,2,3 or 4, or B to broadcast to all. Possible returns: 95, PIPELINE FULL,xx,00 (one or more of the receipients pipelines are full). IPPR - read the oldest message in your pipeline Possible returns: 94, PIPELINE EMPTY,00,00 or @xyMESSAGE x = port number of sender (1-4) y = 1,2,3,4 or B (method sent - broad cast, or sepecific) IPPF - Flush your pipeline returns: 17, PIPELINE FLUSHED,00,00 NOTE: The pipelines are not flushed by a login or reset of client. This is done for several reasons - if you *must* clear the pipelines add a line something like: OPEN15,peek(167),15,"IPPF":CLOSE 15 to your startup sequence file. ------------------------------------------------------------------------------ 64NET v1.82.40 BETA Addendum ---------------------------- (Thursday 13th of April 1995) 1) "XDW" command nolonger needs DOS commands to be trailed by a carriage return. 2) Printer redirection should now work to printers as well as files. NOTE: This feature is for GEOS only (for now). 64NET v1.82.15 BETA Addendum ---------------------------- (Tuesday 15th March 1995) 1) Documentation of several "X" commands: "XDW" - Send a disk command. Sendchar Then send the actualy DOS command "XDR" - Read DOS status message Getchar Then read string of length characters Getchar $00 (Packet tail) "XS" - D64 sector operation Senchar "R" for read, or "W" for write Sendchar Sendchar sendChar Ten send/receive 256 bytes of data, and one more ($00) as packet tail. "XA" - Who am i?? GetChar "XV" - Get 64NET version GetChar GetChar GetChar $00 (Packet tail) "XT" - Return time, date and country code byte, seperated by spaces and followed by a $00 byte. "XOP" - Send a single character to the printer (if you have it locked!!!) NOTE: ***This command has changed since v1.82.11 !!!*** GetChar printer_lock_status GetChar $00 If Printer_lock_status = $00, then SendChar SendChar $00 2) Some info on new DOS commands: a) Add entry to mount list: HLA<[path/]filename.d??> b) Remove entry from mount list (shifting others down) HLS<"000"-"255" or "&H00"-"&HFF"> c) Read Mount list entry into status HLR<"000"-"255" or "&H00"-"&HFF"> Then status containds "<[drive:][path/]filename.d??>,[description] d) Mount an entry from the mount list ML<"000"-"255"> (alternative to reading entry and manually mounting) e) Lock/Unlock a hot list entry HLL<"000"-"255" or "&h00"="&hff"> This will return an appropriate message which will tell of sucess or blatant failure. 3) Some new error messages you might see 90, NO FREE ENTRY,255,00 - Mount list is full 14, ENTRY ADDED,nnn,00 - Entry added to mount list 15, ENTRY REMOVED,01,nnn - Entry nnn removed from mount list 16, ENTRY [UN]LOCKED,nnn, - Sucessful lock or unlock of a hot list entry. 91, NO SUCH ENTRY,nnn,00 - Tried to delete/mount a non-existant entry. 92, ENTRY ALREADY LOCKED,nnn, - You tried to mount a locked hotlist entry. 93, CANNOT SCRATCH LOCKED ENTRY,nnn,00 - Cannot remove a locked (in use) hotlist entry. 64NET v1.82.10 BETA Addendum ---------------------------- (Sunday 4th Feb 1995) 1) Fixed several corrupted files in the distribution archive. 2) Newer "X" Print commands. XOL - Lock printer to your client Returns two bytes: First byte = $00 if sucessful. Second byte = $00 always (packet tail) XOU - UnLock printer, to allow another to lock it. Returns two bytes: First byte = $00 if sucessful. Second byte = $00 always (packet tail) XOP - Send a print job. Returns one byte first: $FF = Printer device not locked to your client. This then returns an extra $00 byte and no print job is accepted. $00 = Print job will be accepted. Send two bytes for the number of characters to print. Then send the characters to be printed. Then send a $00 byte as packet tail. NOTE: This uses the [PRINTER] section of the 64net.ini file to decide where to print. Strange results may occur is this field is not set, also the printer *MUST* be online and ready. no error checking is done at this stage and 64net may crash. Also, a filename may be specified instead of LPTn or PRN as the printer device, this will result in the output being sent to the specified filename, where it can be printed later. 64NET v1.81.02 BETA Addendum ---------------------------- (Thursday 26th January 1995) 1) BUG FIXES! (several comma). Including: disk mounting problems and also some bugs to do with opening buffer channels for sector operations. 2) Printer operations might work now, but no guarrantees here! 64NET v1.81.01 BETA Addendum ---------------------------- (Monday 23rd January 1995) 1) This version can be made to run in background by pressing "B" when the network has started. 64NET can return to foreground with ALT-A. Refer to 64nettsr.doc for more information on using 64net.exe as a TSR. **note: these keys subject to change!!!! ** 2) C128 mode wedges are included!!!!!!!!! (hurrah!!!!) (Many many thanx to Rod Gasson here!) Note that the utilities included are still for C64 mode only. 64NET v1.73.00 BETA Addendum ---------------------------- (Thursday 5th December) 1) .D64, D.41, .D71, .D81 & .DHD files can now be mounted using the mount DOS command which has the fiollowing syntax: Mn[partn:][path/]file.d?? where n is a command which tells the system how to mount: 0 - T&S access only. 1 - Mount directory and T&S 2 - T&S, Private 3 - Mount dir, T&S & Private 4 - Readonly T&S 5 - Readonly T&S,r/w dir 6 - Private, readonly t&s 7 - Private readonly T&S access, full read/write file access. ie - Use a number between 0 and 7 where the bits 0 1 and 2 have the following effect: bit 0 (1) - Mount the root directory of the disk image file system also. Note that any changes to the mounted files will not effect the original image. bit 1 (2) - Mark the image "in use" such that no other client can mount the image while this mount is still in action. bit 2 (4) - Mount the tracks and sectors as read only. Note that if the file system is mounted that is read/write, but will not effect the original disk image. NOTE: Whilst all clients can have different track and sector mount sources, a file system mount is global, and only one can be in action at any one time. This will most likely alter in the near future. Also, a private mount will not make mounted files private, only the actual sectors. This may also change, but it is unlikely. NOTE: When a disk is mounted any changes made to the files are not permanent. Only sector operations are permanent, and changes to the directory will not be visible until the directory is re-mounted, eg @M1flibble.d64. NOTE: When a 1541,1571,1581 or CMD HD disk image is mounted 64net pretends to be that system slightly, such that CMD's FCOPY programme will think that 64net has rather rapidly changed into that drive type (how extensive this effect will be among other programmes is as yet unknown, but we will work on it). 2) A hot list of upto 50 .D?? files can be set up in the 64net.ini file. The title is [MOUNT LIST], and each entry is a Mount DOS command without the leading M, followed by a comma and a description. [MOUNT LIST] 13:/64net/mydisk.d64,My utilities disk ^^ |Partition etc... Mount style Once this is setup you can press 1 through 4 on the server to bring up a menu where you can select any "disk" to mount by usingthe cursor keys and pressing ENTER on the disk to mount. If oyu dont really want to mount after all, just press ESC to make the menu disappear. This feature should be useful for playing multi disk games which require direct sector access, or include files with identical names. 3) Archive mounting A new section in you 64net.ini file can be added titled [ARCHIVERS] which includes information for 64net to automatically decompress any archive it encounters when you try to LOAD it. If i remember you will also be able to use a MOUNT disk command (refer to points 1 and 2 above). This feature should facilitate easy decompression of PKZIP 2.04g and other archives which generally pose a problem on the C64/C65/C128. The files are automatically extracted to the D64TEMP directory which is defined in the preferences section of 64net.ini. The default 64net.ini file should include definitions for the more common archivers (ZIP,ARJ & LZH/LHA). This feature can also be used to save disk space by allowing a ZIP or ARJ file (or other archive) to be made of .N64 files, and then be able to extract them easily, as though you were just changing directories (LOAD"FLIBBLE.ZIP" will decompress and mount the new files). Disk headers can be setup for archives also in the form of the VOLUME.N64 file, which is simply a snapshot of a 1541 style track 18 sector 0. 4) If you find that on your system 64NET's default port scanning speed is too fast or slow, it can now be overridden in 64net.ini with: [PREFERENCES] SPEED nnnnnnnn Where nnnnnnnn is a number between 1 and around 2000000000, the larger the number, the slower the port scan. If you set the port scan really fast on a 486 or Pentium you may find that your C64/C128 may not be able to connect, as the timing tolerances are less than aa single C64 clock cycle, but if you have it too slow then you will suffer unnecessary overheads. A "good" rate is about 10-50Hz (note - for GET# and PRINT# purposes a port is checked once after a transfer to check for another waiting request. This is similar to a VIC Swtich, and allows slow port scanning with still reasonable responce times and transfer rates. Normally the default value will be fine, however if your system has a maths co-processor you may find it will scan unusually slowly. The SPEED option will allow you to over come this. After some fiddling you should find a decent rate. You know youve got it good when you see the port numbers cycle through a "few" times per second. Of course you can set it other wise, and depending on your operation it may end up being a more optimum setting. ------------------------------------------------------------------------------ 64NET v1.72.00 BETA Addendum ---------------------------- (Wednesday 14th December) 1) Bugs in v1.71 with regard to MD and RD corrected (they would always give DIR EXISTS and DIR NOT FOUND errors respictively) 2) The evil hanging bug in the 64NET filecopier when trying to close a file has been corrected. The problem wass no call to SYNC in the code. This may also be added to new versions of the 64NET wedge 3) The disk command "L" will now Lock or unlock a file, depending on if the file was unlocked or locked. The return messages are something like: 00,FILE LOCKED,C2,00 and 00,FILE UNLOCKED,82,00 the 82 and C2 are the new file attributes written. NOTES: This does not currently update the cache as to the new state, and while the file is safe from overwrites when locked, the "<" wont appear until the cache entry for that file is invalidated through somne other means. This should be fixed soon. 4) The "T" X command will return an ASCIIZ string containging the time, date and country code. 5) CD "<-" 's now function correctly. 6) C.M.D. HD/RL/RD DOS style paths are now accepted in most situations, eg, LOAD"$3//64net/plad:* would return a directory of C:/64NET/PLAD LOAD"$/FLIBBLE:* after the previous would display the contents of C:/64NET/PLAD/FLIBBLE. NOTES: This method may only be used in a CD disk command if a ":" is included, however the CP command will automatically accept it. The "old" (aka sensible) format of [[drive]:][/]path[/path ..] will still work in all cases, and in fact the two may be used in combination. The CMD style paths are processed first, so : LOAD "$3//64NET:PLAD/* would be roughly equivalent of the load"$3//64net/plad:* command shown earlier. 7) The 64NETRC file which will be installed into the EXAMPLES directory is the IRC style system for 64NET which allows the users on a 64net network to chat to each other. This system is in its infancy and is SUBJECT TO CHANGE. For some very simple help on the system type "/HELP" and press RETURN which will display some information. Public messages will appear in the form of: n> message Where n is the workstation which sent the message, and message is the message sent. Private messages which you send appear as: -> n message Private messages directed to you appear as: *n* message These formats are very similar to the internet IRC system (this is not sheer coincidence), as is the feel of the whole system. NOTES: While you are typing a message incoming messages are ignored (not logged), and it is VERY possible for messages to be lost if there are a lot of people connected and typing at the same time. Also, there is currently to "DCC" facility - partly as it is pretty pointless as everyone will be on the one server! However when the inter-server 64NET protocols are finalised a DCC style system is very likely to be implemented. ------------------------------------------------------------------------------ 64NET v1.71.00 BETA Addendum ---------------------------- (Tuesday 21 November 10:30am) 1) *.D64 & "zipcode" (1!*,2!* etc) files can now be read by 64NET *** *** Before this will work you REALLY REALLY have to create a D64TEMP directory somewhere and add a line to your 64net.ini file which tells 64NET where to find this directory: [PREFERENCES] D64 TEMP=n:[\path[...]]\ eg D64 TEMP=C:\64NET\D64TEMP\ Note it is a good idea to create this directory also :) (INSTALL.EXE will now do this if you keep the X on D64/Zipcode thingy) *** *** D64 & zipcode files will now appear on directory listings with a file type of "VOL". Loading such a file will result in messages such as: SEARCHING FOR XXX LOADING DECOMPRESSING ARCHIVE <- only for zipcode files MOUNTING VOLUME VOLUME MOUNTED READY. * or SEARCHING FOR XXX LOADING YOU MUST SPECIFY 'D64 TEMP' IN 64NET.INI READY. * or SEARCHING FOR XXX DECOMPRESSING VOLUME ERROR IN ZIPCODE FILES READY. * If you receive the first message a LOAD"$" will display the contents of that volume. Notice that even the disk's header and ID are used. Also almost all of the old directory formatting tricks will work (zero block DEL files, multiple identical files etc). If you receive the second message you have yet to include the entry D64 TEMP= into your [preferences] section of 64NET.INI (nb: future versions of install may do this automatically). If you receive the third message you may have a corrupted set of zipcode files (or a missing file or two!) NOTES: * Mounting a zipcode file can take a while! as the disk must first be decompressed to a .D64 file, then to 64NET files. * The files in the D64 file are excracted to the specified path (D64 TEMP), and as such it is these files which will be modified - not the original D64 file. * 64NET will correctly handle circular directories in a D64 file, but may not handle crosslinked or circular data files. * PRG,SEQ,DEL,USR (non-GEOS) files are correctly handled. REL files may cause problems with this version. Future releases may provide for improved USR and REL file handling. * A D64 file may still be opened for input if it is wished to be copied back to a real drive or otherwise. (only a LOAD will "mount" the volume. * In future releases the mounting of a D64 file may allow sector accesses to point to the D64 file, however there is some work to be done in order to allow this to function in any respectable manner. * In future versions Partition links to a D64 file may be allowed, such that LOAD"$A.D64.FILE:* may mount, and read the directory of a D64 file. * Mounting a D64 file will dismount the previous D64 file mounted. 2) XA special command This command returns two bytes, the first being the Port number (1-4) on which the client is attached, and the second being zero (tail byte). 3) TALK disk command @TALK will send to the error channel of in the following form: 00,,your port #,00 An IRC like system is being developed to take advantage of this facility. 4) an "!" typed on the IBM comat. will invoke a DOS shell. 64NET *DOESN'T* swap out.. so if you have next to no free RAM when running 64NET, you will have next to no room to shell, if any. NOTES: * Shelling with insufficient RAM will crash the server - so you still get your DOS prompt :) (i'll look in to doing something about this). 5) Improved/updated install.exe INSTALL.EXE will now correctly handle and setup the D64 TEMP= field and directory required for D64 & zipcode extraction. INSTALL will now also specify the virtual memory file in the correct place if the X is on that field on the module selection screen. Paul Gardner-Stephen.