# -------------------------------------------------------------------
# JERRY                                 (c) Copyright 1996 Nat! & KKP
# -------------------------------------------------------------------
# These are some of the results/guesses that Klaus and Nat! found
# out about the Jaguar with a few helpful hints by other people, 
# who'd prefer to remain anonymous. 
#
# Since we are not under NDA or anything from Atari we feel free to 
# give this to you for educational purposes only.
#
# Please note, that this is not official documentation from Atari
# or derived work thereof (both of us have never seen the Atari docs)
# and Atari isn't connected with this in any way.
#
# Please use this informationphile as a starting point for your own
# exploration and not as a reference. If you find anything innacurate,
# missing, needing more explanation etc. by all means please write
# to us:
#	  nat@zumdick.rhein-main.de
# or
#	  kkp@gamma.dou.dk
#
# If you could do us a small favor, don't use this information for
# those lame flamewars on r.g.v.a or the mailing list.
#
# HTML soon ?
# -------------------------------------------------------------------
# $Id: jerry.txt,v 1.3 1996/01/28 20:51:32 nat Exp $
# -------------------------------------------------------------------
Here are some of the leftovers of JERRY that aren't described in the 
RISC dox.


JOYSTICK/JOYPAD:
===============

Digital Joypad JOYSTICK:
=-=-=-=-=-=-=-=-=-=-=-=-=

   It seems that as a rule the bits are low active in these
   registers.

   16       12         8         4         0
   +-+-------^------+--+---------+---------+
   |u|    unused    |mu|  col 1  |  col 0  |  Write only
   +-+--------------+--+---------+---------+
    15                8   7...4     3...0

   col 0:   column control of joypad 0 

      Here you select which column of the joypad to poll. 
      The columns are:

                Joystick       Joybut 
      col_bit| 3  2  1  0     1    0  
      -------+--+--+--+--    ---+------
         8   | R  L  D  U     A  PAUSE       (RLDU = Joypad directions)
         9   | *  7  4  1     B       
        10   | 2  5  8  0     C       
        11   | 3  6  9  #        OPTION

      You select a column my clearing the appropriate bit and setting
      all the other "column" bits. 


   col1:    column control of joypad 1

      This is pretty much the same as for joypad EXCEPT that the
      column addressing is reversed (strange!!)
            
                Joystick      Joybut 
      col_bit| 3  2  1  0     1    0
      -------+--+--+--+--    ---+------
        12   | 3  6  9  #        OPTION
        13   | 2  5  8  0     C
        14   | *  7  4  1     B
        15   | R  L  D  U     A  PAUSE     (RLDU = Joypad directions)

   mute (mu):   sound control

      You can turn off the sound by clearing this bit.

   unknown  (u):  unknown

      Theory: you can bankswitch to another set of Joypad control
              registers. Since we only got two ports, keep this
              set.
    
   16        12        8         4         0
   +---------+---------+---------^---------+
   |  pad 1  |  pad 0  |      unused       |
   +---------+---------+-------------------+
     15...12   11...8          7...0

   Reading this register gives you the output of the selected columns
   of the pads.
   The buttons pressed will appear as cleared bits. 
   See the description of the column addressing to map the bits 
   to the buttons.


JOYBUTS:
=-=-=-=

   16       12         8         4         0
   +---------^---------^---------+----+----+
   |               unused        | b1 | b0 |  RO
   +-----------------------------+----+----+
                15...4            3..2 1..0
   
   b0:   button read out for pad 0
      bit 0:   PAUSE, OPTION status
      bit 1:   A, B, C status

   b1:   button read out for pad 1
      bit 2:   PAUSE, OPTION status
      bit 3:   A, B, C status

   Returns the status of some of the Joypad buttons. You address which
   information you want with the JOYSTICK register (described above).


Analog Joystick ANAJOY:
=-=-=-=-=-=-=-=-=-=-=-=

   16       12         8         4         0
   +---------^---------^---------^-+--+--+-+
   |            ???                |p |n |a|    WO
   +-------------------------------+--+--+-+

   axis (a) :  select X or Y for polling

      Set this bit to 1 for Y-axis polling, cleared: X-axis

   joystick (n):  select joystick   (??)
   
      Clear for joystick 0, set for joystick 1

   poll (p):    poll bit (??)

      Set this to one to initiate polling/ADC conversion ?
      It appears that after you start polling you need to give the ADC
      40 us time to convert the value.

      
   16       12         8         4         0
   +---------^---------+---------^---------+
   |       unused      |       value       |    RO
   +-------------------+-------------------+
                               7...0
      
   value:   8 bit value from the ADC



CONFIGURATION STUFF:
===================


CONFIG:
=-=-=-=

  16        12         8         4         0
   +---------^---------^------+--+---------+
   |               ???        |pl|   ???   |
   +--------------------------+--+---------+
             15...5             4    3...0


   palflag (pl):  
      if this flag is set, you have a NTSC jaguar else
      it's a PAL Jag
