
Switch Control Panel (SWCP)

Copyright (c) 1988-89 by Tim Grams

All Rights Reserved


This program is shareware.  That means you may try it out, but if
you use it, you are expected to pay for it.  Send $15 (or $20
for a disk) in the form of a personal or cashier's check to:


                       Tim Grams
                       P.O. Box 462283
                       Garland, Tx  75046-2283
                       USA

If you find no use for this program after a week or so, please
do me the favor of either passing it on or deleting it.  If you
do pass it on, make sure this documentation file goes with it.

Description
-----------
SWCP is a ProDOS 8 utility program for the Apple IIGS that
switches and maintains the control panel.  It runs stand alone
from its own menu, or in conjunction with a program launcher. 
Launchers that pass startup strings work best, because through
them you can create macro-like command strings for repeated
operations.  PROSEL, ECP, and JUMPSTART are in that category.

In addition to simply setting control panel options, you can use
the startup string capability of SWCP to make a change while
launching programs.  In effect you can have a control panel
configuration unique to each application.

SWCP changes are instantly performed, without resets or reboots.
If you need to do such things, SWCP will do various types.
SWCP changes do not affect the permanent control panel settings
unless you wish them to.  The actual control panel in Battery
Ram is seperated from the current (transitory) settings you
make with SWCP.  You can save either current or permanent
settings to file and restore them as you wish, even when
launching programs.

Requirements
------------
SWCP requires an Apple IIGS and rom version 01 or less.  Memory
requirements are negligible.  Because some of the features of
SWCP are facilitated by non-standard methods, be aware that SWCP
may not function with future rom or system software revisions. 
Registered owners will be appraised of any necessary upgrades.


SWCP Revision History
---------------------
v2.3  - purge memory quit code protection
        smartport restore quit bug fix
v2.2  - 16-bit launcher quit fixes
        set prefix bug fix 
        optional guard removal on slot boot
v2.1  - additional menu display values
        smartport rearrange command
        serial port initialize
v2.0  - non-permanent changes
        cp file save/restore
        configuration settings
        improved reset and boot
        keyboard settings
        display width/type
v1.3  - enhanced prefix handling 
        startup device, slot boot and hardware reset
        faster color changing
        volume control option
v1.2  - keyboard command entry
        text, background, and border colors
        better smartport device support
v1.1  - dynamic switching of ProDOS disks
v1.0  - basic slot and speed switching

Installation
------------
Unpack the SWCP files into their own directory (folder).  As an
example, if your volume is called /HARD1, put the files into
/HARD1/UTIL.  You can put SWCP in any directory, but for ease of
use place it close to the root directory.  The configuration
program SWCP.BAS is an Applesoft program, so BASIC.SYSTEM must
be present in the volume root directory.

First Thing
-----------
Execute the SWCP file.  When you reach the command line arrow
prompt, type in:

          FS

and press the return key.  You have now saved a copy of the
current control panel settings in a file.  If you ever need to
restore all your settings at once, just execute SWCP and type:

          FR

If you want to, play around with SWCP.  Change text colors to
get the feel of it.  First notice what number your current text
color is set to from the value on the right of the screen. 
Change it to red for example by entering

          T1

Then enter the FR and watch your original text color return. 
Remember that another FS will overwrite your saved control panel
settings!

Command List                  
------------
  Function                       Command      n values
  --------                       -------      --------
  Boot Slot                      BSn          1..7
  Configure SWCP                 CF
  Display Color,Monochrome       DC,DM
  Display Width                  DWn          40,80
  External Slot                  En           1..7
  File Restore,Save              FRn,FSn     {0..99}
  Internal Slot                  In           1..7
  Key Buffer Enable,Disable      KE,KD 
  Keyboard Layout                KLn          0..9
  Startup Device                 Pn           0..9
  Permanence Enable,Disable      PE,PD
  Quit Code Disable              Q
  Remove Guard                   RG
  Reset-Power,Boot               RS,RP,RB
  Smartport Rearrange Enable     SE,SD 
  Speed Fast, Slow               SF,SS
  Text,Background,Border Colors  Tn,Bn,Dn     0..15
  Volume (audio)                 Vn           0..14

General Usage
-------------
SWCP takes a string of text input describing the control panel
change to make. In general the command format for changes
(switches) consists of a one or two letter command, optionally
followed by a numeric argument.  No spaces.  You can chain more
than one switch together, ie  T1B2.  You can launch a program
and make the switches at the same time by providing both the
program pathname and the switches.  All you do is append the
switches to the end of the program name with a semicolon.

           /DISK/BASIC.SYSTEM;T1

The launched program can be either a P8 or a GSOS application. 
If it is P8, when it "quits" your control panel is automatically
set back to the way it was before the program was launched.  You
may also set prefix and provide a startup string to the launched
program.  Full syntax is described below.

Configuration Settings
----------------------
SWCP has a few configuration settings which you can change,
including permance enabling, permanence protection, protected
slots, and more.  Details for each setting are found in the
applicable function description below.  To get to the
configuration program, either run SWCP.BAS from Applesoft, or
use the CF command from SWCP.  You will be shown current
settings as well as a list of suggested defaults.  Use the arrow
keys to get to and change current settings in the fashion of the
control panel CDA.  If you want to set all settings to the
"default" values press "D".  If you want to restore the values
to what they were before you started making changes, press "E"
and the values present on entry will be re-established. When you
are done, select either "R" to run SWCP or "Q" to quit to your
launcher.

DHRFIX
------
Some programs leave the hardware video registers on the GS set
incorrectly if you want to run a program that uses double hires
graphics.  For your convenience SWCP will automatically reset
these whenever it is run.  It manipulates the hardware directly,
so you can disable this option from the configuration program if
it gives you trouble.

Display Type
------------
You can set your display to either color or monochrome.  This
can help the appearance of many programs, especially old DOS 3.3
games.

Display Width
-------------
Set to either 40 or 80 columns.  Again some programs like one
setting or the other.

File Restore/Save
-----------------
You can save and restore up to 100 control panel image files. 
These will be placed in your SWCP directory and named "SWCP.F00"
thru "SWCP.F99".  If you dont give a number to the save or
restore, then file SWCP.F00 is assumed.  Only one FRn or FSn
command is allowed per command line.  The file save or restore
is done before any other switches, regardless of the position in
the command line. You may manually lock the files (with another
program) if you wish to keep them from being altered, but be
warned that you will generate an error if you try to save over a
locked file.  You may use file restore while launching programs. 
Whether you save/restore the permanent or current temporary
settings depends on your current default.  If you want to force
it one way or another, include the one-time permanence
enable/disable commands (PE and PD) in the command line.

Keyboard Buffering
------------------
Some programs like to run with keyboard buffering either enabled
or disabled.  This is handy for running games,etc.

Keyboard Layout
---------------
This defines what keycode each key returns according to a
particular language set.  You probably don't need to use this,
but in some cases it is very handy.  For instance, you normally
run PRODOS using a non-English key layout, but would like to
temporarily switch to English (US) while running the PC
Transporter so you can use the MSDOS key layout capability.

     Language      Code
     --------      ----
     English USA      0
     English UK       1
     French           2
     Danish           3
     Spanish          4
     Italian          5
     German           6
     Swedish          7
     Dvorak           8
     French Canadian  9

Permanence or Not
-----------------
Perhaps the most powerful feature of SWCP is the fact that you
can make control panel changes that do not affect the permanent
control panel settings.  These are actual changes to the current
control panel buffer in memory (and to the system state), but
not to the battery backed-up settings saved when you power down
the computer.

Such capability is very useful as you will find out.  Needless
to say, such operation of the GS is considered non-standard.  In
order to prevent other programs from messing with the current
"temporary" settings, SWCP will jealously "guard" against
changes by programs other than itself if a non-permanent change
is done.  The guard is not perfect and only applies to the
"effects" of control panel changes.  If any other program makes
a change to the control panel, it will be allowed, but the
effect may not be apparent until the next reset.  This allows
the control panel CDA to still function for example.  

Because this is a non-standard approach, you may have
difficulties in certain situations.  The configuration program
can setup defaults for permanence or guard use as you wish.  You
can also choose between using permanent or nonpermanent changes
from the command line to override the default permanence setting
on a one command basis.  Use only one PE or PD per command line. 
PE's and PD's affect all the changes in the command line
regardless of where they are placed.  Use RG to remove the
"guard".  It will be performed after all other switches thereby
preventing the guard from being placed if non-permanence is your
default. The configuration program can setup defaults for both
as you prefer.  Current permanence default and guard presence are
displayed in the SWCP menu.

There is a problem booting GSOS with the BSn boot slot command
when the guard is in place.  For this reason, a configuration
default is provided so that the guard can be removed when the
command is used.  If you use the reset commands to boot, the
guard is always removed (along with most desk accessories).

Quiet Mode
----------
This is set from the configuration program.  If you enable quiet
mode, then the SWCP emblem is not displayed when launching
programs, making SWCP "invisible".  On the other hand, you may
wish to have quiet mode disabled so you know when SWCP is
running.

Resets and Boots
----------------
SWCP will do three types of machine resets and one slot boot:

          RP  - Power-up type reset
          RS  - Normal OA-cntrl-reset
          RB  - Special booting situation reset
          BSn - Old style slot boot.

RP is a power-up type reset.  It changes a byte in the ADB micro
ram which flags the Apple GS to perform a full power-up reset
(changing ramdisk size if needed).  It will start a boot
according to the device specified in the (permanent) control
panel.

RS is the standard three finger "open-apple, control, reset".  It
also will start booting according to the setting in the control
panel.  This is the reset you are probably most familiar with.

RB means  "reset for boot".  It is a call to the firmware that
will cause a boot scan too, however it doesn't affect the memory
image of the control panel.  You change the startup device
non-permanently with SWCP and at the same time use RB to "reset"
boot from a device other than that which is set in the control
panel (a 3.5 disk perhaps).  Most useful if you boot from rom or
harddisk.  If you don't, you may never need to use it.

While not a reset, the BSn command will boot slot n in the
fashion of PR#5.  This type of boot does not reset any hardware
conditions, but it is related to the resets since they also
cause booting as a side effect.

Reset Details
-------------
Why so many resets?  Do you have to use them all?  Not at all.
RS works fine for plain resets.  However, the more you use the
GS and the more complex your computer system is, the more likely
you will encounter situations where a specific type of reset
(boot) is most appropiate.  If you use copy protected games,
seamless launching from a launcher may require such diversity
(since games often expect that you are running them directly
from reset).

The order of the boots I described above go from a real "hard"
reset to a "soft" reset.  Reset and (then) boot are done in
stages.  From power-on the GS first has to read the control
panel to find out how to setup the hardware, actually setup the
hardware, start up certain toolsets, and can only then access a
disk drive to "boot".  At this point, _much_ has been done and
the program you wish to run is still on disk.  This is about
where a PR#5 would begin.

If you have been running the GS in a normal fashion, and have
toolsets already active, the memory fragmented, DA's installed,
and maybe a few interrupt handlers running like heartbeat screen
blankers or keyboard macro utilities, a program can easily tell
that it is not running off of an original boot.  A game might
halt.  Or it might simply be written with the assumption that
there is nothing else running on the machine and that memory is
unoccupied and available.  Clashes with programs that are
unexpectedly running in the background can cause problems.

The "harder" the reset, the "cleaner" your GS is to a program. 
The trick is finding which stage works the best.  GS/OS for
example does not like a soft PR#5 type boot, but P8 programs
that don't require or use GS specifics may work fine.  The best
reset to use will vary according to the situation or application
presented.

Serial Port Initialize
----------------------
If you switch either of the serial slots (1 or 2) to their
internal settings, the port is automatically re-initialized. 
You can disable this from the configuration program if it gives
you trouble. 

Slot Stuff
----------
Just like the control panel CDA you can set a slot either
internal function or external (your card).  These changes are
made immediately and PRODOS is updated accordingly, so you
dont have to reset.  As with the regular control panel, you
cannot have slot 7 set for Appletalk and slots 1 and 2 both set
to their internal function.  If you switch slot 5 external, you
lose the smartport devices.  Beware of switching out the device
you run SWCP from unless you will quit back and restore the
setting.  You can designate two slots in the configuration
program that you wish to protect from changes.  SWCP comes with
protection for slot 5 enabled.  Set the configuration option to
zero if you really need to switch slot 5.

The boot slot command will do an old style boot, like the PR#
convention used in Applesoft, if a boot device is present on the
given slot.

Setting the startup slot really sets what "device" you want to
begin the boot startup scan on a reset.  Smartport rearrangement
is active if it is enabled in the configuration program.  This
means if you normally run SWCP from a romdisk which is your
startup device, then changing the startup device without also
booting can mean a crash.  If you do this, use the SD one-time
smartport rearrange disable as described below.

Smartport Rearrangement
-----------------------
Devices controlled by the GS smartport include 3.5 floppy
drives, internal ramdisk, and/or romdisk.  These devices are
mapped (at least as far as P8 is concerned) in the following
order:

  Slot 5 Drive 1  (S5D1)
  Slot 5 Drive 2  (S5D2)
  Slot 2 Drive 1  (S2D1)
  Slot 2 Drive 2  (S2D2)

Order of drive mapping of actual drives depends on which
smartport device is selected to be available for booting.  Boot
devices "must" map to drive one and since smartport devices are
controlled from slot 5, the available boot device will be mapped
to S5D1.

When you select slot 5 in the control panel, you are selecting
the (first) 3.5 floppy disk to be boot device and so it goes
into S5D1.  Selecting "scan" from the control panel does the
same thing.  The ramdisk, romdisk, and any additional 3.5 drive
are then mapped into S5D2, S2D1, and S2D2.
 
If you select the romdisk or ramdisk to be the boot device, it
will get placed in the S5D1 mapping position, followed by
remaining ram/romdisk and 3.5 drives.
 
SWCP will do this same mapping dynamically if you change the
startup device.  The control panel CDA does this too, but you
have to reset to make the remap take effect.  In most cases this
is academic since changing the startup device is done very
infrequently.  SWCP is set this way by default since it is
handy for booting 3.5 drives if you have a romdisk (see booting
3.5's below).  If you would rather not worry about it or it
gives you trouble, than you can turn off the rearrangement in
the configuration program.

You can also make a one-time temporary change to the default
setting by use of the following commands from the command line:

          SE  -  enables smartport rearrangement
          SD  -  disables smarport rearrangement

Speed Changing
--------------
Set it either fast or slow "normal" as the GS control panel
calls it.

System Volume
-------------
Sets overall audio volume that the GS outputs.  Don't blast
your ears!!  If you set it to 0 and use GSOS, you will get a
flashing border instead of the regular GS bell.  The bell will
sound (or border flash) if you make the change from the SWCP
menu.

Text Color Switches
-------------------
Switch text, background, or border settings.  If you are running
with permanence disabled, be aware that the normal GS control
panel CDA will set your color back regardless of whether the
guard is active or not.

0 = Black       4 = Dark Green     8 = Brown        12 = Green
1 = Deep Red    5 = Dark Gray      9 = Orange       13 = Yellow
2 = Dark Blue   6 = Medium Blue   10 = Light Gray   14 = Aqua
3 = Purple      7 = Light Blue    11 = Pink         15 = White

If you get an error here, its probably because you are not
allowed to set the text and background to the same colors (just
like the CP).  However, if you switch both at once you can
effectively swap the colors.


-----------------
Esoteric Commands
-----------------

Forced Manual Entry
-------------------
This is an old command which you may never use.  It forces the
SWCP menu to appear.  Only useful if you use an SWCP.DEF file to
provide input.  See "Alternative Input for Non-Startup
Launchers" below.

          M              forces manual (menu) input
 
Quit Disable
------------
By default SWCP switches the control panel back the way it was
after a launched P8 application finishes.  You may want to
leave the CP that way even after the application quits (for boot
startup resets maybe).  Just string in a "Q" with the parameters:

          /HARD1/BASIC.SYSTEM,T1Q

          Q              disables SWCP P8 quit code

Hexadecimal Entry
-----------------
For adventurous types,

          $XXYY
            or
          HXXYY

will set BRAM offset XX to YY.  Enter both parts in hex.  You
can string this too, but it must be at the end:
 
          SSE2$XXYYXXYY

Warning:  incorrect values here can be dangerous.  You could
accidently scrub your default CP settings if you give it an out
of range parameter.  You can set any offset between $00 and $3F.
Use the file restore option to fix things.

Syntax Definition
-----------------
Here is a formal definition of the syntax that SWCP expects:

          { [prefix;] application; [startup;] } switches

The first three fields are relevant only when you are launching a
program. The switches are what drive the CP changes.  Everything
enclosed in brackets is optional.  The input line is first
scanned for semicolons that seperate the fields, then the
following rules are applied:

1. If one field, that field must contain switches.
2. If two fields, must be application;switches.
3. If three fields, must be either prefix;application;switches
   or application;startup;switches.
4. If four fields, must be prefix;application;startup;switches.

Usually the first two forms are sufficient.


--------------------
Setting up Launchers
--------------------

PROSEL Setup
------------
For applications launched from PROSEL, supply the input line by
means of the "startup" provided for each selection.  In most
cases that means putting SWCP in place of the application, and
moving the application to the "startup".  Assuming the SWCP
program resides in directory UTIL on the disk /HARD1, you can
construct the PROSEL entry in various ways:

          PREFIX:
          APPLICATION: /HARD1/UTIL/SWCP
          STARTUP: /HARD1/BASIC.SYSTEM;T1

          or (better)

          PREFIX: /HARD1
          APPLICATION: /HARD1/UTIL/SWCP
          STARTUP: BASIC.SYSTEM;T1

          or (if you like)

          PREFIX: ?
          APPLICATION:?UTIL/SWCP
          STARTUP: ];T1

The startup field in the PROSEL editor is limited to 40
characters BEFORE expansion.  Internally, PROSEL supports 64
characters.  SWCP accomodates up to 128 by means of startup
string, SWCP.DEF text file or direct keyboard entry.

About Prefixes
--------------
A program frequently needs access to supporting executable
or data files as it runs.  A common approach is to put all such
files along with the program in their own directory.  It is
possible for most programs to know what directory they are
running from, but in some cases that information is no longer
available.  Also, some programs may not bother to check where
they are running from.  Result is a program that won't work
properly or just crashes.  

Prefixes and ProSel
-------------------
ProSel (and SWCP)  allow you to set your prefix before launching
for such reasons.  Logically then, any application pathname you
specify does not have to have the prefix provided with it, since
you have in effect changed the default prefix.  Recognizing this,
SWCP accepts partial pathnames for the application.  Full
pathnames are also acceptable and may be necessary in some
situations.
 
ECP Setup
---------
From ECP, you invoke the SWCP program directly from the command
line.  Put SWCP in the CMDS subdirectory.  Then enter:

          : SWCP

to get to the SWCP menu.  When you learn the syntax, you can just
add any parameters directly:

          : SWCP I6

             or

          : SWCP "/HARD1/TIC/TIC;I2"

Note that quotations are necessary if your command string
contains non-filename characters such as semicolons.  You may
wish to define function keys for ease of operation.

ECP and Prefixes
----------------
ECP does not let you set prefix in the same command line that
you use to launch your program.  Since that may be necessary for
some programs, you can supply a prefix in the SWCP command line
if you wish and then specify the application to run:
 
 : SWCP "/PREFIX;/APPNAM;STARTUP;I6

            or maybe
 
 : SWCP /HARD1/APPS/MMM,/HARD1/BASIC.SYSTEM,MAUG.MSG.MGR,T12B0D0

JumpStart Setup
---------------
If you prefer launching from a super hires launcher, newer
versions of JumpStart can also be used with SWCP.  To force a
startup string, begin the run list entry with a back slash. 
Here is an example where slot 6 is setup to recognize the PC
Transporter:

  Run List entry:
      "\MSDOS"
  Launch program:
      "/Hard1/Util/SWCP"
  Startup string:   (for system w/PCT in slot 6)
      "/Hard1/Msdos/Aepc.System;e6"

A more advanced approach that makes use of SWCP's own ability to
pass a startup string follows:

  Run List entry:
      "\Lotus 1-2-3"
  Launch program:
      "/Hard1/Util/SWCP"
  Startup string:
      "/Hard1/Msdos/Aepc.System;Start123;e6"
        
This directly launches SWCP to make sure slot 6 is external and
at the same time provides a startup string to the Transporter. 
When MSDOS is booted and LAUNCHER.EXE is invoked in the
AUTOEXEC.BAT file, 1-2-3 is automatically executed as though
"Start123" was entered from the MSDOS command line.

JumpStart sets the default prefix to that of the launched
program. If you need the prefix set to a directory besides the
one SWCP is in, put the prefix and a semicolon before the name
of the application:

      "/Hard1/Msdos;Aepc.System;Start123;e6"
	 
Command.Com Setup
-----------------
If you use Command.Com, put SWCP in the BIN directory.  Then just
give inputs as described for ECP, except no quotations.  Instead
of semicolons use an asterisk (*) to seperate fields.


Alternative Input for Non-Startup Launchers
-------------------------------------------
If input is not provided by the selecting program when SWCP
is run, a file SWCP.DEF (on the same directory as SWCP) is
looked for to provide the input line.  This means you can supply
parameters from the FINDER if you have a text editor. You will
quit back to whatever launcher you use.  If you want, rename
SWCP. The ".DEF" is appended to whatever you call SWCP.  


-------------------------
Some Application Examples
-------------------------

5.25 Smartport Floppies
-----------------------
With the GS, you seldom need to access the 5.25 drives anymore. 
With SWCP, you can leave you default slot 6 setting as "your
card" and just switch in the floppy when you need it with:

          I6


PC Transporter Application
--------------------------
Suppose you have a PCT and a hard drive (my particular problem). 
I like the HD in slot 7 because from it I can get to the slot 5
or 6 floppies.  If you run copy protected programs you know that
can be a must.  The flavor of MSDOS that I run is very
mouse-less, and so S4 would be a perfect slot for the PCT. The
normal problem with putting the PCT in S4 is that the mouse IS
used on the GS, and it needs to be around when MSDOS finishes. 
But with SWCP you can use:

          /HARD1/MSDOS/AEPC.SYSTEM;E4

When you quit from MSDOS, your mouse function is restored.

PCT stuff
---------
Choose your slot for the PCT based on what you need available
from ProDOS and/or MSDOS.  Slot 6 is perfect.  Slot 5 is fine if
you dont ever use the PCT ramdisk or connected drives from
ProDOS.  If you dont use the comm port from MSDOS, slot 2 makes
a lot of sense.  An example of using slot 4 was given above.

If you use the PCT ramdisk or drives from ProDOS, make sure your
default slot setting is such that the card is seen when you
power up your machine, or more specifically when you run the AE
modified PRODOS file that installs the PCT drivers.


Comm Program Application
------------------------
I use a comm program (TIC) which must run in slot 2.  I also
have a hard disk there for convenience when I run APW.  It doesnt
need to be there when I use the modem, so I switch in the
internal port only while I'm online:

          /HARD1/TIC/TIC;i2

and of course the PCT uses the serial port so you would modify
the earlier example to

          /HARD1/MSDOS/AEPC.SYSTEM;e4i2

An Applesoft Startup application
--------------------------------
The above examples show some basic slot switching.  When I run
text programs, I like to use different text colors.  For
instance I run TIC in one set of screen colors then switch to
different settings when running John Tierney's Maug Message
Manager.  MMM launches through Applesoft and requires a startup
string, so I use this PROSEL construct:

          PREFIX: /HARD1/APPS/MMM
          APPLICATION: /HARD1/UTIL/SWCP
          STARTUP: /HARD1/BASIC.SYSTEM;MAUG.MSG.MGR;T12B0D0

but actually use the PROSEL abbreviations:

          PREFIX: ?APPS/MMM
          APPLICATION: ?SWCP/SWCP
          STARTUP: ?];MAUG.MSG.MGR;t12b0d0

and get around the editor's limitation on startup length.

Booting 3.5's
-------------
Often you have a special program that will only work if you boot
it off of a floppy disk.  Copy protected disks immediately come
to mind, but programs based on older operating systems also fall
in that category.  If you normally boot from that device, then
you can just reset and boot the device.  However, if you boot
from hard disk or rom, all you really want to do is a temporary
boot of the 3.5 without affecting the permanent startup setting.

          PDP5RB

will usually work.  That will kill any desk accessories you have
running.  In addition, if you use Appletalk there may be
problems, so you may find that a "classic" boot variation works
better:

          PDP5BS5

Remember, making slot 5 the startup device will change the slot
mapping arrangement of smartport devices if you normally boot 
from rom or /RAM5.

Booting 5.25's
--------------
This is very similar to booting the 3.5 floppies.  In many cases
you also have to worry about setting speed to slow, and possibly
changing display settings.  SWCP will let you build whatever
combination you want.  This one works for most programs.

          PDI6P6SSRB

As with the 3.5 disks, vary the command according to your
particular requirements.


-------------------
Miscellaneous Stuff
-------------------
I am always looking for ways to improve SWCP.  If you've got a
suggestion, please share it with me.  Many of the useful
features of SWCP have evolved that way.  I am curious about
how you may be using the program, be it with digitizers, tape
backups, sound boards, hard disks, printers, scanners, CD rom,..
or just your favorite software program.

Unless you use the hex input, I dont think you will get in much
trouble.  However, prudence dictates that I warn you that I will
not be held liable for any damage or problems to hardware or
software beyond the purchase price of SWCP.  Just in case you do
switch your way to infinity somehow, you might want to keep some
bootable floppies (system disks) handy to get you back on your
way.  You can also reset control panel defaults by powering up
with the option key held down and selecting "2" for 60Hz and
default settings.

There are a lot of hardware and switching combinations.
Obviously I can't test them all to know whats best for you.  Let
me know about any bugs and I'll try to fix them.  If you have a
problem, include a description of hardware involved, default
slot settings, as well as what software was used and what
sequence of events generated the problem.  Be sure to let me
know what revision of SWCP you are using.

Shareware
---------
Please respect the shareware nature of this program.  It is set
up this way for two main purposes:  1) To let me know that the
Apple market appreciates this kind of program and  2) So I can
provide you better support as well as notify you of significant
future upgrades.  As an incentive, if you send in the fee, I'll
tell you how to remove the oppressive "beg-for-money" shareware
screen.  Registered owners can get the latest revision of SWCP
on disk for $5 (US dollars).

Other Useful Programs
---------------------
John Intondi has designed a nice ProSel Screen for driving SWCP
called ENVIRONMENT.  It contains options for changing many
common CP setups including booting very quickly.  Look for
ENVI.BQY.

Loren Damewood has written a set of system programs to switch
the control panel. These programs are small but fast and you
dont have to worry about parameters.  Look for QUIK.BNY and
SHRTCU.BNY.

The DHRFIX method used in SWCP comes to you through the kind
generosity of Rick Oshlo, DHRFIX.BNY has details on it.


Thanks to..
-----------
..everyone who has contributed very useful suggestions for
upgrades, fixes, and neat ideas.  Special thanks to those
who take the time to write.  I hope you like the results.

Special thanks to Dave Hill for assisting with 16 bit launch
testing.

The program is dedicated to the kind and helpful people of
the Compuserve Maug(tm) forum.


     Tim Grams
     P.O. Box 462283
     Garland, Tx  75046-2283
     USA

     Compuserve     73537,2601
     AppleLink  PE  Tim Grams
     Genie          TGRAMS
     
