
        __ ________                                                   ________
_______|_ /  _____/____________       __ _________     ______ _ _____|     _ /
\    ___//  ___/     _ /  ____/______(___\    ___/____(_____________ \     //
 \    \ /_______     //   \|     _ /    _/\_____    /    /       \  \ \    /
  \_________|  `-----/______     //     \ _ _______/____/    |   \\_|\    /
                           `-----/-- - --\\ /-Mo!       \_________/   \  /

welcome  to  another  production  of our fabolous group.  this time it's called
gamecontroller emulator (short:  'ctrl') done by no one else than me.

                              - GALAXY/DECISION -

requirements:
~~~~~~~~~~~~~
an  amiga  which  supports  kickstart  2.04  or  higher,  any  version  of  the
'lowlevel.library'  version  40.x or higher and 'reqtools.library' version 38.x
or higher!

these  libraries are copyrighted therefore i didn't put them with this archive.
(should  be  clear  why ;) well you could get them on any bulletin board system
avail  in  your  local  area..   or  get a look in your libs:  directory if you
didn't  already have them.  this tool will also look for them for you.  you get
notified if something is missing!

introduction:
~~~~~~~~~~~~~
this  tool  should be able to emulate the extended buttons of an gamecontroller
on  the nummeric keypad of your keyboard, it will also emulate the moving cross
(moving  cross=up,  down,  left,  right and diagonals) on your cursorkeys.  but
well you could use your joystick.  i extended this cursor option only for those
who can't afford a joystick or the joystick is broken right now or could better
do  moving  with the keys than the joystick.  well at least..  try out yourself
what's best for you.

information:
~~~~~~~~~~~~
it's  always possible that errors appears, well so please don't fool me (no one
is  perfect), if you do so then try a better emulator yourself.  be afraid that
somone did it.  and i know it works..

it  could  be  possible  that the one, or other game won't react/ work with the
emulator!  so please don't blame me.  get another game :).  this so i will call
it  'non'  function is set back that the game won't use extended buttons and so
uses  only  the internal joystick stuff of the dma register $dff00a or $dff00c.
mostly  these games are equal to the disk versions and often have allready keys
defined.   in  real seldom times, games could have a gamepad option avail which
where  written  in  real  hardware..  (as the library is only software, so this
could  be  adapted  in own routine).  i heard from some people that the gamepad
emulator  will  only  react if something is plugged in the port!  well might be
but who cares?

programlogic:
~~~~~~~~~~~~~
- i allocated memory and didn't free'ed it after leaving the utility..
- i opened a library but didn't closed it after leaving the utility..
- i  used  address $0.w to  set one single bit (bit 0) in it (in a multitasking
  utility) well this one i will fix sooner or later

but  well these FAILURES are NEEDED and WANTED so don't fool me without knowing
the  sence  why  i  made  it....   the  internal  library  stuffs  has it's own
functions.   like  (libopen,  close,  expunge...)  sometimes the system decides
itself  to  remove  an library out of the list of open libraries.  (as far as i
understood  it!)  so,  to  avoid this problem i didn't closed the library.  the
memory  was'nt free'ed, because the main routine of the game could overwrite my
patching  routine.   well  this  could  still  happen  if the game uses a kinda
absolutely  location transfer routine in it or something equal.  well mostly we
have enough memory for game'ing so who cares to!

how  does  it work.  well the most cd32 games use the 'lowlevel.library' to get
all  gamecontroller/  joystick/  mouse/ alien device moving from it.  this tool
will  cheat  the  offset:   -30  (getjoyport)  of  this library.  will show the
address up to my routine.  there it will jump in the original library come out,
check my routine for pressed keys and went back into the game...  thats all..

usage:
~~~~~~
theoreticaly  this  might  work  with  gamecontroller  port 0-3, no matter what
you've connected there (i don't own a gamepad yet, because i live at the end of
this  world  and to order it could take ages (as my isdn line took ages to ;)..
you  could  also  disconnect  the  whole  moving device (mouse, gamecontroller,
joystick...   etc..)  and  could  be  able  to  play  the game with my emulator
heheheh..   well  there's nothing more to say just start the tool and check out
the  requesters..  that's all.  maybe you write the keys down to a sheet to get
a better overview...  because all games differ in the usage of the buttons..

tooltypes:
~~~~~~~~~~
create  an  icon  named 'ctrl.info' (eg:  the mainprogramm should keep the name
'ctrl') in that directory where the mainprogramm was located...

add the following tooltypes:

REQUESTER=YEAH			;yes i want an requester every time!

or

REQUESTER=NOPE			;nope i hate requesters

and

MONITOR=HEXADDRESS		;locate an monitor ad address eg: $1a0000

or

MONITOR=NOPE			;no monitor wanted

btw:  the last option with the monitor is not implemented in this version, i am
working  at  it  and  do betatesting it here.  with different monitor programms
avail here.

disclaimer:
~~~~~~~~~~~
there  is  no  warranty  for the program, to the extent permitted by applicable
law.   except  when  otherwise  stated  in writing the copyright holder and/ or
other  parties provide the program "as is" without warranty of any kind, either
expressed  or implied, including, but not limited to, the implied warranties of
merchantability  and  fitness  for a particular purpose.  the entire risk as to
the  quality  and  performance  of the program is with you.  should the program
prove  defective,  you  assume  the  cost of all necessary servicing, repair or
correction.

in  no event unless required by applicable law or agreed to in writing will any
copyright  holder,  or  any  other  party  who  may redistribute the program as
permitted  above, be liable to you for damages, including any general, special,
incidental  or consequential damages arising out of the use or inability to use
the  program  (including but not limited to loss of data or data being rendered
inaccurate  or  losses  sustained  by  you or third parties or a failure of the
program to operate with any other programs), even if such holder or other party
has been advised of the possibility of such damages.

copyright:
~~~~~~~~~~
this  utility  and  it's  document  are COPYRIGHTED.  soft/, hard/, aminet/ and
other  publicdomain companies MUST contact me to get an allowment to distribute
this  piece of software in any way.  this means in easy words 'you must contact
me  and  ask  me  first before you distribute/ trade/ spread this software' you
will  have  to pay a license fee for doing this.  the amount of the fee depends
on the way you want to distribute it.

if  i see you making money with my program in any way (above meant rules in any
way  without  permission  of  me,  the  author)  then  you  have  to  take  the
consequencies..

       >>>> licensed owners/companies get an enchanted version!!!! <<<<

                                 contact ways
                                 ~~~~~~~~~~~~

   you can reach me on any bulletin board system in germany, write mail to:

                                 '- GALAXY -'

versions:
~~~~~~~~~

- v1.0		- released version..
- v1.1		- internal enchantments..
- v1.2		- released version..
