DiskMAG Volume 1 Number 3 (Dec 1988) : UTILITIES / Access!m.e

 |                                                                          |
 |                 Access!  (C) 1987/88 by Keith Young                      |
 |                                                                          |
 |   Author:  Keith Young                                                   |
 |  Version:  1.42                                                          |
 |     Date:  10/06/88                                                      |
 |   Status:  ShareWare (registration: $25.00)                              |
 |     Size:  115064								                        |

Copyright and Distribution notice:
    Access! is being distributed as  SHAREWARE  and may be posted at will,
   provided the following files (listed below) remain  UNCHANGED  and  AS
   A WHOLE in ARCHIVE FORM along with this notice. (files may be "un-arced"
   in a directory together on pd disks)
    ALL rights to the program and graphic images within it remain with the
   author: Keith Young

    Please  NOTE  that this program IS being distributed as "ShareWare",
   which means that it is  "User Supported Software".  Your support is
   needed and greatly appreciated.

    I have spent ( and do spend ) many hours (and more than a few bucks)
   every week designing, programming and debugging  "Access!"  and will
   continue to do so as long as there is enough interest and support to
   warrant doing so.


 Credits:    ( Although most of the programming and implementation of code
 ~~~~~~~~      in this program is a sole effort on my part, I believe in
               giving credit where credit is due...)

         DJ.James  -> for the origional source to "Comm1.34" (thanx Dan, I
                      couldn't have made this mess without it! (grin))
         C.Heath   -> for the origional source to the "File Requester" and
                      "Color Palette".
        D.Greenwald-> For his Fast Font routines...
         J.Nangano -> For sample source to and help with CIS-QB protocol and
                      review buffer routines.
         M.Fahrion -> For the NICE Icon!

  And everyone else who's answered my programming questions, made suggestions
 or reported problems.

(and of course)
    Commodore-Amiga-> For the BEST damn personal computer money can buy!




                        Files in this archive
     Name                                Function
     ~~~~                                ~~~~~~~~
   Access!                      This is the Terminal program: "Access!"
   Access!.info                 Icon for...
   Acc!.phone                   Sample phone-lib file for...
   Acc!.color                   Sample color file for...
   Acc!.def                     Sample define file for...
   Acc!.keys                    Sample macro-key file for...
   Access!me                    A doc file of questionable content and
                                quality. ( the file you are reading now )
   Update.doc                   Information on the latest update
   Script.doc                   Documentation on the new script language
   rd                           Stand-alone file-reader called by Access!
                                (should go in your c: or current dir )

      Please note that this program is still under developement and

      This program comes with NO WARRANTY either expressed or implied and
     I assume NO responsibility for any damage whatsoever, caused by the
     use of it.

      Nuff Said, Now on to bussiness....


              A General Purpose, ANSI Telecommunications Program.  

  Feature Over-View:    ( '*' = new or modified this release )
   o Xmodem-CRC and Xmodem-Checksum protocols.
   o Fast WXmodem transfer protocol.
   o Compuserve "Quick B" protocol. (a new, faster implementation of
     CIS-B protocol) 
   o Auto-Chop mode to strip xmodem padding from in-comming files (auto-
     disabled for ".arc/.zoo/.pak" extended files)
   o ASCII send and receive mode with user-selectable char. send delay and
     next-line delay.
   o "Review Buffer" allows reviewing/saving a user-definable number of lines
      that have already scrolled off the screen.
   o "Capture Buffer" for saving in-comming text to file.
   o "Print" feature for printing in-comming text.
   o "Strip" feature for stripping in-comming blank lines.
   o "Loadable Fonts" seporate fonts for Transmit and Receive windows
*  o "Read" feature for reading text files.
   o "Chat Mode" with buffered input and line editing for tele-conferencing
      and term-to-term use.
   o "Split Screen" mode (half screen) for easy access to Amiga's multi-
     tasking capabilities.
   o "Iconify" feature... to free up resources when not in use.
*  o Flexable, informative "File Requester" for all file IO.
   o User-selectable 4, 8 or 16 color screen/windows.
   o ANSI terminal emulation with full 8 color text support.
   o "Color Palette" for user-selectable color maps with load and save
   o "Macro Window" for the editing/loading/saving of 20 macro-keys.   
*  o "Scripting" new to version 1.4 (see Script.doc for details)
   o "Phone Book" window for editing/adding/loading/saving phone books with
     up to 60 numbers. (alternate service numbers available)
   o "Auto-Dialer" to dial a number until connection is made.
*  o "Multi-Dialing" round-robin dialing of selected numbers.
   o Serial parameters, color file and keymacro file loaded at dial-time for
     each number. (new to version 1.4: Script execution on connect )
*  o "Define Window" for editing/loading/saving default fileing and modem
     preferences and other term defaults.
   o Run-time "Interlace" ON/OFF toggle.
   o On-screen "Fast-Menus" for easy "access" (pun intended) to most
   o Two built-in Clocks for your time-keeping needs.
   o And a Partri--dge in a pear treeeee...
   o And anything else I can work in... stay tuned.....


Minimum System Requirements:
   Amiga: 500/1000/2000/3000  (3000?) with a MINIMUM of 512K.
   Modem: 300/1200/2400/9600  (well, only if you want to call somewhere :-)

Suggested Configuration:
   Amiga (any of the above will do) with 1MEG. or more.
   VD0:  (or similar recoverable ram disk) for fast downloading/uploading.
   Hard Disk, 20meg or more is nice...

    Make a directory on your disk and put the term support files (.key/.phone/
   .color/Access!) in it and cd to that directory before booting the term. 
   (this will be your "System Directory", see "Usage" below)


      from the cli promt:

        1> access! [drive:path/myfile.def]

            where: "access!" is the name of the term.
     and optional: "myfile.def" is the name of a configuration file.

	 If no configuration file is given, it will look for "Acc!.def" in 
	the current directory, if it's not found there, it will look in	your
	"S:" directory. If THAT is not found, it will use built-in defaults.

      from the Worbench:

        Just click on the Icon!

   To set the ".def" file from WorkBench, type: DEFILE=myfile.def
  (or a full path/filename of a valid configuration file) into the
  'ToolTypes' string in the Icon (using the 'Info' command of WorkBench)

  Once the term is loaded, open the "Define" window and tell it where your
  "System Directory" is and any other files you would like loaded at boot-
  time, Fill in the "Modem Strings" with the proper settings for YOUR modem,
  and then "Save" the information for future use. (you can choose which .def
  file to load at run-time on the command-line or in the Icon, see above)


                         Historically Speaking  
( NOTE: this section notes changes/additions from version 1.3a to 1.4, and
		then from 1.4 to 1.41... for information on changes/additions for 
		the _current_ release ( 1.42 ) please see the seporate file 
		"Update.doc" in the archive.
			If you are trying Access! for the first time, please read this
		(Access!me) file in it's enitirety before reading "Update.doc".
			If you have used Access! before but have not yet used version
		1.41, then read this section then move on to "Update.doc".
			If you have been using Access! all along and are up to date on
		how it ticks, move on to "Update.doc".
			Finally, if you're one of those people who never reads this stuff
		anyway, then just skip it <grin>... but please read all of this/these
		file(s) before sending me any E-mail about some 'feature' you don't
		understand... I might just ask you "what's tword #4 on page..." <grin>

		 On a somewhat related note, I have _not_ taken the time to try and
		patch this file ( "Access!me" ) back together to bring it up to date.
		 If you are trying Access! for the first time, I'll apologize right
		here and now for the quality (and/or lack of information) in this
		file. Hopefully you will be able to dig around in it and find answers
		to most of your questions.
		 Completely re-writen documentation is in the works and I will post
		it seporately as soon as it's finished. )

--    Listed Below are the relevent changes/additions between versions
	1.3a and 1.4 ...

o		File Reader -- has been _much_ improved. It now reads the file into
	memory so that the scrolling can be full-speed. It is also no longer 
	part of the main program. It is a stand-alone program that is invoked
	from Access! (it's called 'rd' and should be in your c: dir.)
		'rd' may be used as a stand-alone text file-reader and should make
	a handy addition to your c: directory (do _not_ 'run' it, it detaches
	itself from the CLI for you. And it will _not_ work from WBench (sorry)).
		Also, if Access! is up and running when you invoke it from a CLI, it
	will pop up on Access!'s screen (in case you wonder where it went 8).

			1> rd drive:directory/filename

( NOTE: there are several text files in this archive, you might want to go
		ahead and finish reading them with 'rd' to get a feel for it ).

o		MoreRows support -- you might have to play with the sizes a bit...
	I forget what mine are set to ( cols +40, rows +16 ?). It should now
	also work correctly on PAL machines ( there was a problem in CHAT 
	mode ) although I have no way of testing. If not, please let me know.

o		Screen Refresh -- Any time the screen clears because of a user-
	invoked function ( going in/out of CHAT mode, interlace, etc.) if there
	was text on the screen, it is now re-displayed for you.

o		Review Gadget -- The Review Buffer Window can now be opened by 
	clicking on the REVIEW gadget. (there is also a menu item in the
	(temporary) 'Misc.' menu).

o		CD Support for .def file -- Access! will now (again) _first_ look
	in the current directory and _then_ the S: directory for the Acc!.def
	file ( please watch for future changes in format of the .def file to
	avoid any problems ).

o		CIS-B parsing enabled -- by default now. (the '+' in phone number
	is _not_ needed to enable B protocol) You may still toggle it on/off
	by hitting <L-Amiga> <b>.

o		QB Block size changes -- 128 byte blocks at 300 baud, 512 byte
	blocks for 1200 baud and 1024 byte blocks for anything greater than
	1200 (this should speed error recovery at slower baud rates and add
	only a slight bit of overhead).

o		Child support -- What I'm paying my ex now...(grin, not really)
	Access!	will look to see if it's already 'online' when it boots and not
	reset the baud rate if so, or send out the 'modem init string'.

o		"NewCli" -- gadget now does wonderous things... first, it will look
	to see if you have "ConMan" in your c: directory. If so, it assumes it's
	a fairly recent version and that you are USING IT. 
		It then looks to see if	you have "newwsh" (WShell, a commercial
	Shell program also by Bill Hawes... I recommend it highly) in your c:
	dir	(defaults to "newcli" if not, but will be user-definable in the next 
		Provided it finds "ConMan" it will attempt to open	the newwsh(cli)
	on the Acc! screen(!). If it doesn't find "conman", it _assumes_ you 
	don't have WShell and will try to open a plain 'ole NewCli for you on 
	the WB screen.

o		Loadable Fonts -- You can now load in your favorite font. Actually,
	you can have two seporate fonts, one for the (upper) 'Receive' window
	and one for the (lower) 'Transmit' window in CHAT mode. When not in CHAT
	mode, it will use the font you specify for the 'Receive' window.
		A few things worth mentioning here... the 'console.device' does _not_
	support 'proportional' fonts well. If the spacing (cursor position) gets
	out of sync, you have probably loaded a proportional font.
		Also, the System does _not_ unload fonts from memory just because I
	tell it I am through using one (from within the program). They will,
	however get 'flushed' if they are not being used and memory gets low. If
	you have been loading several fonts trying to find one you like, you may
	force this 'flush' at any time by selecting the 'Purge Memory' option (in
	the	'Font' menu under 'Misc.' ).
		Now that you can load in a new font, you might have an 'ibm.font'
	lying around (I'll try to dig one up that I can distribute with the next
	release ) that has the 'extended char set' for border graphics that many
	of the IBM-run Amiga BBSs use.
		To actually _see_ these graphics, you need to enable the upper half
	of the char. set in the term. I'm writing this a little ahead of time and
	am trying to get this version posted ASAP, so if you don't see a menu 
	item or a gadget somewhere on the DEFINE window to enable the upper char.
	set, you can toggle it on/off by hitting <L-Amiga> <h>.

o		IBM (yuk) Screen Clear -- on a related note to that mentioned above,
	it seems that IBM (yuk) uses a "clear-screen" char. that the Amiga
	console.device doesn't recognize. _If_ you have the extended char. set
	enabled ( <L-Amiga> <h> ) there is code that will recognize this foreign
	"clear screen" and it should work properly (if not, let me know).

o		Phone Book -- A couple of changes/new features here... First off,
		"Multi-Dial" - You can now select several numbers to be dialed, if 
	no connection is made the next selected number will be dialed and so on,
	until you are finally connected. There is a new gadget on the Phone
	Book window ( Multi-Dial ) that you select to enable this feature. 
		Once it is selected, you then can select/un-select whichever numbers 
	you'd like on the list (when it is _not_ selected, clicking on a number
	the second time will dial that number as has been the case in version
	1.3a; rather than un-select it).
		Once you get connected (or you abort the process) and are logged off
	one service, clicking on REDIAL (on one of the gadget-bars) will continue
	the dialing process where it left off.
		Note also, that when first building the list of numbers to dial, the
	_last_ one you click on is where it will _start_ dialing in the list and
	will continue sequentially from there ( 1,2,3,4...59,60,1,2...etc).

		"Do-Script" - The other new gadget on the Phone Book window will let
	you activate a script file (see below) connected to an individual phone
	number after a connection is made.
		To attach a script to a particular phone number, you place a '$' char.
	as the _first_ char. of the comment feild followed _immediately_ by the
	filename of the script (as shown below)...

	Deep Thought  NC  1-(919)-471-6436  2400  F8N1 $logon.script (Tech Info)
	|--System Name---|--Phone Number---|-Baud|-Set|-----Script/Comment------|

	... two things to note here (well, maybe 3 or 4)... first, if only a 
	filename is given (no drive or path) then the term will look for the
	script in the current "System Dir:" you have specified in the DEFINE
	window (the same place you have your .keys, .phone and .color files).
		Second, notice that if you still want to have a comment (and still
	have room for one 8) you _must_ seporate the script name and the comment
	with at least one <space> as shown in the above example.
		Third, enabling either the "Do-Script" or the "Multi-Dial" gadgets
	will automagically enable the "Auto-Redial" gadget and thus use the 
	auto-dialer to determine when you are actually connected. You should keep
	this in mind when writing scripts, as you will already be connected when
	the script starts so the first thing your script might want to do is
	send a <return> (needed by many BBSs to get logged on) then wait for some
	"Password:" prompt (or whatever is appropriate).
		Finally, I'm using the Comment feild on somewhat of a trial basis...
	my origional thought was to have it work like the Get Keys and Get Colors
	as far as determining the script name. But for many BBSs one common logon
	script could be used for all (many) of them (thus reducing the number of
	scripts you need to write). What I may do in a future version is a 
	combination of the two methods where if one was specified in the Comment
	feild, over-ride the one built up from the BBS name.

o		Scripts -- I am in the process of adding 'real' scripts (as opposed
	to the 'pseudo scripts' that _were_ available through the macro keys).
	This release has a limited (first) verson of the new scripting language
	and it will be expanded in future releases. Due to the length of text
	descibing the various commands and thier usage I have moved that part
	of this documentation to a seporate file "Script.doc" which you should
	also find in the archive.

--    Listed Below are the relevent changes/additions between versions
	1.4 and 1.41 ...

		This release (1.41) of Access! is mostly a 'bug-fix' version for 
	1.4 and as such does not add any major new features... although there
	are a few changes/additions that I concider significant...

o		'rd' -- has a new 'Iconify' feature...
		Once you are reading a file, pressing Function key #1 ( F-1 ) while
	the 'rd' window is active will cause it to shrink up into a title-bar
	sized window that you can drag/place in a convenient spot until you are
	ready for it again.
		While in this 'Iconified' state, there is a 'close' gadget (used to
	open (yeah, I know 8) it back up to normal size), front/back gadgets 
	(act as normal window depth-arranging gadgets) and an area in-between
	with 'rd' displayed that you can used to drag the window.
(NOTE: clicking the 'close' gadget when 'rd' is in it's normal, un-iconified
	state QUITS the 'rd' program)
		When you shrink the window, it first saves it's location and size
	so that upon re-opening it, it returns to that possition/size. (it also
	remembers where it was possitioned in it's 'Iconified' state).
		'rd' will _now_ open on the current 'Front-Screen'. So that (unlike
	it acted in version 1.4) if Access! is running, but WBench (or any other
	screen) is in front when it is invoked... it will live on _that_ screen.

		Other programmers are welcome to take advantage of this and 
	distribute (_this_ 1.41 version of) 'rd' with thier _non-commercial_ 
	product as long as credit is given to myself somewhere in the docs.
	(programs using custom screens, allowing 'leach' programs on thier screen
	should have some provision of checking to make sure all windows are 
	closed/removed before closing the parent screen. Here's one example (and
	what *I* use) of how you might do this...(pseudo code)
		while( myscreen->FirstWindow )
			AutoRequest( ..."Please Close all windows on this screen"...);
		CloseScreen( myscreen );

o		Iconify -- speaking of Iconify, Access! itself also now has a 
	similar feature... selecting "Iconify" (from the "Project" menu) will
	cause Acc! to close up all of it's windows and custom screen and open
	a small title-bar sized window on the WorkBench screen until you are
	ready for it again.
		While in this iconified state, Acc! will _still_ recieve in-comming
	text and store it in the review buffer as normal. However, it will NOT
	(currently) continue any kind of file-transfer so please do NOT try it
	while you are in the middle of a transfer. (yes, this would be a handy
	feature while doing a long transfer... it's _planned_ for a future
	version, so please don't waste your time (and mine) suggesting it <grin>.
	Actually, my guess is, 8 out of 10 people never read this stuff... so 
	I'll end up having to respond to a lot of 'bug' reports anyway... <sigh>)
		To re-open Acc! to it's normal/un-iconified state, click on the
	'close' gadget on the little window.

o		Read Text File -- new menuitem added (in the "Project" menu) to give
	further access <ahem> and 'menu key sequence' to the text file reader 
	('rd').  Also, version 1.4 of Acc! looked in the C: directory for 'rd',
	it will now first look in the 'current directory' (the one you were cd'd
	to when you booted Acc!) and then the C: directory.

o		Online help -- well... similar to the above item, there is another
	new menuitem in the Project menu labeled "Help".  This selection is just
	a quick way to have a text file loaded into 'rd'... it is hard-coded to
	look for a file called "Acc!.hlp" in the current "System Dir:" (specified
	on the DEFINE window).  The idea here was/is to have an 'online help'
	file for quick reference to keyboard commands etc... but I haven't had
	the time to actually write that file yet <grin>.  It can, of course be
	any text file named "Acc!.hlp", so you might opt not to use my (future)
	online-help file, and use this feature to bring up a list of user-ids
	or any other information you'd like to have handy while online.

o		Optimized -- Much crunching took place for this release... Acc! is 
	now roughly 25,000 bytes smaller on disk and should use a bit less CHIP
	mem while running. (that should give you a little more room on disk for
	these 'doc' files... hint, hint <grin> )

-- again, please see "Update.doc" for information regarding the current
   version ( 1.42 ). 


                     Individual Features Listed Below

Review Buffer Operation:

 o To open the review buffer, just press the <SHIFT> <HELP> keys.

 o To scroll-backwards, use the UP-Arrow key OR click anywhere on the top
   half of the screen.

 o To scroll-forwards, (you guessed it) use the DOWN-Arrow key OR click 
   anywhere on the bottom half of the screen.

 o To scroll-backwards 8 lines at a time, use the LEFT-Arrow key.

 o To scroll-forwards  8 lines at a time, use the RIGHT-Arrow key.

 o To close the review buffer window, use the <ESC> key, hit the 'close'
   gadget or press the <HELP> key again.

 o To SAVE the review buffer to a named file, use L-Amiga 'w' (YES, I SAID
   LEFT-AMIGA) from the main term window. (this may change when I decide
   where to add a gadget/menu-item)

 o  You can select the number of lines saved (size of buffer) by an item in 
   the DEFINE window labeled: "RBufLines:" (or something like that). Each line
   takes up 24 bytes + 1 byte per char in that line, so assuming a 76 char 
   line: 24 + 76 = 100 * number_of_lines = total_memory_cumsumed (of course a
   line CAN be anywhere from 25 bytes to 104 bytes.)
    If you change the number to LESS than you already had set, it will 'chop'
   lines off of the top until it gets down to your specified size (this
   is checked EVERY time a char is buffered) and frees up the memory that
   was being used.
    Making the buffer BIGGER than it is currently set, does just that and
   does not effect any currently buffered text.   


Chat Mode:
 o the lower window ( where you do all your typing) is now a FULL FLEDGED 
   EDITOR ( well, a simple one anyway <grin> ).

 o also a "history" of the last 16 lines typed is available by using the 
   up/down cursor keys.

 o you can cursor left/right, insert/delete and backspace to edit your text
   (up to 127 (128?) chars) before sending it. ( this makes the "history"
   mentioned above almost seem useful ).

 o <CTRL> <X> in chat mode will "kill" the current line.

 o <CTRL> <V> will "un-kill" the last line "killed" (it's kept in a buffer)
   ( ctrl chars. other than these, are send directly to the modem and are
     not buffered )

 o <SHIFT> <U/D-CURSOR> will now clear current line but not 'clip' it to the
   kill buffer.

 o <ALT> <L/R-CURSOR> == back/forward one word.
 o <SHIFT> <L/R-CURSOR> == beginning/end of line.

 o Function keys are "sent right out" and the line you are working on will
   be "refreshed". 

 o The "/Sen xx" gadget is for use in conference mode to "Send" private
   messages to job # xx (can currently be used on GEnie and CIS).  Basically,
   if it is enabled (click on "/Sen"), it will prefix your message with "/Sen"
   and the job # that you provide in the string gadget so that you can carry
   on a short private conversation without having to type it yourself every
   time (click again to de-select it).


Notes On CIS Quick-B Protocol:

  o Access! supports "CIS Quick B" protocol. This is an improvement on the
    earlier protocol in that it uses 1024 byte blocks (vs. 512) and has a
    "send ahead" feature (it will send a second block without first waiting
    for an ACK for the first one, overcoming some of the time delay involved
    when using "packet switched" networks). This protocol does not show up
    anywhere within the menus in the term because everything happens auto-
NOTE: since Access! relies on certain "control chars" being sent to initiate
      a "Compuserve Quick B" protocol transfer and since these chars can 
      appear inadvertantly as "line noise" while on other systems and since
      trying to download a file using "B" protocol on a system other than
      Compuserve has only "ill" effects... I have implemented a "toggle" to
      enable/disable "B" protocol. The default mode is: "enabled".
      You may toggle it on or off by holding down the <Left-Amiga> key and
      hitting the <b> key. (a message will be printed to the screen)

      If the protocol is enabled, here is how to use it...

    1) Select "Compuserve Quick B" when prompted for a protocol by CIS.

    2) When prompted for a file name for YOUR computer, type in the FULL path
       name and file name for the file ( drive:dir/filename ).

    3) Sit back and wait for the transfer to finish.


Notes On The File Reader:
	( please see the "Historically Speaking" section (above) and the seporate
	file "Update.doc" for imformation on the file-reader )


"Color" menu item:

  o "Reset Text Colors"->

      Selecting this will reset both the foreground and background colors
     (colors 1,0 respectively). This is usefull if you make a selection on
     a "Color" BBS in the middle of a color change and you get a "bad" color
     combination. (this ever happen to you?)
  o "ForeGround Text Color" -> 

     Here you can select the color for text in the "receive" window. This
    color will stay the same until...
    1:You select another color.
    2:A BBS (or other terminal) sends an ANSI code that changes it.
    (NOTE: in CHAT mode, the TOP (receive) window will use this color,but
           the BOTTOM (transfer) window will be color #1.)
  o "BackGround Text Color" ->

     Same as above but for the text background color.
    (NOTE: see note above) 

  o "Sample Text Colors" ->

     This option lets you test your foreground/background color selections
    to see what works best...

    EXAMPLE: Select a foreground color, go to "Sample Text Colors", select
            "Background Colors" and your selected foreground color will be
            displayed on 8 different background colors. Now try the opposite
            for background. (confused yet?)  

  o "Modify Palette" ->

     Yep, you guessed it, this will bring up a color palette for you to set
    the colors YOU like. (the colors I like are already there).   
            1a) "OKAY"-> Selecting this gadget tells the system that the
                current/modified (or not modified) colors are the ones
                you would like to use.
            1b) "RESET"-> This gadget brings back the original "system" 
                 colors (the ones I like :-). If you get things all messed
                 up, you can always get back to where you started.

            1c) "CANCEL"-> This gadget tells the system that you changed 
                your mind and it will return you to the last colors that
                were "OKAYed". 
                EXAMPLE: If you have modified the colors (and hit OKAY) 
                         and then want the "default/system colors",
                        1. Open the Palette.
                        2. select "RESET"
                        3. select "OKAY" (if you select "CANCEL" instead,
                                          it will return to the last colors)
              ONLY AFTER selecting your colors and CLOSING the palette, open 
             up the file-requester and/or menus and check out the colors. 
              Many of the colors are dependent on each other for the gadgets
             and menus to look "esthetically" pleasing.(in my humble opinion
             anyway :-) But if you find a combination that works well, SAVE
             THEM for later use. 

            1d) "LOAD"-> 

                 This will load the colors in the given file name. (provided
                they were "saved" by "Access!")

            1e) "SAVE"-> 

                  The "save" option will save the currently selected color
                 values to a text file with the given name. 


 Macro Window: 
       Selecting this option (from the "Fast-Menu" or the regular menu) will
      open up a "Macro Window" that will let you see/edit/load/save all
      currently defined macro keys (F1-F10,<shift>F1-F10).

usage: When the window opens, you will see 10 funtion key definitions.
      Hit the "arrow" gadget to toggle between shifted/non-shifted keys.

       To edit one, simply point to it and "click". It will then move down
      to the editing line where you can make your changes. When your through,
      be sure to hit <return> before moving on or your changes will be lost! 

       The new definitions will be in effect until you either quit the
      program, change them again, load in new ones, or (heaven forbid) crash.
      Select "Save" to save them to disk for future use.

       a) "OKAY"  -> when your done editing/loading/saving ect.. this will
                     close the window.
       b) "SAVE"  -> brings up the "File Requester" window and saves macros
                     to the name you supply.
       c) "LOAD"  -> opposite of "SAVE" (above)

       d) "CANCEL"-> currently acts the same as "OKAY" above (selceting this
                     gadget COULD be used for "undoing" any current changes,
                     but this would take a little more "overhead" and I left
                     that option out for now...)

       e) " ^ "   -> (arrow) click on this to toggle between "shifted" and
                     "non-shifted" funtion key definitions.

    There is a limited 'pseudo-script' type language accessable through the
   macro-keys that will let you create simple auto-login proceedures and a 
   few other things... 
    The following commands are available, ALL of which use the '\' char. to 
   tell Access! to treat the next x number of chars (depending on the command)
   as either cntrl chars. or a command sequence...

NOTE: parameters surrounded by <> are _required_ , parameters surrounded 
      by [] are _optional_ .

		auto-D[ial] where 'x' is a number from 1-60 that corresponds to the
		phone-book entries.
		same as above, but without setting the auto-dial feature.

 \h   ( No Longer implemented )		

		line break

		L[oad] the currently defined support file (phone, color, key) 
		from the current "System Dir:". Or optionally load the specified
		support file (p,c or k) with the name of "string" (use quotes) 
				loads the currently defined .phone file using the
				currently defined "System Dir:"

				loads the .color file-> df0:terms/my.colors 

	call another macro, where 'x' is the number of the macro from 1-20
			calls macro 'F6'
			calls macro 'S10' (shifted F10)

 \P<"string">   ( No Longer implemented )

 \p<c>          ( No Longer implemented )

	used to set 'delay' V[alues] (ranging from 0-255) for...
			sets dial_delay value (time between dial attempts for auto-
			dialing) to 50 'ticks' ( 1 second ).
			sets pause_delay value (the time Access! will "pause for 
			string" or "pause for char." ) to 20 _seconds_.
			sets wait_delay value (the time to pause when using the \w
			command listed below) to 100 'ticks' ( 2 seconds )
			activates... nah... (sorry, just a bad joke :-)

	wait for x amount of time in 'ticks' (time set by \V command above)

	change specified directory ( upload, download, system ) to "dir".
			changes the "Upload Dir:" to "vd0:"
			changes the "System Dir:" to "df1:supportfiles"

	just sends a '\' char.


Phone Book:
(NOTE: please see the "Historically Speaking" section (above) for further 

     Although not yet in "finished" form, There is a "Phone Book" window. 
    Usage is fairly straight-foward but I'll expand a little anyway... 

     When the "Phone Book" opens, you'll see 30 phone numbers list along with
    some other gadgets/info...

     When you select a phone nuber entry, it stays highlighted. If you
   click on a highlighted entry, the number will be immediately dialed. 
   (this acts the *same* as clicking on a number, then clicking "OKAY!"
    This makes it possible to "double-click" a number to dial it (although
   the delay between clicks is not checked ).

      1) "ADD"   -> Will allow you to add numbers (up to 60 total) to the
                   "Phone Book".(see "NOTE" below for further info)

      2) "DELETE"-> Opposite of "ADD" (above). When you select this gadget,
                    you will be prompted for an entry to DELETE. 

      3) "EDIT"  -> Will allow editing individual phone numbers without
                   leaving the "Phone Book". (see "NOTE" below for further

(NOTE: While in the "Phone Book", if you select "ADD" or "EDIT", the gadget
      will remain selected to remind you of what the "current" action is...
      when you hit <return> on the string gadget (which you must do for the
      change to take effect) the "current" action will be taken. (ie: if
      "ADD" is selected, the number will be ADDed to the end of the list
      (provided there is room) If "EDIT" is selected, the number will be
      changed to the one in the string gadget.) If you change your mind,
      selecting "ADD" or "EDIT" again will toggle them back off. (so does

      4) "LOAD"  -> Brings up the file requester for loading in new 
                   "Phone Books" (up to 60 numbers and TWO alternate
                   service numbers, if you have more than 60 numbers, use
                   an editor to break them up into 60 number chunks)                    

      5) "SAVE"  -> When your through "editing/adding" phone numbers, SAVE

      6) " ^ "   -> (up arrow) This will shift the display between numbers
                   1-30 and 31-60. (this variable is stored so that the next
                   time you open the window, you will see the previously
                   selected set of numbers)

      7) "CANCEL"-> This will close the window without dialing any number
                   (possibly numberS in the future)

      8) "OKAY!" -> Dials Currently selected number(if any)(possibly numberS
                   in the future) And begins the  "Auto-Redial"  process if
                   selected. (see below for details) BTW, to select a number, 
                   just click on it.

      9) "Alt-Serv #1" -> 
                    Selecting this gadget will dial the specified alternate
                   service number (in the string gadget to the right) and
                   then dial the selected phone number.(if you don't know
                   what this would be used for, then you probably don't
                   need it :-)

     10) "Alt-Serv #2" -> 
                    This is a SECOND alternate service number you may define.
                   (works the same as above)

(NOTE: Currently EITHER or BOTH of the "Alt-Serv's" may be used with a
      number... in other words, if both are selected, "Alt-Serv #1" will be
      dialed FIRST then the "Alt-Serv #2" will be dialed, then (finally) the
      number. The alt-serv's can be up to 18 numbers each and the phone
      number can be up to 18 numbers... for a total of 54 numbers!

       This SHOULD be enough to reach any number you wish to dial. (along
      with your account number if needed) (although there may be a 30-40
      number limit on your modem...)

       These numbers are definable in the "string" gadget where they live,
      and are saved/loaded along with the "Phone Book". (these are "toggle"
      gadgets so you have to de-select them if your not using them.)  

     11) "Get Keys"-> 
                    Selecting this (toggle) gadget tells the system to load
                   the "keymacro" file with the same name as the currently
                   selected phone number. The term will take the name of the
                   selected phone number up until the first "space" in the
                   name, then append ".keys" to it, the attempt to find/load
                   a file of that name in the current "System" directory
                   (the one that you keep all your "support" files in)

         EXAMPLE: If this gadget is selected and you select: 

                       Good BBS in Ca.   1-(123)-456-7890 

                       to call...
                      Then it will take the name until it reaches a "space"
                     i.e. "Good" then add ".keys" (Good.keys) and look for
                     that file in the current "System" directory. 
                     (selecting "Genie" would look for "Genie.keys" etc..)
     12) "Get Colors"->
                    As you might have guessed, this operates exactly as the
                   above function does, but it looks for a ".color" file...

                        Using the same examples above, it would look for:
                  and  "Genie.color"

 (NOTE!: You may edit the .key/.color file to be loaded by altering it in
         the string gadget to the right before dialing.

     13) "Auto-Redial"->
                    Selecting this gadget will cause the selected number to
                   be dialed (and then re-dialed) until a connection is made.
                    This process depends on and uses the  "result codes"  
                   returned by your modem which you define in the "Define"
                   window (part of the .def file loaded at boot time).
                    If the result matches what you have defined as the "Busy"
                   string or the "No Carrier" string, it will immediatly re-
                   dial the number. If it matches the "Voice" result string,
                   it will abort the process. If/when it finally matches one
                   of the "Connect" strings, it will first reset the "Timer
                   Clock" (in the Fast-Menu) to 00:00 and then BEEP and close
                   the "Speed-Dialer" window. 
                    There is (currently) no timer or limit on the number of
                   "tries" that it will dial. It will dial indefinately until
                   it either connects or you abort the process yourself.

 Format for "Acc!.phone" files:
                                           Duplex      (F or H)
                                          | Linelength (8 or 7) 
                                          || Parity    (None,Even,Odd)
                                          ||| StopBits (1 or 2)
|       17       |      17         |  5  |  4 |          26             |
|--System Name---|--Phone Number---|-Baud|-Set|--------comment----------|
AMIC          CA. 1-(707)-579-0523  2400  F8N1 F1,F2 any comment you want 
Deep Thought  NC  1-(919)-471-6436  2400  F8N1 (S'ware Distillery) F1,F2 
GENIE             1-      774-2427  1200  H8N1 F6   
CAUG          OH  1-(216)-581-2284  2400  F8N1 nice board        F3,F4,F2
Example of 18 numb123456789012345678
                  |                 |
Number starts HERE^                 Baud starts here!

 If needed you may actually use 18 chars. for the "phone number", and the
'-', '('and ')' are optional. (to use 18 numbers they must be as shown in the
last example shown above (spacing wise). 

 Duplex, Linelength, Parity, StopBits and Baud rate (format shown above) are
automatically set when a number is dialed! (unless the "Set" field is empty)
(also, use CAPITAL letters in the "Set" field ) 


 "DEFINE" Window:
(NOTE: please see the "Historically Speaking" section (above) and the seporate
    file "Update.doc" for further information)

     This window is used to set up, load and save ".def" files (configuration
    files) used by Access! 

     You can specify the ".def" file to be loaded at boot-up via the Icon or
    the command-line (see Usage and Suggested configuration above). 

     There is a sample definition file "Acc!.def" included in the arc, it
    will get you loaded and running the first time then you should open the
    "Define Access!..." window, fix it the way you want it, then SAVE it for
    future use. (you might set up different ones with different color files,
    .key files, phone books, etc... and then just specify the setup you want
    when you run the program ie. 1> Access! grey.def    might load in a 
    configuration setup to be used in interlace...)

   o Priority: This one is of (very) limited use but it IS set when "OKAY" 
     is selected so if you do not know why you would use it, please just 
     leave it set to "0". (ok?) You may set it from -1 to 4.
   o Interlace: Sets interlace on/off. (See: NOTE BELOW!)
   o Borders: Sets borders on/off.      
   o TitleBar: Sets titlebar on/off.
   o # Of Colors: Sets between 4/8/16 colors. (See: NOTE BELOW!)
   o Shadow Pen: The pen number (0-15) used for text "shadows" in the support
     windows.(this is set/changed every time you click on it.)
   o RBufLines: This value will increment by 50 each time you click on it and
     is used to define the number of lines the "Review Buffer" will save/store
     ( and thus how much memory you allow it to use ).

(NOTE BELOW!: If you make any changes that require more memory than you have
             available (in particular INTERLACE) the program may "exit" when
             it can't re-open the screen/windows. (rude, I know, I'll work 
             on a freindlier handler of such cases...)

   The following items are also saved/loaded in the .def file allow they are
  not listed anywhere on this window. ( ie. the "current" state of each at the
  time that you save a .def file. )
   o CHAT mode on/off.
   o SPLIT screen mode on/off.
   o STRIP mode on/off. (stripping in-comming blank lines)
   o Currently selected Foreground pen number.
   o Currently selected Background pen number.
   o Current positions of each of the "Fast-Menu" bars.

  THE first three items listed in the bottom part of this section are NOT set 
 when OKAY is selected. ( ie. if you type "fred.colors" in the "Color File"
 string, it will NOT load that color file in when you hit OKAY to close this
 window, you would need to do that from the Color Palette window.)

 Filing Preferences:

   o "Phone Book"-> defines the "phone.file" to be loaded. (name only, no
   o "Key File"  -> defines the "key.file"...
   o "Color File"-> defines the "color.file"...
   o "Upload Dir"-> defines default dir/path for uploads. 
   o "Dnload Dir"-> defines default dir/path for downloads. 
   o "System Dir"-> defines dir/path to search for support files.(.phone,
                     .key, .color etc...)
   o "Def.Capture"-> defines drive:path/name used for "captured" file when
                      L-amiga 'c' is pressed.
   o "User Dir #1"-> defines dir/path used in the first user-selectable
                     string gadget in the file requester.
   o "User Dir #2"-> defines dir/path used in the second...

 Modem Defaults:

    o "Set-up String"-> defines the string sent out to initialize the modem. 
    o "Dial Prefix"  -> defines string sent to modem prior to dialing.
                         (ATDT for hayes compatibles)
    o "Dial Suffix"  -> defines string sent to modem after dialing.
                         ( <return>... ^M )
    o "Hangup String"-> string sent to modem to hang-up. (this one may be
                         deleted in a future version when I'll just drop
                         carrier to hang-up)

(NOTE: the strings below MUST be set properly for YOUR modem for the "Auto-
       dial" feature to work correctly)

    o "1200 Connect"->  string RETURNED by modem when you get connected at
                         1200 BAUD. 
    o "2400 Connect"->  string RETURNED by modem for 2400 BAUD.
    o "No Connect #1"-> string returned by modem when... "NO CARRIER"
    o "No Connect #2"-> string returned by modem when... "BUSY" 
    o "No Connect #3"-> string returned by modem when... "VOICE"


 Notes on File Requester:
(NOTE: Please see the seporate file "Update.doc" for further information )

     You might notice that two of the "disk" gadgets in the "File Requester"
    look a little odd... 
     While contemplating how to make the "File Requester" fit YOUR set-up,
    I came accross this idea. 

     I assume EVERYONE has "RAM:" (at least SOME ram)
     MOST people have      "VD0:" (if you don't, you should.)
     EVERYONE has          "DF0:" (it's the one connected to your Amiga!)
     ALOT of people have   "DF1:" (ok, so SOME people don't...)
     And that takes care of 4 out of 6 "disk gadgets" so the other two are
    free for you to specify as you please. (drive, path, ect... up to 50
    chars. (I think it's 50)) This way you don't have to do alot of
    "assigning" if you use deeply inbedded "paths" for dl/ul's!

    These are two of the defaults that are defined in the "Acc!.def" file
   that is loaded in at boot-up.
   "Bytes Free" displays the totals available bytes free on the currently
    selected drive.

   Up/Down arrows on this window/requester/whatever allow you to scroll 
   forward/backward/sideways (sideways?) through the file listing. 

   If you are running low on mem and the regular File-Requester window can 
   not open, then a small "Input Window" will open (with just one string 
   gadget) to accept the drive:path/filename you provide.


  There are two clocks in the term... (batteries not included)

  One of them lives in one of the "Fast-Menus" (gadget bars) and is a simple
 "counter/timer" for keeping track of online/session time. This timer starts
 up when the term boots and is reset when a connection to a BBS is made using
 the "Auto-Dialer" or at any time by clicking on it.

  It is updated once a minute and is fairly accurate although (depending on
 when it gets reset) it may display negative numbers (grin). This has to do 
 with crossing a 12 hr. "time-zone" so if it does, just reset the thing.
 ( I've got a watchsmith coming by to look at it, so maybe it'll be fixed by 
 the next version :-)

  The other (simple) clock lives in the "INFO" window (accessed through the 
 normal menus or by hitting the <help> key). This clock just displays the 
 current "system time" in hrs./mins. and is also updated once a  minute (the
 most this one SHOULD be off is one minute (depending on how close to the 
 minute it is when you reset the "counter" clock mentioned above)). There
 is currntly no way to set the system time from within the term so you must
 do that by some other means if you want this clock to be correct.


   Most of these are self explanitory(sp) and are just short-cuts to the
  "normal" menu-items. There are a few that need further explanation...

(NOTE:these may change from time to time and all of them may not be listed 

 (not neccessarily in any particular order )

  o "QUIT"  ->  hmmmmmm.....
  o "READ"  ->  To read a disk (or ram:) based ASCII text file.
  o "CAPT"  ->  Starts ASCII Capture (with file name)
  o "XUP"   ->    "    XModem (or WXModem) send
  o "XDOWN" ->    "    XModem download
  o "WXDOWN"->    "   WXModem download  
  o "CHAT"  ->  Chat Mode 
  o "COLOR" ->  Brings up the Color Palette
  o "NEWCLI"->  Starts a NewCli (flip back to WBench to find it)
  o "MACROS"->  Opens "Macro Window" 
  o " ^ "   ->
     (Up Arrow) This gadget will send the "FAST MENU" to the top of the
    screen (and back again)(NOTE: if your cursor is at the top of the screen
    when you send the menu bar up there, it will "hide" the cursor. (if for
    some reason you can't find the cursor, move the fast menu and it will
    probably be there.) If you select "CHAT" AFTER the menu is at the top,
    the cursor will move down for you. (NOTE:  this gadget works the same
    for both "FAST MENUS") 

  o "\X/ "  ->
     (check mark) This gadget is essentually a "Back Gadget". Use it to
    reposition the "Fast-Menus" and the "Status Line" to your preferences.

  o "ASEND"  -> Starts ASCII "Send" mode (same as normal menu selection).
  o "HANGUP" -> Sends out "hang-up" string to modem. 
  o "DIAL"   -> Opens "Phone Book" window.                        
  o "REDIAL" -> Simply "re-dials" last number dialed...
                        (NOTE:  if the "auto-redial" feature is currently
                                selected, then this gadget will restart the
                                "auto-redial" process, otherwise the current
                                number is simply redialed.)

  o "00:00"  -> (or "01:30","12:00","04:15"... you get the picture) It's a 
                Clock. (see: "Clocks" above for details)
  o "BORDRS" -> (short for "BORDERS")

     This option will enable/disable the main window borders to give you a
    full 80 col. screen vs a 79 col. screen. This will also give you an extra
    line of text in the "transmit" (bottom) window in "CHAT" mode. (3 lines
    vs. 2.5 with the borders on)
  o "SPLIT"  ->  ( activated ONLY in interlace mode )                  

     Selecting "SPLIT" (currently not a normal menu item) will give you a
    TRUE split screen!, which means no more swapping back and forth to the
    WorkBench screen to see how your "unarcing" is coming along (know of a
    good, small "DirUtil"? like one that takes up half of a screen... ? )
     What it actually does is shrink the term down to normal, non-interlaced
    size (640*200) and moves the screen half-way down. Thus giving you a 23
    line (interlaced) terminal on the bottom of the screen w/out losing any
    of the normal terminal display area ( of course you dont get as many
    lines as a "full/sized/interlace/display" but you can swap back and
    forth as you like!)
     Selecting "SPLIT" again returns you to a Full/Sized/Interlace screen
    again (it's a toggle switch).
(NOTE: this option works very well when used with the "NEWCLI" option above
      or with a "half-screen DirUtil" if there's one around or better yet,
      with WBench set to interlace also.

  o "LACE" ->  
     This option will toggle you between "Interlace" and  "Non-Interlace"
    modes. (or cause the program to exit if you don't have enough memory
    for interlace)

     I have played with this EXTENSIVELY and it seems to work fine. (let me
    know if it doesn't for you, along with what you system set-up is, BUT
    BEFORE YOU DO THAT, see the paragraph below about memory)                  

  AGAIN, if you don't have enough memory for "INTERLACE" in the first place,
         chances are the program will EXIT!
  You might also avoid clicking on this (or ANY other) gadget while either
 the "File Requester", "File Reader Window" or "Palette Window" is open. 
 (all other windows should be ok)


  o Checks for ".arc/.ARC/.zoo/.ZOO/.pak/.PAK" extensions and disables
    "auto-chop" feature for these files.    
Known Bugs:
  o You CAN open every window/requester at the same time...
    This is NOT good and SHOULD be AVOIDED! (or you might see a number to 
    meditate over :-)(although if you close them back down in the right
    order, it should be OK, as long as you don't fiddle with a bunch of
    gadgets while they're open)

  o  This program is being developed on an "Amiga 1000" w/68010, a "Starboard
    II" 2 meg. expansion, "Signalman Lightning 2400 Baud Modem" among other 
    things... I try to test it with various configurations before releasing
    a version (Amiga 1000 w/512K, and Amiga 500 w/1meg.) but am not always
    able to do so.


 So far, things seem to be going pretty well (knock on wood). 

 The main problem USUALLY ALWAYS has to do with a lack of memory...

 Using an 8/16 color CUSTOM screen with a dozen or so support windows, thirty 
or so multi-color gagdets, two fully functional console.devices along with the 
code to implement all this and multiple protocols ( with more on the way :-), 
makes this a fairly ambitious program memory-wise so.....

 If a window "just doesn't open" when you expect it to, CHANCES ARE, you do
not have enough memory for the window to open!

i.e. If you see a message in the main terminal window the says something 
    like... "Can't open such-in-such Window" then it's a MEMORY (or lack
    there of) problem!

 The term SHOULD still work on a 512K machine, but you may have to make some 
sacrafices to do so (like multi-tasking). 

 If you do have other problems to report, PLEASE list the VERSION NUMBER
along with the report! This will help me track down the problem or let me
know if it's already been fixed. 

 I try to respond to most/all reports/suggestions/comments but am not always
able to do so.  


The Plea: 
  Again, Access! IS being distributed as ShareWare so if you continue to use
 it after some trial period, please support ShareWare authors by sending in 
 your registration.

 Suggested contribution is $25.00

(note new address)

Snail Mail: Keith Young 
            RT. 2  BOX 261
            Goodview, VA.


     GEnie:  K.Young  (special support section available for registered users)
Compuserve: 73170,307 (stop by the AmigaTECH conference most nights)