home *** CD-ROM | disk | FTP | other *** search
/ APDL Public Domain 1 / APDL_PD1A.iso / comms / a_l / binkley / ChangesLog < prev    next >
Encoding:
Text File  |  1993-10-28  |  63.4 KB  |  1,249 lines

  1. This is the Binkley Fidonet Mailer Changes Log. This should list all the
  2. modifications that the developers have done over the last few years.
  3.  
  4. The developers, and their initials from which changes are identified, and
  5. their fidonet email addresses are as follows :
  6.  
  7. Stephen Davies (SLD) [?????????????????????]
  8. Geoff Riley    (GIR) [2:250/208.0 @ fidonet]
  9. Hugo Fiennes   (HF)  [2:252/102.0 @ fidonet]
  10. Steven Haslam  (SRH) [2:250/116.3 @ fidonet]
  11. Keith Hall     (KEH) [2:250/219.0 @ fidonet]
  12.  
  13. This programmer's log is in reverse-chronological order (jeez!) meaning that
  14. the newest stuff is at the top and the oldest at the bottom.
  15.  
  16. Entries with the same version number but different dates are internal versions;
  17. i.e. they were never released.
  18.  
  19. a *R* by the developers initial indicates that version was a release version.
  20.  
  21. -------------------------------------------------------------------------------
  22. 27 Oct 1993: V2.16 *R*
  23.  
  24.         When sending ArcMail without aliases (xxxxxxxxM1 files), it will now
  25.         substitute the correct day code (Su/Mo/Tu/We/Th/Fr/Sa).
  26.         Last caller display made bigger so you can see the full address rather
  27.         than just "Last: 2:250/219 @ F" etc.
  28.         New config option 'DomainType' to alter the way Arc-Binkley displays
  29.         domains... e.g. DomainType # will display addresses like :
  30.  
  31.         Fidonet#2:250/219.0
  32.         Spherenet#20:925/101.0
  33.  
  34.         whereas DomainType @ (default) displays :
  35.  
  36.         2:250/219.0 @ Fidonet
  37.         20:925/101.0 @ Spherenet
  38.  
  39.         NoPickup flag placed in flags menu so you can call a system and not
  40.         pick anything up (EMSI only)
  41.  
  42.         When rescanning the outbound, the window is cleared properly!
  43.         Outbound window has a minimum size so it will always 'look' right when
  44.         only a few nodes are in it.
  45.         Ensured DTR is enabled and XON/XOFF disabled before an init - could
  46.         have caused problems before, symptoms are extremely slow quitting,
  47.         problems mainly occured on non-Internal serial ports.
  48.         When rescanning outbound, now displays 'Rescanning' in outbound
  49.         window.
  50.  
  51.         Selecting Exit from the task manager should now shut up shop properly!
  52.         Mask out 'locked' and 'reserved' bits on file reception attributes.
  53.  
  54.  * * *  Completely reviewed (rewrote most of) the outbound handling routines,
  55.         now should be faster, and more detail. Mail on hold for other domains
  56.         and zones which you do not have nodelist data for, will now be
  57.         displayed in the outbound window.
  58.         6d support added to outbound scanner (actual sessions won't work yet).
  59.  
  60.  * * *  Complete redesign of templates, including a File Transfer window and
  61.         System Info window to take the load off the Current Status window.
  62.  #####  Copy the 'Templates' and 'Sprites' files into the same directory as
  63.         !RunImage (i.e. !Binkley), the RiscOS200, RiscOS300 and RiscOS310
  64.         files in !Binkley.System are no longer required.
  65.   NOTE: I will *NOT* be creating special windows for RISC OS 2 users, it takes
  66.         too long to recreate them for such a minority of users. Obviously you
  67.         can try to alter them if you wish, as long as the icon numbering or
  68.         validation lengths get changed (see file IconNums).
  69.  
  70.         Outbound window now displays mail type (Mail, Flow, Freq etc.) and the
  71.         relevant size (bytes or files for freqs) of the item.
  72.  
  73.         LogLevel replaced by a more flexible LogChars option, from which you
  74.         specify the 'log characters' (e.g. +,:,*,! etc) which you want present
  75.         in your logfile (and recent activity window). LogChars menu option now
  76.         a dialogue box from which you can enter your own logchars or select
  77.         them via the old method by clicking on 1,2,3,4,5 for loglevels 1-5,
  78.         and Deb, Hyd and Ems for DebugLog, HydraLog and EmsiLog.
  79.  
  80.         Removed LogLevel, DebugLog, EmsiLog and HydraLog from configuration
  81.         file. Removed Nodelist from config file (this is now irrelevant with
  82.         the use of NListMgr).
  83.  
  84.         Removed a lot more config commands from the config file parser
  85.         routine, for details see the example Config_0 file in the System dir.
  86.         Tidied up source, removed redundant/inappropriate code/config lines.
  87.  
  88.  #####  The task name has now been changed from BinkleyTerm_x to
  89.         Arc-Binkley_x (where x is the port number). To change ARCbbs you need
  90.         to edit the file !Config, and change the line shown as :
  91.   from  Set ARCbbs$MailerTaskName "BinkleyTerm_%d"
  92.     to  Set ARCbbs$MailerTaskName "Arc-Binkley_%d"
  93.  
  94.         RiscBBS users need to edit their SysBBS files and change the line
  95.   from  binkley `<Binkley$Dir>.!Run 0` BinkleyTerm_0
  96.     to  binkley `<Binkley$Dir>.!Run 0` Arc-Binkley_0
  97.  
  98.         Note that they are case-sensitive. A symptom of an incorrectly set
  99.         up bbs host is that when a user presses escape to enter the bbs, and
  100.         nothing happens.
  101.  
  102.         Outbound window now has a Node Info entry, if you move across this a
  103.         window will appear, from which you can see details of the node such
  104.         as name, sysop, phone number or password.
  105.         A nice feature of this window is the option to edit details of the
  106.         node such as the password or phonenumber before polling. The same
  107.         window is used to replace the Manual Poll option on the main menu,
  108.         and hence you can edit the address (node number) of the system
  109.         you want to poll, press return (or the down/up arrow keys to edit
  110.         the phone number or password), the details of the node will appear,
  111.         and you can either cancel or poll. Clicking on Cancel or pressing
  112.         escape will remove the window, and clicking on Poll or pressing
  113.         return a few times will poll the node in question, so long as a
  114.         phone number is present.
  115.  
  116.         Dial Prefix menu has been added, so you can set the dial prefix up
  117.         before making a call without having to quit and reload binkley after
  118.         changing the config file. No config changes are required, simply
  119.         alter the Dial Prefix from the Commands menu and poll! (Don't forget
  120.         to change it back afterwards)!!! ;-)
  121.  
  122.         Outbound window menu now has Re-flavour, Re-direct and Delete options,
  123.         to change the flavour (Normal, Hold, Crash or Direct) of an item in
  124.         the outbound directory, then you press menu over the required item,
  125.         then move across Re-flavour and select the desired new flavour. This
  126.         is so you can easily change the status from Normal to Hold (for
  127.         example) without having to interfere with the outbound directory at
  128.         all. Re-direct means you can re-route mail and files to another node,
  129.         for example, there is a netmail to 2:250/219.0 and you want to reroute
  130.         it to your hub, click menu over the item in the outbound, move across
  131.         Re-direct and enter the address of the system you want to route to.
  132.         Delete is plain enough, select the item, press menu, move across
  133.         delete and click on 'Do it' to delete the item.
  134.  
  135.         A new command line option 'errlog <fsp>' has been added, for details
  136.         of errors in config lines etc. It is also used for more specific
  137.         debugging which normally cannot be activated until the Binkley Icon
  138.         is on the icon bar. To enable it insert it before the %*1 at the end
  139.         of the line which looks like this:
  140.  
  141.         Run <Binkley$Dir>.!RunImage config <Binkley$SystemDir>.Config%0 errlog <Binkley$Dir>.Error_Log %*1
  142.  
  143.         The FTSC product code list is now read in at startup rather than being
  144.         hardcoded in the !RunImage - this is located in the System directory,
  145.         called 'FTSC_Prods', and is the list of all known Fido programs.
  146.  
  147.         A new menu command 'Ensure events' is used when the event file has
  148.         been altered. After you have altered your events file, click on
  149.         Ensure events to make sure that the new events are registered. If
  150.         you simply change the event file and save it back, the changes are
  151.         not registered by Binkley unless you delete the BinkSch and BinkDay
  152.         files too, so this is why 'Ensure events' has been added. There is
  153.         no need to delete the sch and day files any more.
  154.  
  155.         Split up the Display=>Inbound menu into three separate submenu items:
  156.         Default, Listed and Secure, for the three separate inbound directories
  157.         (if you have it configured like that, otherwise just Default is
  158.         the option).
  159.  
  160.  
  161. 10 Sep 1993: V2.15
  162.         Thanks to Geoff, Arc-Binkley now uses NListMgr to lookup nodelists,
  163.         this means that you must ensure that the NListMgr *module* is loaded
  164.         after the nodeserver module. The use of NListMgr is a very useful
  165.         thing indeed. It means that new nodelist formats added by the author
  166.         will instantly work with all software using nlistmgr (binkley, netway
  167.         etc), eventually, every program which requires access to the nodelist
  168.         should use it. It also means that you can process diffs/recompile
  169.         nodelists etc, whilst binkley is loaded, without having to quit and
  170.         reload again. Adding the following line after the line which loads
  171.         NodeServer, in the !Run file, will ensure that binkley will function
  172.         correctly. The new !Run supplied has this change among others.
  173.  
  174.         RMEnsure NListMgr 0.54 RMLoad NListMgr:NListMgr
  175.  
  176.   * * * If you do not have NListMgr it is available for File Request from
  177.   * * * 2:250/219.0 using the magic name NLISTMGR.
  178.  
  179.         The use of NListMgr means that the configuration file must be altered.
  180.         The commands 'ArchyList' and 'QuickNodelist' are no longer supported,
  181.         instead, you should now use 'NewNodelist'. The 'Nodelist' config line
  182.         must now state the directory in which the Domains file exists, e.g.
  183.         '<Binkley$Dir>.Nodelist' rather than '<Binkley$Dir>.Nodelist.Fido'.
  184.         Domain support welded in for 5d outbounds, configuration keywords
  185.         OutFormat <type> added to select the type of outbound, currently
  186.         all bbs software uses 4d addressing, so use :
  187.  
  188.         OutFormat 4d
  189.  
  190.         4d uses the format Outbound[zz].nnnnoooo##
  191.                         or Outbound[zz].nnnnooooPN.pppp##
  192.  
  193.         5d uses the format Outbound.dddddddddd.zzzznnnn.oooopppp##
  194.  
  195.         where d=domain, z=zone, n=net, o=node, p=point and ##=flavour
  196.         The dddddddddd is read in from the Domains file in the Nodelist dir.
  197.         When bbs's/packers etc start to use the 5d format more, change
  198.         the 4d to 5d.
  199.         Bug fixed whereby setting 'EMSIlog' in the config_x file *after* the
  200.         'baud' config line would cause havoc.
  201.         Domain stripping works properly now, returning 'Fidonet' from
  202.         'Fidonet.Org'.
  203.         Will now close inbound file request files so they can be deleted,
  204.         if the caller hangs up, rather than giving files to the next caller!
  205.         Bug fixed in the creation of _Z (BadWaZOO complement) files.
  206.         Bug fixed in the scanning of point directories. If there were four
  207.         points with FLO (0001FO, HO etc) and one of them had a packet (OT)
  208.         as well, only the point with the packet would be displayed.
  209.         Recent activity window has been widened so you people who are dying
  210.         to see what was at the end of a line can now !! ;-) The little line
  211.         which appeared next to the '+ Begin, Arc..' status line has been
  212.         removed now (I'm glad to see the back of that)! Also, the window
  213.         contents no longer 'scroll up' if you close and open it again.
  214.         Outbound window no longer stays where you left it when you close and
  215.         re-open, but it opens up at the original place as defined in the
  216.         templates file like all the other windows.
  217.         New config command 'openwindows' will open all the windows at startup,
  218.         for those people who like to have the windows open all the time.
  219.         FTS-1 file receive routine altered slighty so it now works with
  220.         BBCscan systems properly.
  221.         WaZOO update requests implemented, this now means that you must change
  222.         your nodelist flag from XB to XA. e.g.
  223.  
  224.         ,27,Arcade_Bbs,London,Dave_Coleman,44-81-655-4412,9600,H16,V32B,CM,XB
  225.  
  226.         to
  227.  
  228.         ,27,Arcade_Bbs,London,Dave_Coleman,44-81-655-4412,9600,H16,V32B,CM,XA
  229.  
  230.         and yes, all USR 16800 bps DS modem users should have the above flags
  231.         and nothing else. Hint hint Dave...
  232.  
  233.         yes, all arcbinkley users using USR 16k8 DS modems should have :
  234.  
  235.         ,9600,H16,V32B,CM,XA
  236.  
  237.         at the end of their phone number ;-) ...
  238.  
  239.         File requests would eat about 70 bytes of memory per request line, and
  240.         if you already had the Avail config line set, it would override the
  241.         ~AVAIL line in the OkFile rather than the other way round. Fixed now!
  242.         Abort poll will now drop DTR (to force carrier drop) regardless of
  243.         whether or not there is a connection.
  244.         DietIfna file requests have been added - still waiting to see if they
  245.         work or not though !
  246.         Hydra is now implemented - the bidirectional file transfer protocol.
  247.         8 new configuration options have been added for this new feature:
  248.  
  249.             HydraLog                 : Enable hydra debugging log
  250.             NoHydra                  : Disable Hydra filetransfer protocol
  251.             Hydra_Speeds <min> <max> : Min and Max speeds for full duplex
  252.                                        (bidirectional) to be enabled.
  253.             Hydra_NoFdx <string>     : Force 1 way HYDRA for connections
  254.                                        which report <string>
  255.             Hydra_Fdx <string>       : Force 2 way HYDRA for connections
  256.                                        that only report <string> and 1 way
  257.                                        for ANYTHING else
  258.             Hydra_RxWindow <bytes>   : Segmented streaming (forces an ACK
  259.                                        after <bytes> bytes have passed -
  260.                                        default 0
  261.             Hydra_TxWindow <bytes>   : as for RxWindow, but for xmitting.
  262.             Hydra_Options <telenet>  : Escape Telenet (CR-'@'-CR)
  263.                           <xonxoff>  : Escape XON/XOFF
  264.                           <ctlchrs>  : Escape all control characters
  265.                           <highbit>  : 7 bits mode, use 7-bit encoding
  266.                                        rather than 8-bit
  267.                           <highctl>  : Escape ctlchars with high bit set too
  268.         e.g.
  269.  
  270.             Hydra_Speeds 1200 16800  : 2 way HYDRA between 1200 and 16800 bps
  271.             Hydra_NoFdx Hst          : use unidirectional HYDRA on HST
  272.                                        connects (when modem reports
  273.                                        Connect xxxxx/Arq/Hst/Hst/V42bis etc.)
  274.  
  275.         The Rx and TxWindow and Options commands are for advanced use and
  276.         should be left commented out.
  277.         The Hydra_Fdx is used as the opposite of Hydra_NoFdx, i.e. where
  278.         the Hydra_NoFdx string means use two way xfer on all connects EXCEPT
  279.         the one specified, and the Hydra_Fdx string means use two way xfer
  280.         on the specified string ONLY.
  281.         N.B. The Fdx and NoFdx strings ARE CASE SENSITIVE. So for a connect
  282.         string of 'Connect 14400/Arq/Hst/Hst/V42bis' you want a Hydra_NoFdx
  283.         string of Hst, not HST or hst.
  284.         ** FOR PROPER USE OF HYDRA YOU MUST CONFIGURE A TRANSMIT BUFFER OF AT
  285.         LEAST 2048 BYTES, using *SerialBufferSize 16384 2048 for a recommended
  286.         16k input/2k output buffersize. We need a dynamic SerialBufferSize
  287.         command, one that can be altered whilst online.
  288.         Flags menu has an on/off option to reflect the addition of Hydra.
  289.         Wimp messages updated in accordance to the Mailer message spec.
  290.         The following messages are implemented :
  291.  
  292.               FTNMailer_Rescan       (0)
  293.               FTNMailer_Outgoing     (2)
  294.               FTNMailer_Freeze       (3)
  295.               FTNMailer_UnFreeze     (4)
  296.               FTNMailer_KillSession  (5) (& 6)
  297.               FTNMailer_Exit         (7)
  298.               FTNMailer_ExternalCall (16)
  299.               FTNMailer_PostSession  (18)
  300.               
  301.         All other messages are not (yet) implemented.
  302.         Disable and Enable changed to Freeze and Unfreeze.
  303.         Now closes logfile before doing AfterMail, and also whilst Frozen.
  304.         New config option 'FreezeTimeout' added - sets the default timeout
  305.         value for when binkley is frozen.
  306.  
  307.         e.g. FreezeTimeout 30      ;sets a default of 30 seconds
  308.  
  309.         Whilst frozen, the floating window display changes to 'Frozen' and
  310.         returns to 'Waiting' after being unfrozen or the timeout occured.
  311.         EMSI data (sysop name, location etc. are now prefixed with the '~'
  312.         character) rather than ':'
  313.         Removed a lot of the xfer status lines so they all appear on one line
  314.         (a lot neater IMO)
  315.         * I THINK * I've definitely found the hanging problem... (the code
  316.         which waits for something to be sent, or something to be received
  317.         didn't have any carrier status checking in)!
  318.         EMSI sessions from 252/110 caused havoc as the PUP flag (pickup
  319.         mail for primary address only) wasn't working - fixed now.
  320.         Started coding outbound window menu.
  321.         
  322.  
  323. 27 Jul 1993: V2.14 (KEH) *R*
  324.         Pathnames truncated so they fit on the recent activity window.
  325.         File request counter should not be incremented if the 'about' file
  326.         was sent.
  327.         File requests to point systems fixed - problem was xxxxRQ file being
  328.         sent rather than 0000xxxx.REQ file :-)
  329.         File sending wording changed... No longer tells you the file it's
  330.         deleting as it's obvious! MailPkt log entries changed too.
  331.         Extra chance given to complete the yoohoo/2u2 session in case of a
  332.         line hit, now waits for up to five incorrect YOOHOO characters before
  333.         dropping carrier.
  334.         File requests do not return a 'Received file' errorlevel.
  335.         Internal exit() handling revised.
  336.         Looked again at the misterious loop when carrier is dropped during a
  337.         transfer. I need more info - does it only to it when sending, or
  338.         receiving, or both? When it happened here - it was sending.
  339.         Implemented Rescan, Quit, Disable and Enable wimp messages.
  340.         ARCHmail updated to use these messages.
  341.         Disable can have a timeout for automatically enabling - in case the
  342.         program which disabled it crashes and forgets to re-enable etc.
  343.         Disable and enable placed in commands menu.
  344.         Poll wimp message added to poll systems. Abort poll to abort poll.
  345.         Now with EMSI which couldn't be implemented this fast without help
  346.         from Steven Haslam!
  347.         Due to EMSI, seven new configuration commands have been implemented.
  348.         These are:
  349.  
  350.           NoEMSI   (when present, disables EMSI)
  351.           EMSIlog  (when present, includes EMSI debug log in main logfile)
  352.           NLsystem (if present - overrides default 'system' configuration
  353.                     during EMSI sessions - e.g. TPS - MailNode)
  354.           NLsysop  (if present - overrides default 'sysop' configuration during
  355.                     EMSI sessions - e.g. Geoff Riley)
  356.           NLcity   (if present - transmits the system's location in EMSI
  357.                     sessions - e.g. Lymm, Cheshire)
  358.           NLphone  (nodelist format phone number, e.g. 44-925-757920)
  359.           NLbaud   (maximum connect baudrate e.g. '14400','16800','2400' etc)
  360.           NLflags  (nodelist format flags e.g. 'CM,XB,V32B,H16' etc.)
  361.  
  362.         Note that any NLxxx config keyword (except system) will be substituted
  363.         with 'Unknown' if not present in Config_0.
  364.         EMSI_CLI requests should be interpreted for fast BBS access.
  365.         Useless time delays removed and changed, so there is a 6 second delay
  366.         before sending the intro line of your system if someone called you and
  367.         you have a modem which doesn't have ARQ capability - i.e the connect
  368.         message returns before the remote system's connect message. 2 second
  369.         delay otherwise.
  370.         ZedZip/EMSI_Zmodem should work now - config commands 'nozedzap' and
  371.         'nozedzip' added to disable them.
  372.         'NoWaZOO' config command will disable yoohoo/2u2 on incoming rather
  373.         than just outgoing call now.
  374.         After a few days of testing - I think the mysterious lockup after drop
  375.         carrier on zmodem send is fixed!
  376.         Thanks for Edward Hobson for his patience in helping me test EMSI
  377.         sessions with a properly written program - FrontDoor! All this testing
  378.         costs me too much.
  379.         Just a few too many modem initialisations are done when aborting a
  380.         dial etc, I've removed some so it initialises, but not lots of times.
  381.         The problem with the block sizes not always being displayed should
  382.         have been fixed.
  383.         Geoff helped sort out password problems with EMSI, as well as helping
  384.         test EMSI too, and adding a really nice LogLevel menu - good one Geoff!
  385.         You can now have the 'magic-magic' file requests 'FILES' and 'ABOUT'
  386.         listed in the OkFile using the following 'magic-magic' okfile names:
  387.  
  388.         ~ABOUT <pathname> [<alias>]
  389.         ~AVAIL <pathname> [<alias>]
  390.  
  391.         e.g.
  392.  
  393.         ~ABOUT <Binkley$Dir>.FileReqs.MySystem   Mysystem.Txt
  394.         ~AVAIL <Binkley$Dir>.FileReqs.Avail25219 Filelist.Txt
  395.  
  396.         Note that these 'special' magic names MUST appear at the very start
  397.         of the OkFile, and aliases are optional.
  398.         Flags menu so you can turn off EMSI, WaZOO, ZedZap and ZedZip (EMSI
  399.         Zmodem), at the click of a button! (Quite neat me thinks!).
  400.         Info box will no longer 'freeze' binkley whilst open due to a little
  401.         fix. If anyone using RiscOSLib wants to know - you know where I am!
  402.         Disable will send the 'Busy' config string to the modem, and 'Init'
  403.         once enabled again.
  404.         I've changed all references to 'BinkleyTerm' to 'Arc-Binkley' as that
  405.         is what it is really called. BinkleyTerm lives on the PC. I'll be
  406.         changing the Wimp task title in the next release too, so now is the
  407.         time to change bbs host software which uses the task name to decide
  408.         when to startup/toss mail etc. Properly written software should by
  409.         now be using the Wimp Messages broadcasted by Arc-Binkley. Existing
  410.         users of RiscBBS will simply need to change the name in the SysBBS
  411.         file under the configuration keyword of 'binkley' when 2.16 is out.
  412.         All references to FTSC-0001 have been changed to FTS-0001 as I have
  413.         been informed that is correct - thanks Birger !! :-)
  414.         Working on a way to get DirectZap (EMSI Zmodem variant) working.
  415.         Removed inits from 'Poll completed' message and changed that message
  416.         to a debuglog only option.
  417.         An 'R' flag in an event containing 'M' should now not allow calls to
  418.         be made to non-cm nodes during ZMH.
  419.         Inits are made as soon as a FAILED connect appears - just in case the
  420.         failure could have been a modem prob.
  421.         Changed a little thing in binkley to allow EMSI to operate in non-fido
  422.         networks without using separate outbounds (coming soon tho)...
  423.         Yoohoo/2u2 probs incurred during EMSI implementation have been ironed
  424.         out completely (I hope)!
  425.  
  426.  
  427. 07 Jul 1993: V2.13 (KEH) *R*
  428.         Magic names can now have aliases in the okfile! Problem with dupicate
  429.         'BBSbase filename (xxxxxx) generated' and reduction in maxreqlim
  430.         should be fixed now.
  431.         Added magic name message "not known - sending 'about' file" if a freq
  432.         for a magic name not present in OkFile was received.
  433.         Version 2.12 was never released - just passed to a few people for
  434.         testing etc. hence the date of Apr/May 1993.
  435.         Added support for antialiased fonts in binkley if you want to change
  436.         the templates :-) I tried it but didn't like it - the icons don't get
  437.         updated properly unless they are filled!
  438.         Updated NodeServer module supplied (3.04) - requires change to the
  439.         !Binkley.Nodelist.Domains file (see domains file in archive).
  440.         Log files kept closed most of the time now, opening only when anything
  441.         is to be written to the file. It's closed when binkley is 'Waiting'.
  442.         It also gets closed every five seconds while in Waiting 'mode'... :-)
  443.         The filetype is changed to Data when open and Text when closed.
  444.         Thanks to Stefan Brueck for the logfile idea
  445.  
  446.  
  447. Apr/May 1993: V2.12 (KEH)
  448.         LockFossil short changed to long to allow >19200!!!
  449.         Increasing block sizes on Zmodem xfers similar to FrontDoor, so that
  450.         s***ty little slow modems don't end up with a CRC error or something
  451.         after 1024 bytes of data (about 9 seconds for 1200 baud), or it could
  452.         be worse still!
  453.         Points 'fixed' for the time being - I've commented out some of the
  454.         key code - will fix properly when I get time...
  455.         Wimp Messages added, 0x800, 0x801 - sent when exitting to bbs or normal
  456.         exit respectively.
  457.         Overwriting of phone numbers and passwords fixed, fault was due to
  458.         removing the 'set page 0 byte 0 to zero' 'bug' that a few people moaned
  459.         about :-)
  460.         Increasing block sizes on xmit now start from 256 rather than 64...
  461.  
  462.  
  463. 14 Apr 1993: V2.11 (KEH) *R*
  464.         Large stinging bug found which meant that no version of binkley
  465.         compiled on my machine would work with any serial device other than the
  466.         internal serial port!
  467.         Logical port number can be set for those with 'mixed' serial cards, eg
  468.         those which result in two different ports with the same number. For
  469.         example - if you have a single II card and also a single SP card then
  470.         you will have two port 0's and two port 1's, but one is the II card and
  471.         the other SP... Now an extra bit has been added to the Port config line
  472.         for binkley which should get around this problem by assigning a logical
  473.         port number to the port being used by binkley.
  474.         This is achieved by using the # character followed immediately by the
  475.         port number to be used in BinkEvtx, BinkDayx, BBS_x and the port number
  476.         displayed in the status window. e.g. :
  477.  
  478.         Port @SP_Dual #4 1
  479.  
  480.         Port @<driver> #<logical port no> <actual port no>
  481.  
  482.         which means that BBS_4 files will be created when binkley exits to an
  483.         ARCbbs system, rather than BBS_1 files, whilst still talking to the
  484.         Serial Port dual serial card port 1.
  485.         The Port display field in the Status window has been updated to
  486.         accommodate this change. Now is displayed the actual port number
  487.         followed by the logical port in brackets... In the above example
  488.         it would display:
  489.  
  490.          Event:xx /xx
  491.           Port:1 (#4)
  492.         Driver:SP_Dual
  493.  
  494.         Port numbers now are correct port numbers, none of this Port+1 rubbish
  495.         which was taken from the PC's Com1 etc...
  496.         Erm, extra information in Config_0 file and !Run updated for block
  497.         drivers.
  498.         RISC OS 2 compatibility improved for BlockDrivers - Paths aren't
  499.         handled in the same way as in RISC OS 3.1
  500.         Driver name now displayed in the status window, instead of the Status
  501.         field, which was really superseded by the floating window anyway.
  502.         The 'bug' which people are starting to moan about - the overwriting
  503.         of byte zero to stop another 'fault' in porting from the PC is being
  504.         looked at...
  505.         
  506. 01 Apr 1993: V2.10 (KEH) *R*
  507.         Hmmm.... Decided to go to 2.10 now as I think we're getting a bit out
  508.         of hand with the letters, and anyway, you can't tell differences if
  509.         someone calls you, since only the numerical version number is passed
  510.         during YOOHOO handshake.
  511.         Silly bug which printed Can't find address XXXXX for a load of nodes
  512.         which are not in the compiled nodelist has been made so it only gets
  513.         displayed during debuglog sessions.
  514.         Major source reorganisation - may improve speeds, very marginally.
  515.         c.com and h.com files no longer there - moved into c.port_sprt and
  516.         h.port...
  517.         Hugo also spotted another short baudrate instead of long :-)
  518.         Strange bug where FTSC-0001 sessions spark up on incoming mailer calls
  519.         may have been fixed, only time will tell [grin] ;-)
  520.         Added a short note to explain about driver names in Port, in Config_x.
  521.  
  522. 25 Mar 1993: V2.09p (KEH) *R*
  523.         Ahem! I rushed things a bit, and nearly distributed, totally, the
  524.         version of block driver binkley which doesn't set any speeds other
  525.         than 19200 :-) ooops... I didn't like the 'o' on the version anyway!
  526.  
  527. 24 Mar 1993: V2.09o (HF)
  528.         Fixed serial block driver support (added support in Zmodem). Baud's
  529.         all over the place are now longs, prepare for the future! Main block
  530.         driver problems were (a) not used in zmodem assembler and (b) flow
  531.         control was set to xon/xoff only when xon/xoff was requested by Bink,
  532.         whereas it should have been xon/xoff *and* hardware.
  533.  
  534. 14 Mar 1993: V2.09o (GIR + KEH)
  535.         Block driver support welded in - keeps missing characters off for some
  536.         reason... Sent copy to Hugo to look at.
  537.  
  538. 07 Mar 1993: V2.09n (KEH) *R*
  539.         Binkley's FTSC-0001 only mode works correctly now, but filerequests
  540.         still do not work. Config option FTS_0001 used for this purpose.
  541.         File attaches now work when sending, with aliases.
  542.         Added a bit of debugging code to Zmodem to show up where the
  543.         transfer cancelled message actually came from. Mail me if you have this
  544.         occuring.
  545.         Outbound name case insensitivity added. This was to stop names such as
  546.         '01020018hO causing major problems.
  547.         Started to write a bit of code to show up everything in the outbound
  548.         window, not just 'selected' nodes.
  549.  
  550. 17 Feb 1993: V2.094m[dev] (KEH)
  551.         FTSC-0001 sessions fixed, should no longer crash, and also files
  552.         should be sent and received. The main problem was in using the
  553.         incorrect CRC calculation routine :-). Thanks to Edward Hobson for his
  554.         assistance with testing these yucky FTSC-0001 connects.
  555.         NetFile exit now changed to '4' to stop confliction with ARCbbs's '7'
  556.         errorlevel, which exports mail.
  557.         File requests using FTSC-0001 don't work.
  558.         Started to make Binkley poll out as an FTSC-0001 only mailer.
  559.  
  560. 06 Feb 1993: V2.093m[dev] (KEH)
  561.         Exits after ArcMail received are no longer 'stopped' if a NetFile is
  562.         received AFTER the ArcMail.
  563.  
  564. 03 Jan 1993: V2.093m[dev] (GIR) *R*
  565.         Cumulative elapsed time now recorded in the history file, and
  566.         displayed in the 'Today at a glance' pane.
  567.         Plus elapsed time for each call and time of !Binkley being active
  568.         are recorded in log file.  (Just in case anyone wants it - it takes
  569.         hardly any code space...)
  570.  
  571. 28 Dec 1992: V2.09m[dev] (KEH)
  572.         Fixed Outbound window updating, it does it correctly now - it failed to
  573.         update if there was nothing in the outbound area at all i.e. a call
  574.         removed the last item in the outbound.
  575.         Wow! I think I've found the _slow_ problem - a call to fill_in_status
  576.         at every wimp poll to update the time elapsed etc. I think this was
  577.         the culprit which slowed it down! Apart from RO3.1 serial port ;-(
  578.         I'm looking for a non-flicker method of icon updating at the moment ;-)
  579.         Starting to put all the binkley words into a messages file. This
  580.         includes log format etc.
  581.  
  582. 11 Dec 1992: V2.09l[dev] (KEH)
  583.         Fixed (I think) the efficiency percentage prob - it should now give the
  584.         effiency relative to the _connection_ baudrate, not the baudrate you
  585.         talk to the modem at.
  586.         Removed 'BINK' characters from log - will save you 5 bytes per line of
  587.         log - actually amounts to quite a lot!
  588.  
  589. 01 Dec 1992: V2.09l[dev] (KEH) *R*
  590.         Removed bug whereby if you click on Exits instead of quit from the
  591.         iconbar menu it would say 'Junk character from keyboard:continuing'
  592.         in the recent activity window ;-)
  593.         Unlinking <Binkley$Dir> .... changed to Removing <Binkley$Dir> ....
  594.         New config option EventFile <name> where <name> is the name of the
  595.         event file for the port. This allows separate event files, like
  596.         separate config files for different ports.
  597.  
  598.         Examples of use of EventFile :
  599.  
  600.             EventFile <Binkley$Dir>.BinkEvt0 ; for config 0 (port 0)
  601.  
  602.             EventFile <Binkley$Dir>.BinkEvt4 ; for config 4 (port 4)
  603.  
  604.             EventFile <Binkley$Dir>.System.BinkEvt0 ; for port 0
  605.  
  606.         Files BinkScd<p> and BinkDay<p> like BinkEvt<p> will be created, where
  607.         <p> is the port no.
  608.         Now exits correctly with event E2 for non-compressed mail and E3 for
  609.         compressed mail (used to always exit with E2), so you need to alter
  610.         the event file so E2=5 and E3=6
  611.         Put seconds back in time at top, but now updated every 5 seconds, so
  612.         flicker isn't really noticed. Working on a flicker free method like
  613.         !Alarm uses!
  614.         Abort Poll menu option added, to abort the dialling when immediate call
  615.         or Manual poll has been activated (in fact it will abort dialling at
  616.         any point).
  617.         A bash at immediate originate has been made - not quite working yet,
  618.         and needs some thought.
  619.         Unattended mode can now be assumed whether it exists in Config_<p> or
  620.         in !Run, since not having it caused binkley not to initialise!
  621.         Immediate originate completed - but have to enter the node of the
  622.         remote computer you wish to communicate with!
  623.         Errorlevel E4 in events used for NetFiles (not Mailpkts or ARCmail).
  624.         '<Binkley$Dir>.' no longer assumed for config and event files anymore,
  625.         must supply <Binkley$Dir>.<file> instead of just <file> to the
  626.         config command line option in !Run and include & eventfile in config_0.
  627.         Added modem command characters '>' and '<' to turn off and on the
  628.         requirement of DSR (to allow characters to be sent to the serial port).
  629.         Some (old) modems don't turn the DSR line on until a connect, therefore
  630.         disallowing all communication to the modem. The fix is to turn DSR
  631.         requirement OFF and then send stuff to the port, i.e. a '>' character
  632.         in the Modem Init string.
  633.         Exits menu expanded to allow 'standard' exits (i.e. 5, 6 & 7) to be
  634.         easily executed.
  635.         Removed the need for share in the !Run file - aaarrggghhh (if it
  636.         wasn't present the serial port was disabled whenever binkley had
  637.         to exit, including going to the bbs, therefore having the effect
  638.         that users cannot log in due to no input from the serial port).
  639.  
  640. 24 Nov 1992: V2.09k[dev] (KEH)
  641.         Separate template files used for different operating systems, e.g.
  642.         RiscOS200, 300, 310 are for RISC OS 2, 3.00 and 3.10 respectively!
  643.         These are now placed in the <Binkley$Dir>.System directory.  The
  644.         <Binkley$Dir>.System.Nodelist directory has been moved back to
  645.         <Binkley$Dir>.Nodelist...  
  646.  
  647. 22 Nov 1992: V2.09j[dev] (GIR) *R*
  648.         Removed useless M'Task label from Status display: replaced it with
  649.         elapsed time display.
  650.         If you redefine the colours in the outbound window, the colours will
  651.         be used for the text (background and foreground).  I have done this
  652.         predominately to allow for the new optional template files.  RiscOS 2
  653.         has the old style templates; RiscOS 3 has the new style 3d icons.
  654.  
  655. 20 Nov 1992: V2.09i[dev] (GIR)
  656.         Removed 'seconds' from time display: stops the flickering which annoyed
  657.         Stefan (and me) somewhat!
  658.         Fixed (again) the @@ArcBBS okfile filename generator - a slight oh dear
  659.         occured when I added in the @@BBSBase filename generator... [sigh]
  660.  
  661. 15 Nov 1992: V2.09h[dev] (GIR)
  662.         'Fake' points would occationally appear in the outbound if there were
  663.         empty point directories after a point directory with a file in... This
  664.         is now fixed.
  665.         Another wonderful bug - the Binkley Schedule file always got saved with
  666.         the time and date stamp of the last received file!!  Hmm... Fixed.
  667.  
  668. 14 Nov 1992: V2.09g[dev] (KEH) *R*
  669.         The Number of Rings facility didn't work! (properly anyhow!)
  670.         Instead of resetting the number of rings 2 times a minute, it will now
  671.         reset only if there haven't been any RING's for ten seconds. So if
  672.         someone calls, rings 4 times, hangs up and calls again, the rings
  673.         counter will be reset, since it will be more than ten seconds since the
  674.         last RING.
  675.  
  676. 13 Nov 1992: V2.09g[dev] (KEH)
  677.         If Rings is set to 4 and a caller rings 2 times, and then hangs up
  678.         before binkley answers, the next caller would only need to ring 2 times
  679.         for binkley to answer, since it was not resetting the value afterwards.
  680.         This is now fixed, by resetting it 3 times a minute!
  681.         Added Re-Init to floating window display when reinitialising the modem
  682.         after 10 minutes of silence!
  683.         Buggy RingString code rewritten to 'proper' specs!
  684.         PreInit and PreDial config options implemented.
  685.         'Freqs from us allowed' and 'No freqs from us allowed' messages now
  686.         only activated by the debug log.
  687.         NetWay 'seen' by binkley now, as product code in binkley was one line
  688.         out, forcing it to think NetWay was product code ED!
  689.  
  690. 10 Nov 1992: V2.09f[dev] (KEH)
  691.         Added configuration options 'RingString' and 'Rings' so that any
  692.         modem (within limits) can use Binkley, since you can now define the
  693.         message to look for when the modem detects a ringing signal. Also, the
  694.         rings config option defines the number of rings between 1 and 15 before
  695.         Binkley attempts to answer.
  696.         
  697. 07 Nov 1992: V2.09f[dev] (GIR)
  698.         Domains operate beyond the first address/aka now - slight mix up in
  699.         the variable used to hold the current aka.  All fixed up right now.
  700.         Outbound window:  Double click with select button will, as before,
  701.         cause a repeated manual poll to the node clicked;  Double click
  702.         with the adjust button will now cause a single immediate call to the
  703.         node clicked, provided that the current event allows calls to that
  704.         node.
  705.         File Requests at the system which is being polled are now displayed
  706.         correctly.
  707.         Filetypes now transfer along with load and exec addresses between like
  708.         systems - extra info included in all file transfer options (when things
  709.         other than ZedZap start working!).
  710.         Immediate Answer now an additional menu option - guess what it does.
  711.  
  712. 06 Nov 1992: V2.09e[dev] (KEH)
  713.         Spawn event handler fixed. Not sure of the use though...
  714.         Added <Binkley$Spawn> for the spawn file...
  715.         Bug whereby points were ignored. A misplaced '.' was the cause!
  716.         Tried fixing the colour when double clicking outbound entries but with
  717.         no luck... Better try harder next time!
  718.         Fixed MiniWin display to accept full info when connected e.g.
  719.         2:250/219 @ Fidonet
  720.  
  721. 05 Nov 1992: V2.09e[dev] (GIR)
  722.         New config option 'BlindDial'.  This provides a method of inserting
  723.         an extra pre-dial string which will not appear in the log file or
  724.         on screen.  This is mainly for use with the Mercury system: you put
  725.         your Mercury pin number in as the BlindDial string, and put '%%' before
  726.         each number which requires Mercury.  This is only really useful if
  727.         you do your dial translations in ParseLst - I'm working on it for
  728.         those who do all dial translations in Binkley.
  729.  
  730. 18 Oct 1992: V2.09d[dev] (GIR)
  731.         Close log file before starting up the EndBatch task.
  732.         Now call time_release during directory scan to prevent the apparent
  733.         lockup during initialisation.
  734.         Filename truncated to the base name when being displayed in the file
  735.         transfer window.  (No <Binkley$Dir>.Outbound.... rubbish now!)
  736.         Get the banner resent after 2 second intervals...  bit much maybe?
  737.  
  738. 17 Oct 1992: V2.09c[dev] (KEH) *R* (Acorn User Show 1992)
  739.         Exit level now set correctly, I was setting Binkley$Return instead of
  740.         Binkley$Return<p>, where <p> is the port number. Also, the port number
  741.         is now the first parameter passed to the EndBatch file.
  742.  
  743. 12 Sep 1992: V2.09b[dev]  (Keith Hall, or KEH)
  744.         Tidied up main window, placing in RO3.1 border validation strings.
  745.         Two lines instead of one for address. Gap created on other side due to
  746.         this is now filled with a version number.
  747.         Seconds placed on the time at the top right. Should not slow the program
  748.         down as it is called the same number of times as the old one! (It should
  749.         even speed up a touch if anything...)
  750.         Exit level now set from within Binkley code itself.
  751.         Now runs a file ( '<Binkey$EndBatch>' - defined in !Run) when Binkley
  752.         quits. This (should, and seems to) stop the bugs in the Obey module
  753.         in RISC OS III.
  754.  
  755.         To use EndBatch, remove all lines from it and move everything _AFTER_
  756.         'Run <Binkley$Dir>.!RunImage ....' in !Binkley.!Run into it.  Make sure
  757.         however, that you must remove the line
  758.  
  759.                         'Set Binkley$Return%0 <Sys$ReturnCode>'
  760.  
  761.         from it otherwise ARCbbs will get confused and will probably not work!
  762.  
  763. 31 Aug 1992: V2.09Da
  764.         Magic file requests fixed properly now!
  765.         New magic file generator:  @@BBSbase.  This is a variation on the
  766.         @@ArcBBS magic file generator.  The latter always generates a filename
  767.         with a base of <ArcBBS$FileData> and a step value of 50.  This is
  768.         suitable (of course) for use with ArcBBS. The new verb takes the form:
  769.                 @@BBSbase [!password] (base path name) (step value)
  770.         The password is optional, as normal.  The base path name is the path
  771.         which is to be appended before the '.000000.000000.000000' type
  772.         filename.  The step value is the number of file divisions used by the
  773.         filebase:  ArcBBS uses 50, RiscBBS uses 70.  The command:
  774.                 @@BBSbase <ArcBBS$FileData> 50
  775.         is directly equivalent to:
  776.                 @@ArcBBS
  777.  
  778. 20 Jul 1992: V2.08Df *R*
  779.         Whoops!  Freq's were never allowed due to a wrong capabilities byte
  780.         being accessed during setup of the Hello packet header....
  781.  
  782. 19 Jul 1992: V2.08De
  783.         Double click in the outbound window now correctly forces a call to the
  784.         node clicked on - not just the next one which can be called to!
  785.         Unknown modem responses are now ignored rather than causing a fail.
  786.         In Autobaud mode the baud rate will follow the connect rate for none
  787.         ARQ connects, but use the max baud for ARQ connects. (Like it used to!)
  788.  
  789. 06 Jul 1992: V2.08Dd
  790.         Further additions to the domain functions.
  791.         Filerequests now check for all inbounds - ready for EMSI support!
  792.  
  793. 29 Jun 1992: V2.08Dc *R*
  794.         Modem initialisation routine accidentally deleted during mods
  795.         for V2.08Db....  Now back in place!
  796.         Events can now have month and day qualifiers added to the start time:
  797.  
  798.         Event All 06:00,12,25 06:00 F E1=200
  799.  
  800.         This would create a forced event which does an exit with errorlevel 200
  801.         but *only* on the 25th December.
  802.  
  803.         You can miss off the day - in which case the event is valid for every
  804.         day during the specified month, or you can make the month 0 - which
  805.         indicates every month.. you could have something which happens on every
  806.         Friday the 13th:
  807.  
  808.         Event Fri 06:00,0,13 06:00 F E1=201
  809.  
  810.         Let me know if you can think of any good uses for this - I have it set
  811.         to do a backup on the first Monday of each month.... (Specify seven
  812.         separate events - all active on a Monday, but each one for a different
  813.         day of the month - 1st to the 7th..)
  814.  
  815. 24 Jun 1992: V2.08Db (GIR)
  816.         Added initial domain support.
  817.         In config file address & aka now allows @domain to be added.
  818.         Fixed problem which stopped Quick nodelist from working.
  819.  
  820. 16 Jun 1992: V2.08Da (SRH)
  821.  
  822.         Did some looking at sched, found odd things (I think). Hum. Anyway,
  823.         sched has been poked a bit. Changed the HISTORY struct to include a
  824.         point number for the last_called entry. Changed the version number in
  825.         BinkleyScd to reflect this, as per sched.h.
  826.         Removed werr call giving "Not yet implemented" error boxes
  827.         Wrote a nice, big, commented BinkleyEvt file after looking at sched.
  828.         Added "void show_event(int)", which is called when a new event is
  829.         started.
  830.         It updates the event display.
  831.         Event display now shows "M" and "X" flags.
  832.         Changes in "BinkleyEvt" now seem to be detected. ???
  833.         Started "real" 4D stuff: 4D outbound scanning works a treat! Works like
  834.         this:
  835.  
  836.         Outbound.00fa0074OT              <- stuff to 250/116
  837.         Outbound.00fe0192OT              <- stuff to 254/405
  838.         Outbound.00fa0074PN.0002OT       <- stuff going STRAIGHT to 250/116.2
  839.  
  840.         Wrote in 4D nodeproc. 4D is supported for QuickBBS and ArchyList 1.01
  841.         Added nodeproc test for index/data consistency. It finds the address in
  842.         the index and checks that the index address and data address match. This
  843.         is if you get a new nodelist and forget to re-load the index (using
  844.         *LoadNodes or *RMLoad NodeServer)
  845.         Manual poll icon now 4D. To poll a point, you must supply the zone, i.e.
  846.         "2:250/116.2" is OK, but "250/116.2" is read as "250/116".
  847.         
  848.         Did some stamping out of references to "<Binkley$Path>" (particularly in
  849.         b_bbs.c).
  850.         Did some work on ExtrnMail, it now writes "Mail_x" where x is the port
  851.         number (like BBS Batch writes "BBS_x").
  852.         Added ArchyList format. Requires NodeServer 2.23 to work correctly.
  853.         mailer.c now recognises the B_never flag, which is available from
  854.         ArchyList format.
  855.         Changed announcement ("* NetWork Address z:f/n.p using " etc.), the
  856.         first line is the announcement of the version and the second gives your
  857.         address (and A.K.A.s if any)
  858.         Went through ftsc.c and wzsend.c checking that provision was being made
  859.         for 4D outbound.
  860.         Added _determine_aka to ftsc.c
  861.         Updated product code list to 0xe2. Need a way to keep this externally.
  862.  
  863. 14 Jun 1992: V2.06ßm (Steven Haslam, or SRH)
  864.  
  865.         Well, folks, I'm not going to get your domain support in fast, I'm
  866.         afraid..
  867.  
  868.         Added four dimensional multi-address functionality. :-). The way that
  869.         you configure your address has changed, see example config file for
  870.         details. Bink complains is you attempt to use the old-style system.
  871.         Binkley still has 3d-only things in various strategic places, however.
  872.         For example, it's 3d-only nodelist procedures preclude a 4D outbound
  873.         for a while. However, it works today, I've polled all over the world
  874.         (well, to zones 1 & 3 anyway) and I can connect.
  875.         Plus the outbound scanner is only 3D at the moment.
  876.         Added debugging log entries; in the future, versions of Bink will have
  877.         debugging entries in them, but at LogLevel 6. These entries (type ">")
  878.         are therefore only available by using the "DebugLog" keyword. So, if you
  879.         get a repeatable problem, send a loglevel 6 log (please!)
  880.  
  881.         Translates 'ß' to 'á' (ANSI beta) in banners, so you can have beta
  882.         characters in the version, and get them displayed as Latin1 on the
  883.         desktop and as betas for callers! Despite a hitch that went
  884.         if (*c='ß') *c='á'... hehe, you see what I mean. For those in the dark,
  885.         the side-effect in the conditional is to set ALL characters to CHR$223,
  886.         and then to the á; the upshot of which was lots of beta characters!
  887.      
  888.         Added modem report string configuration, not everyone's modem EXACTLY
  889.         returns "CONNECT x/ARQ/REL" you know! Plus, mine returns "No Dialtone"
  890.         when "No Dial Tone" was looked for... grrr... 8-O
  891.      
  892.         Added ECDelay for modems that report the connect speed and then, later,
  893.         report the ARQ type (if any). "ECDelay <x>" where <x> is a number giving
  894.         the number of seconds to wait for an ARQ report. Too high and you'll
  895.         start getting Intro: lines as ARQ reports!
  896.      
  897.         If an ARQ connect is established, it is shown as a ":"-status entry, so
  898.         if you get a "too many errors" entry, you know if it was an ARQ
  899.         connection.
  900.      
  901.         ARQ reports (in mdm_reliable[]) have spaces translated to dots, so a
  902.         report of "Connect 2400 V42 Bis" will be reported in BBS_x as
  903.         "SPAWNBBS 2400 0 V42.Bis".
  904.      
  905.         This version was not publicly released, it was just handed out to a few
  906.         people to test.
  907.  
  908. 10 Apr 1992: V2.06l *R*
  909.         If SmallIcon is not set to 2; pressing the right mouse button crashed
  910.         the program, when the non-existant floating window is attempted to be
  911.         closed...
  912.         Initial zone and domain support included - not yet functional, but the
  913.         support routines are appearing.
  914.  
  915. 01 Apr 1992: V2.06k
  916.         Added separate 'outbound' window: first step to replacing the large
  917.         status window.
  918.         Display:Inbound/Outbound/Nodelist now looks at the provided config for
  919.         the filer to open - rather than assuming that they are in <Binkley$Dir>.
  920.         Left mouse button now opens all windows, whilst the right mouse button
  921.         now closes all windows.
  922.         When Binkley is quitting the small floating window or message under the
  923.         icon now reads "Quitting".
  924.         During a poll, the node being polled is now highlighted in the outbound
  925.         window.
  926.         An immediate poll to a node listed in the outbound window may be
  927.         initiated by double clicking on the entry.
  928.  
  929. 27 Mar 1992: V2.06j
  930.         Fixed spelling of 'dialling'.
  931.         Added command line option and config file option:
  932.         SmallIcon - this restricts the icon width to 7 characters; this means
  933.         that the node doesn't all fit on at connect time, but it uses less
  934.         space.
  935.         In the config file only, this option may be followed by a number:
  936.                 0 = normal wide icon with messages beneath.
  937.                 1 = narrow icon with messages beneath.
  938.                 2 = narrow icon with 'floating' message window.
  939.  
  940. 13 Mar 1992: V2.06i
  941.         Taken VERSION numbering out of header file and placed into a separate
  942.         module - doesn't necessarily need to recompile the whole lot for a
  943.         small change any more.
  944.  
  945. 29 Feb 1992: V2.06h
  946.         Removed all foreground monotasking routines.  Terminal mode no longer
  947.         available.
  948.  
  949. 19 Jan 1992: V2.06g
  950.         Only try to generate ArcBBS filenames if the reqested file is all
  951.         numeric.
  952.         Fixed manual exit from Binkley to return 1 as the exit code - it had
  953.         started to return 0 by mistake!
  954.         Now got our own FTSC product code: 0xCA is Arc-Binkley.
  955.         Product code identification code changed to identify more of the
  956.         existing products without having a long list of case statements.
  957.  
  958. 13 Jan 1992: V2.06f *R*
  959.         Why can't I learn to read?  I went through the whole freq processing
  960.         routine, and realised that the line read from the OKfile is placed in
  961.         's' not 'request'!
  962.  
  963. 12 Jan 1992: V2.06e
  964.         Realisation at last - the compare for @@ArcBBS should be using the
  965.         counted compare routine strnicmp ().
  966.  
  967. 01 Jan 1992: V2.06d
  968.         I hope this is not how 1992 is going to continue - I'd managed to miss
  969.         out an '== 0' which stopped all freq's except for ArcBBS file requests
  970.         from working. (But in 2.06b they didn't work either...[sigh]).
  971.  
  972. 30 Dec 1991: V2.06c *R*
  973.         Whoops... ArcBBS file requests were well out of flunter!
  974.         Should be nearer the mark now...
  975.  
  976. 30 Dec 1991: v2.06c (Hugo Fiennes)
  977.         Zmodem assembler slotted into place - it seems to work.
  978.         Should means less CPU load/faster transfers maybe.
  979.  
  980. 23 Dec 1991: V2.06b
  981.         Added new command option to open Nodelist directory.
  982.         Solved the modem reinit problem - it was the timer routine working in
  983.         signed int's instead of unsigned int's...!
  984.         Added a command to rescan the Outbound immediately.
  985.  
  986. 10 Nov 1991: V2.06a
  987.         If a file is inbound with a filename longer than 8 characters before
  988.         the extention then it would cause an error, and the file would be
  989.         aborted.  The arcify routine now spots this. (The PC version of Binkley
  990.         still renames the file to BadWazoo.??? - so that's another one we're
  991.         up on!)
  992.  
  993. 08 Oct 1991: V2.06
  994.         Extra options added off the Display menu: Outbound Dir & Inbound Dir.
  995.         These open the filer windows for the main outbound directory and the
  996.         inbound directory.
  997.         Text position under the BT icon on the icon bar increased to accomodate
  998.         a full address at connect time.
  999.  
  1000. 07 Oct 1991: V2.06
  1001.         Code to scan ArcBBS filebases added for file requests.  If a filename
  1002.         of six digits is requested, and '@@ArcBBS' is in the OKFile, then an
  1003.         ArcBBS filebase name is generated.
  1004.  
  1005. 24 Sep 1991: V2.05
  1006.         Removed all the overlays. (Hugo's pretty sure they cause more hassle
  1007.         than they're worth!)
  1008.         Long filenames overwriting stack fixed - any filename longer than about
  1009.         30 characters in a FLO file would corrupt the stack in the zsend
  1010.         function.
  1011.         NodeList.xxx now renamed to NListxxx and NodeDiff.xxx now renamed to
  1012.         NDiffxxx.
  1013.         Allow modem response strings up to 60 chars instead of 20!
  1014.  
  1015. 11 Sep 1991: V2.05 (Geoff Riley, or GIR)
  1016.         Added alias code for file attaches.
  1017.         Format is (within FLO files):
  1018.         [<token>]<Archimedes filename> [<Alias>]
  1019.         The side effect of this is that you can no longer put comments at the
  1020.         end of a filename line.
  1021.  
  1022. 30 May 1990
  1023.         Fixed a problem in the file-request logic where it was searching
  1024.         for "\" between directories.  The file-request logic is gonna
  1025.         need a lot more work though - wildcard processing is still
  1026.         rather PC specific.  Also need to make 2 attempts - one with
  1027.         the file name given as-is, and the other after arcify()ing it.
  1028.         But simple file requests where an exact name (<8 chars) comes
  1029.         in and is matched by an OKFile entry ending in ".*" seems to
  1030.         be OK.  Matching magic names <8 chars without a "." also seems
  1031.         to work.
  1032.  
  1033.         (re)"Released" 2.03 source for Hugo.
  1034.  
  1035. 29 May 1990
  1036.         Did a quick-fix for the hogging that Bink does when sending fast.
  1037.         The send entries to Com_ do a time_release after 0.35 second has
  1038.         elapsed without one.  See h.donthog, c.com, c.wimp.  Not a very
  1039.         good solution - Bink is using far more CPU than needed.  Each
  1040.         byte goes through about 3 function calls to get sent!
  1041.  
  1042. 28 May 1990
  1043.         Did 1/2 a job on SpawnEvents.  Get's a bit more complicated 
  1044.         because of assumptions that errl_exit() doesn't return, and that
  1045.         the re-start of Bink will rescan the holding area etc.  Rather do
  1046.         this when there's more time!
  1047.  
  1048. 27 May 1990
  1049.         Remember to rmkill the nodeserver after recompiling the nodelist -
  1050.         forget and strange things happen!
  1051.  
  1052. 26 May 1990
  1053.         Did a nodeserver module - simply loads the index into memory
  1054.         from the QNL_IdxBBS file in the directory given on the RMLOAD
  1055.         line and returns its address (and # of records) on call
  1056.         NodeServer_Op with R0==0.  Hugo may want to fancy this up with
  1057.         a "find node" call etc, but I didn't need that.
  1058.         
  1059.         With the server WimpSlot goes back to 256k but I expect Hugo
  1060.         was hoping for less....  Still terminal and sb_ code to zap
  1061.         if it is really a problem!
  1062.         
  1063. 20 May 1990
  1064.         Finished the WIMP interface.  New file TextWindow based on my
  1065.         Little-Smalltalk stuff.  "full-screen" mode is still in there
  1066.         if you want it.  Changes in c.wimp too.  And a Template file.
  1067.         Did a Q&D for scrolling the pending window.  Would be nice to
  1068.         fake a scroll-bar.  Can't easily use a pane 'cos it can't be
  1069.         "behind" the edge of the window.
  1070.         
  1071.         WimpSlot has gone back up to 320k.  Oops.
  1072.         
  1073.         "background" is now the default. You can now use "foreground" on
  1074.         the command line and Bink will take the screen.
  1075.  
  1076.         Increased time-out after connect to 18 seconds to help non-MNP
  1077.         callers out.
  1078.         
  1079.         Did the extra SelectPort()s.  Added the extra time_release()s.
  1080.         Went around trying to spot the other places where Bink hogs
  1081.         the system!
  1082.         
  1083. 19 May 1990
  1084.         DTR is left on at exit, though we pulse it to try and hang up.
  1085.         This is because leaving it down causes other programs problems.
  1086.  
  1087.         Fixed a problem with the new nodelist - the internal copy of the
  1088.         index went >64k and the get_size() routine had an unsigned int
  1089.         type for the size.  Changed unsigned ints to native_ints.
  1090.  
  1091. 12 May 1990 To do:
  1092.         Fix bug with deleting outbound files before they have
  1093.         been closed.  Move nodelist access stuff info a module.  Hugo
  1094.         wanted some other changes?  Phone him.
  1095.  
  1096.         Encourage using the "Answer" statement 'cos that helps if
  1097.         the wimp is suspended when a call comes in.  If the modem auto-
  1098.         answers but Bink isn't getting any CPU the other guy is going to
  1099.         think we are down.  Rather he gets no answer.  
  1100.  
  1101.         Then drop the switch-off of DTR on exit.  Only causes other programs
  1102.         problems.
  1103.  
  1104. 16 May 1990  To do from 'phone converstation with Hugo:
  1105. €       Remember to reselect the serial port after every possible Wimp_Poll.
  1106.         Especially event handlers called via event_process.  Also remember
  1107.         to select it after all serialop(0)'s due to a bug in the firmware.
  1108. €       Add time_release to the send/receive with wait stuff in c.com.
  1109.  
  1110. x       Drop the Binkley terminal emulator.  Keep tabs on the "standard"
  1111.         for handing over serial port control that Acorn is supposed to come
  1112.         up with.
  1113.         
  1114. x       Think about a non-exit way to handle exit-events.
  1115.         
  1116. €       Have a go at moving the nodelist handling into a module.
  1117.  
  1118. €       Hugo's gonna send the latest !Spark.
  1119.  
  1120. 16 May 1990  To do from 'phone converstation with Hugo:
  1121. €       Remember to reselect the serial port after every possible Wimp_Poll.
  1122.         Especially event handlers called via event_process.  Also remember
  1123.         to select it after all serialop(0)'s due to a bug in the firmware.
  1124. €       Add time_release to the send/receive with wait stuff in c.com.
  1125.  
  1126. x       Drop the Binkley terminal emulator.  Keep tabs on the "standard"
  1127.         for handing over serial port control that Acorn is supposed to come
  1128.         up with.
  1129.         
  1130. x       Think about a non-exit way to handle exit-events.
  1131.         
  1132. €       Have a go at moving the nodelist handling into a module.
  1133.  
  1134. €       Hugo's gonna send the latest !Spark.
  1135.  
  1136. 12 May 1990  To do:
  1137.         Fix bug with deleting outbound files before they have been closed.
  1138.         Move nodelist access stuff info a module.  Hugo wanted some other
  1139.         changes?  Phone him.
  1140.  
  1141.         Encourage using the "Answer" statement 'cos that helps if
  1142.         the wimp is suspended when a call comes in.  If the modem auto-
  1143.         answers but Bink isn't getting any CPU the other guy is going to
  1144.         think we are down.  Rather he gets no answer.  
  1145.  
  1146.         Then drop the switch-off of DTR on exit.  Only causes other programs
  1147.         problems.
  1148.  
  1149. 06 May 1990
  1150.         Turned out I had been using Binkley$Path where I should have had
  1151.         Binkley$Dir.  Fixed up.  Also affects BinkleyCfg etc.  That must
  1152.         either be changed or both variables should be set in !Run.
  1153.  
  1154.         Added a text label under the Binkley icon saying "Waiting",
  1155.         "Dialing", "Hangup" etc.  When connected it shows the node number
  1156.         of the other guy.
  1157.         
  1158.         Added a menu for the icon with an Info box.
  1159.  
  1160. €       Don't forget to take the version stuff out of h.xfer and just 
  1161.         include version.h
  1162.  
  1163. 29 April 1990
  1164.         Added a port argument on the Binkley command line.  Use this
  1165.         to select which port as an alternative to the "Port" statement
  1166.         in BinkleyCfg.  You get an error if you try and use both.  Note
  1167.         the "MaxPort" command if you have more than one serial port.
  1168.         Port numbers are 1 based.  The internal is 1, add-ons are 2 and up.
  1169.  
  1170.         Running several Binkley's on the same outbound/inbound areas is
  1171.         probably a bad idea.  Either make sure only one can make outgoing
  1172.         calls (using BinkleyEvt) or give each its very own outbound area.
  1173.         
  1174.         Note the "config" command-line parameter to point different binks
  1175.         at different configs.  You can have common settings in a file you
  1176.         "Include".
  1177.  
  1178.         Updated the version to 2.02.  (hopefully there was no PC-Bink 2.02!)
  1179.  
  1180. 29 April 1990
  1181.         Seemed a shame to waste the space at the bottom of the screen.
  1182.         The "Recent Activity" window is now 7 lines bigger.  Changes to
  1183.         hard-coded constants all over the show!
  1184.  
  1185. 29 April 1990
  1186.         Removed all calls to the RISC-OS library.  Especially in c.wimp
  1187.         where calls to the wimp.h stuff was causing all sorts of other
  1188.         modules to be linked in.  We call the kernel directly now.
  1189.         WimpSlot can now be 256k (that's now 64k smaller!)
  1190.  
  1191. 28 April 1990
  1192.         dosify converts NodList and NodDiff back to the DOS-style.
  1193.         Maybe its time to write a sort of pattern matcher so that users
  1194.         can configure the conversions to be done (rather than hard-coding
  1195.         into arcify/dosify).
  1196.  
  1197. 28 April 1990
  1198.         Added a "Background" command line switch to tell Binkley to go
  1199.         straight to the background when it starts up.  This minimizes
  1200.         the time that other tasks are held up, particular when Binkley
  1201.         takes an errorlevel exit.  Without this parameter Binkley comes
  1202.         to the foreground when it restarts after the exit and stops all
  1203.         the other tasks!  NB: This goes on the command line, NOT in
  1204.         BinkleyCfg!  Also tidyed the Obey files so you can change bink's
  1205.         switches in one place in !Run.
  1206.  
  1207. 28 April 1990
  1208.         Fixed a bug that caused Binkley to loop in xmit_reset (mailer).
  1209.         The cause was an assumption in my dfind() clone that Binkley
  1210.         wouldn't try to scan the same directory recursively.  Turns out
  1211.         that xmit_reset scans the outbound, then within that calls bad_call
  1212.         which scans the same directory looking for call-progress files.
  1213.         This alter the "current position" saved by dfind in a static,
  1214.         resulting in xmit_reset finding the same file repeatedly.  Fixed
  1215.         the problem by stashing the "next offset to use" information into
  1216.         the returned dta in the reserved area (which is probably where DOS
  1217.         buts it too!)
  1218.  
  1219. 28 April 1990
  1220.         Built an overlayed version of Binkley.  WimpSlot was 320k, now fits
  1221.         in 288k (big deal!).  Overlayed version in !RunImage et al, non-
  1222.         overlayed is in btbig.
  1223.  
  1224. 26 April 1990
  1225.         Added the "LockFossil" parameter to allow you to lock the baud rate
  1226.         of Arc-Binkley's internal fossil driver.  Use it as follows:
  1227.                 Port 1
  1228.                 Baud 9600 ; or whatever your modems top data-link speed is
  1229.                 LockFossil 19200 ; the speed that you will talk to the modem
  1230.         Make sure that your init string enables fixed speed (&B1) and enables
  1231.         hardware flow control (&H1&R2).  The serial cable must connect
  1232.         CTS and RTS.
  1233.         The init string I use with the HST looks like:
  1234.                 Init AT&FE0X4B0&G2&P1&B1&H1&G2S7=60S0=1S9=18|
  1235.  
  1236. 20 April 1990
  1237.         The BinkleyScd file (and friends) that are supposed to maintain
  1238.         Binkley's status during error-level exits were not being written
  1239.         'cos open() was being called with open-mode WRITE|CREATE.  A bug
  1240.         in the Arc "clone" of open resulted in this open failing.
  1241.  
  1242. 20 April 1990
  1243.         Converted for C-3.
  1244.  
  1245. 16 March 1990
  1246.         arcify() spots nodelist and nodediff files.  To preserve
  1247.         the week number at the end NODELIST.A66 becomes NodListA66.
  1248.         
  1249.