** changes to AtarIRC version .60g

no longer a TOS program, the client is now a GEM application
  runs as an ACC or a PRG just by renaming it
  the background color cannot be changed, so don't try
  control-s no longer works, the vdi is always used for scrolling now
  bold, underlined, and reverse text are properly displayed
  all the features of the previous version are still there

/colour added (same as /color)

/view will now view the capture file if you shut the capture off first

config file loads a bit faster (still needs to be sped up)

NOTE: This version is very much a beta and I recoded it into a GEM
program mostly to see how it would preform.  On my TT it seems to be
nearly as fast as the TOS version.  When the window gets overlapped
however there is a slowdown when trying to redraw the window.  I have
not added support for dialogs or the fileselector yet since I don't
know how well the program will perform on other systems.

Running the client as an ACC will only allow a font size of 6x6 at this
time.  When running as a PRG the font size can be increased from the
menu bar.  The font size is not saved in the config either.  The
client attempts to open a window that can display 80x30 characters
and if it cannot it shrinks it to fit.  The 80x30 size is currently
fixed and not saved in the config either.

This is a beta and I'm not 100% sure where to go from here.  If the
client preforms well for you, please let me know.  Please don't send
me a zillion ideas of what to add, trust me I have many ideas myself,
my main goal at this time is stability and proper functionality within
the GEM environment.

Is the TOS version dead?  Tell me what you think.

----------------------------------------------------------------------------
** changes to AtarIRC version .60h

the config file loads much faster
  in the interest of speed you will need to reconfigure the program
  delete your old config.inf as this version will not load it
  before you delete config.inf I suggest printing it for reference
  run the program, type '/config', answer the questions  =)
  there is now some reserved space in the config.inf for expansion
  I appologize for this but this was unavoidable

the 'press return at the end of a dcc send' bug is now fixed

/nick changes are now handled properly even if they fail

/capture has been totally reworked  
  STeno (or compatible program) can be used as a capture buffer
  to capture with STeno it must be installed as a desk accessory or running
  the name of the program used for capture is now stored in the config.inf
  STeno can also be used as a type-ahead buffer
  the 'transmit/line selection' in STeno can be used to send to a channel
  the event timeout for STeno capture can be tweaked via the config.inf
  if capture is 'on' and STeno is not found the old log file is used
  if an error is detected (STeno full, or disk error) capture is shut off
  the console bell dings if capture is disabled due to any errors  
  if you are /away incoming data is logged to the capture file
  the 'invoke STalker' selection in STeno can be used to bring up the IRC
  capture can now be set to auto 'on' when the irc client starts

the color for a nick match can now be set independently from '/msg in'

the main window event timer setting can be tweaked via the config.inf
  this setting could effect the performance of the client/system

the window can now be sized and fulled (however window content is lost)

the resource file is now loaded rather than embedded in the program

moved the nick, port, and server data to the window info line

removed control-x
  added '/debug mem' instead

added '/debug misc' which displays internal values

start up font size is now set in the config.inf
  if set to auto then you get the default font size for the current mode

start up window size in characters is now set in the config
  is set to auto then you get a full window for the current mode

moved the prompt up to the status bar
  this gives more area to type before the command line scrolls

the file selector can be used for dcc send to select a file
  old command still works '/dcc send nick filename'
  to use file selector type '/dcc send nick'  (file selector will appear)

/away and /back no longer generate a server error message as before

I changed the call to resolve()  (parameter rdn% is now null)
  once in a great while the client would crash at logon  (this might help?)
  rdn% was not really needed anyway and now krfree() is not needed either

NOTE: I found myself avoiding the TOS version after getting the GEM
version up and running, in fact I have not used the TOS version since.
I decided to stop development on the TOS version, so here is a new
version of the GEM IRC client to play with.

Question: Now that it runs under GEM as a desk ACC, should I remove
all commands like /delete, /view, /mkdir, and /dir?  If the IRC is run
as a desk ACC then the desktop is there and all these are not needed.
Also if the IRC is run on a multi-tasking OS as a PRG then the same
thing applies and all those commands are not needed again.  If someone
wants to run the IRC as a PRG on a single tasking OS then they should
probably run an old TOS version.  So should these commands be removed
from the GEM version?  If removed the IRC would certainly be smaller
in size.  What do you think?

----------------------------------------------------------------------------
** changes to AtarIRC version .60i

moved the timer to the window title bar

removed the option for "prompt:" color since it's now in the status bar

blank lines transmitted from STeno are now expanded into a single space
  this eliminates the server error message 'no text to send'

the max width of the window in characters is now fixed at 118 characters
  this corrects redraw problems in TT high (1280x960) and above
  the vdi arrays are limited to 128 chars and thus the text was clipped

some setups don't allow a 16x32 font so the default font size is used

dragging the window off the left edge of the desktop under WINX is fixed

shaded windows under WINX are properly handled now

during /config a blank server entry skips to the end of the list
during /config a blank quit message skips to the end of the list
if you press help the server list ends on a blank entry
  
reworked the command line input routine
  whatever is typed into the command line should not get lost or hidden
  channels can be changed even if the command line contains chars
  incoming dcc commands no longer clear the command line
  window sizing no longer clears the command line either

wm_bottom message now handled if your aes version supports it
ap_term message now handled if your aes version supports it

dcc receive now sends a redraw to the desktop when completed
  if your aes supports this message the drive window should update

----------------------------------------------------------------------------
** changes to AtarIRC version .61

Note: This version will load your previous config file.  ;o)

/dir formats the listing to the width of the window better and faster

blank lines transmitted from STeno are now expanded into a single space
  this eliminates the server error message 'no text to send'
  this is really fixed this time  =)

new text effect supported, or rather one that resets text back to normal

fixed bug with reversed text not wrapping properly if window was on top
fixed bug in the command line handling

old color option "error message" renamed to "client error msg"
new color option added called "server error msg"
  now you can see which end generated the error message based on color
  you need only define the new color entry this time  ;o)

added command line history feature
  use the up and down arrow keys to scroll the command line history
  the command line history maintains the last 20 items entered
  only unique strings are put into the history buffer

function key handling reworked
  function key strings can be 400 characters in size when fully expanded
  function keys are issued much faster when pressed

a command line can now be passed to the client when it's started
  the command line should be a valid connect command
  to logon to a server in your server list pass: '/connect a'
  note: the syntax for /connect can be found in the doc file

event loop changed as follows
  STiK is now polled only when the event timer flag is returned
    this was not the case before as _any_ event which caused the
      event_multi() call to return caused the modem to be polled for data
    this change might help the client multi-task a little bit better
  keys are only processed if the key event flag is returned
    it _was_ processing keys if the key returned was greater than zero
  the main loop is now completely based on event_multi()

dcc routines modified as follows
  typing '/dcc' is the same as typing '/dcc list'
  the dcc receive buffer is now 600 bytes rather than 100 bytes
    perhaps a dcc send won't have to be kicked so much now
  the dcc packet size can be configured from 16 to 512 bytes in size
  the dcc packet size is now saved in the config file (defaults to 512)
  a fixed dcc send path can now be set, this is saved in the config too
    if left set to null then the default path of the system is used
    this fixed path is only used by the file selector on a dcc send

Note: There have been reports of key strokes bleeding through to other
apps.  I've also seen this and it seems to happen in both directions
for me.  Since I'm using event_multi() that means the AES messages are
being delivered to the wrong app.  I really don't know why this
happens or what to do about it at this time.

----------------------------------------------------------------------------
** changes to AtarIRC version .62

Note: This version will _not_ load your previous config file.
      Press CONTROL-S to reconfigure the client before you begin.

found a rsrc_free() call that was not suppose to be in the program!

the capture log is now saved to the dcc download path

removed "default server" and "default port" from the configuration
  the first entry in the server list will be used as the default

the '/msg bell' option (control-d) can now be set to auto on at start up
  this is now saved in the config file

flood control (control-f) no longer disables incoming /msg's
  only incoming ctcp messages are ignored now

dcc chat changed slightly
  the "waiting for remote to accept" prompt is updated when connected now
  while getting alot of data other messages are not blocked anymore
 
the command line can now be used while a file window is active
the command line can now be used while a dcc chat is waiting to be accepted
  basically the command line should be active at all times

added '/dcc close' which closes the current dcc connection window

the dynamic ~variables can now be used in /away, /back, and /quit
  they can also be used in your finger, userinfo, ping, and kick messages 
  examples: /away I left to eat at ~time and will return shortly.
            /quit Time wasted on IRC: ~ctime
  added new variables
   ~title which returns the irc client title
   ~email which returns your e-mail address
   ~www which returns your world wide web address
   ~rname which returns your real name
   ~uname which returns your user name

these commands now use the file selector  (see doc file as to how)
  /view, /send, /print, and /delete

the window fuller now toggles full size and previous size as it should
window size and position is maintained when closing and opening the window
changing the window size no longer clears the window contents
  the text in the window is not adjusted for the new width of the window
  as much of the window content is retained as possible

control-s now opens the setup window (with save and load options)
   the following commands have been removed
     '/config' removed
     '/config save' removed
     '/config load' removed
     '/capture on' removed
     '/capture off' removed 
     '/color' and '/colour' removed
     '/fkey' removed

the following key strokes have been added
  control-l toggles capture/logging on and off

event timer changed slightly with the hopes of still better multi-tasking
  when polling the modem, only one line is grabbed at a time
  this was not the case before and caused key presses to be delayed

if the resource file is not found when running as an ACC it now tells you

Once in a great while the client would crash for no reason.  I found
that is was possible for the server buffer to overflow if for some
reason the signal for the end of a message was missed.  I added a
check to insure this buffer never overflows and should the buffer ever
reach it's limit and error message will be displayed.  I never really
tracked the crash down, however this added check can't hurt anything.

the current window you are in is now displayed in the the info line

the close button in the upper left corner of a window is treated as cancel

Note: This version is somewhat slower at text output due to the fact
that everyone wanted better multi-tasking and no window clearing.  It
was worse, in fact I regained some of the lost speed back but it's
still noticably slower.  I need to do some work on the text output
routine to see if I can speed it up further.

----------------------------------------------------------------------------
** changes to AtarIRC version .63

more debugging output
  '/debug #' where '#' is a number from 0 to 9 for debug level (0=off)
  currently only levels 1 and 2 are used
  note: level #2 produces alot of output and could fill a disk quickly!
 
tab key usage changed slightly
  it now loops through the last 5 nicks that sent you a /msg when pressed
   only unique nicks are kept in the list

fixed the "seek error at open()" bug
  this caused the capture and debug logging to stop at 32k

fixed a bug with the 'clr home' key

entering '/server irc.whatever' will use the current port setting now
  no more 'bad port' number error messages

parameters passed using ARGV should work now (hopefully)

dcc packet size is now configurable from 256 to 1024 bytes

/sound command now supported locally (STE/TT DMA sound is used)
  plays uncompressed mono or stereo 8-bit AVR files (signed data)
  supports sample rates of 6258hz, 12517hz, 25033hz, and 50066hz
    other rates are rounded to the nearest rates listed above
    note: rates less than 12517hz fail on the Falcon for some reason?
  there is now a sound setup option in the configuration window
    the buffer size should be large enough for the biggest sound file

the client will run in TT ram
  the sound buffer is always allocated from ST ram regardless

there is now a "connect timeout" option in the dcc setup
  this effects dcc connections you initiate: "waiting for remote to accept"
  if not accepted within "connect timeout" the dcc will be auto-closed
  the connect timeout is expressed in seconds: 120 = 2 minutes

dropped the connection limit to 10 (20 seemed rather high)

~variables can be used within the command line now
  you can now type things like "My e-mail address is ~email" to a channel
  they can also be used in a dcc chat as well

/part bug fixed
  added '/part #channel' which allows you to exit a channel by name

/who, /whois, and /whowas output reformatted for better reading

removed the "change" buttons from the dialogs, "ok" now works as it should

----------------------------------------------------------------------------
** changes to AtarIRC version .64

note: reads your previous .63 config file

new text effect added
  control-c now toggles light text on and off
  some clients seem to support this code for "red" text
  note: this effect really isn't readable at 6x6 so I may change it later

control-t now terminates/closes a dcc connection

/notify command added (a maximum of 20 nicks can be put in the list)
  '/notify' same as '/notify list'
  '/notify list' displays current notify list status
  '/notify +nick' adds 'nick' to the notify list
  '/notify -nick' removes 'nick' from the notify list
    notify can be toggled on or off (this is saved)
    the interval at which the server is polled is in seconds (also saved)
    new color option added '/notify message'
    note: when a nick is detected it's not verified as to who it really is
          setting the notify timer under 1 minute might cause flooding 

added the following dcc commands
  '/dcc get' accept current dcc window
  '/dcc get nick' accept dcc from 'nick'
  '/dcc close nick' closes dcc operation to 'nick'
  note: the old "Accept? Y/N" prompt is gone completely!!
    if '/dcc get' seems to much to type then define an fkey as '/dcc get~|'

incoming dcc requests are now auto closed if they exceed the connect timeout

timer refresh for window title bar can now be set from 5 to 60 seconds
  this is set in the 'display' dialog (this is saved)

the config dialog was changed a bit (save is now the default)
  the window is now closed when save is selected

you can now use your nick as a command just like /me
  say your nick is 'yoda' so you can type: /yoda loves his puter

added '/sound nick ?' which requests a list of sounds from 'nick'
  note: uses a method that is compatible with some MAC clients

text output routine was recoded to improve speed
  note: the setting "main event timer" effects system performance greatly
    lower this value to increase the speed, try setting it to around 10

----------------------------------------------------------------------------
** changes to AtarIRC version .65

keyboard changes are as follows:
  control-d toggles auto dcc get on and off
  control-i toggles /ingore on and off
  control-m toggles the '/msg bell' on and off
  control-s now shows the server list
  the help key calls up the configuration dialog
  the undo key closes the current dcc window

notify list extended to 40 entries rather than only 20
  the notify list is now formatted from left to right to reduce scrolling
  when notify is on a '?' appears in the window info line
  simplified commands: '/notify nick' adds nick if not already on list,
                        or removes the nick if it's already there

a requested sound dir is now sent in 400 byte /msg's to reduce scrolling

added auto dcc get for files only
  this option can be toggled on and off
  when auto dcc get is on an '*' appears in the window info line
  note: currently not saved in the config file

bug fixes are as follows:
  /who output problem (channel name was not always padded right)
  tab key problem (was adding an extra space if no nick was shown)
  notify crash (crashed if notify was turned on while off-line)
  window sliders are turned on to avoid display flaws (they do nothing!)

some internal changes:
  sound routine recoded to use only gemdos() calls to load the samples
  file selector routine tweaked to remove some possible errors
  some old debugging routines removed (a few still remain)

resource file reworked to support 3D effects (only if your AES supports it)
  some minor changes were made to allow for the 3D effects

added command /ignore
  '/ignore' displays current ignore list (a max of 5 can be set)
  '/ignore host' add or remove 'host' to or from the ignore list
  when ignore is on an 'X' appears in the window info line
  note: 'host' can be a full host name or a partial host mask
    example: someone logged on as: 'dork@ppp4-duh.netcom' you can use:
      '/ignore dork@ppp4-duh.netcom' (full user@host name)
      '/ignore ppp4-duh.netcom' (host name only)
      '/ignore duh.netcom' (partial host name)
      '/ignore .netcom' (this would ignore all netcom users!)
    currently not saved to the config file

control-c changed slightly
  a new color option has been added 'colored text'
  this effect will then be rendered in the selected color
    thus readable at 6x6
  if left set to the background color '0' then the light effect will be used

recoded the window redraw routine
  when the window is partially covered it will redraw a bit quicker

----------------------------------------------------------------------------
** changes to AtarIRC version .66

bug fixes are as follows:
  'colored text' handling (code 15 failed to turn the colored text off)
  config saving (the file handle is now checked to make sure it's good)
  server dialog (displays a-t rather than 1-20 as it did)
  window sliders (set them to full width/height since not used)
  /ping (no longer reports "no text to send" if parameter is missing)
 
key board changes are as follows:
  control-n now toggles notify on and off
  control-a opens the credit window

the credits are no longer displayed in the main window
  they are now displayed in a seperate window apon request

server ping changed as follows:
  this 'You were pinged' is now displayed as 'irc.blah.net pinged you' 
  the server ping can be shut off under the 'server' options now
    note: this setting is saved in the config

new commands are as follows:
  '/L' same as '/LEAVE'
  '/P' same as '/PING'
  '/W' same as '/WHO'

the window position is now saved in the config file
  the client no longer re-centers the window when exiting 'display' options
  instead an attempt is made to maintain the window position at all times
  note: if the position cannot be kept the window is adjusted to fit

auto-dcc get status is now saved in the config file

a requested sound dir is now formatted without file extenders ".avr"
        
recoded the text output routine again for more speed (when window is on top)

----------------------------------------------------------------------------
** changes to AtarIRC version .67

bug fixes are as follows:
  /me (no longer reports 'no text to send' as it did before)
  kick error (if you got kicked it could exit you from the wrong channel)
  window info line (wasn't getting updated after closing the server dialog)
  window full (some times it would redraw it's old size then the new size)
  window size (sizing the window very small would result in redraw errors)
  '/chdrive' (wasn't logged properly in the log file)

removed key press control-e (not needed anymore)

"auto join channel:" is now "logon command:" in the 'server' dialog
  extended the command to 2 lines
  you can put any valid server command here
  the ~variables can be used in the commands
  example: 'JOIN #Atari~|'  (join like this)
           'MODE ~nick +i~|  (make yourself invisible)
           'MODE ~nick +i~|JOIN #Atari~|  (do both at once)
  note: a return '~|' must be used at the end of each command

auto-nick changing at logon  (this only works at logon)
  an alternate nick "alt nick:" can be specified in the 'server' dialog
  if your nick fails at logon then the alternate nick is tried
    if the alternate nick fails then a random nick is tried
      if the random nick fails then it keeps trying random nicks

added another font option in the 'display' dialog
  'font point size:' can be set from 4 to 32
  the point size is used only when the font button 'defined' is selected
  this is saved in the config file
  note: the next version should have gdos support for mono-spaced fonts

eof
