home *** CD-ROM | disk | FTP | other *** search
-
-
- JoyTrap - An easier interface to the CD32 controller.
- ===========================================
-
- Written by Jezar at Image Technology.
-
- Contact me via:
- email: jezar@cix.compulink.co.uk
- voice: UK (0204) 363688
- mail:
- Jezar
- Image Technology
- c/o Multi Media Machine
- 59 Bridgeman Place
- Bolton, Lancs BL2 1DE
- England
-
- This program is freely distributable to CD32 developers,
- provided that this documentation is goes with it.
- It is without warrantee. Don't blame me if it goes mad on
- you and screws everything up - it is a free gift - treat it
- as such. As far as I can tell though, it works very well, and
- has been thoroughly tested with debug tools.
-
-
- Background
- ==========
- The CD32 controller has a low level interface to the system.
- This is great for games developers who need the speed, but not
- so good for MultiMedia designers with other things to think about.
- JoyTrap has been developed to ease the pain of this. It was inspired
- by the great "MouseTrap" program by Dave Parkinson, which provided
- a nice way of dealing with the CDTV remote control unit.
-
- JoyTrap should be especially useful with AmigaVision or Scala.
-
- What JoyTrap does is to provide RAWKEY presses which can be picked
- up in an intuition-friendly manner, and (if you wish), map the transport
- buttons to the same RAWKEY codes as on a CDTV controller, and mimick
- the daft behaviour of the CDTV's hardware transport buttons.
- (except the bug about missing keypresses :-)
-
-
-
- Technical notes
- ===============
-
- JoyTrap is implemented as a VBlank interrupt that looks at the controller
- port, and then triggers the main task to ask the input device to write
- an event to the input stream. Therefore, when there is no input, the
- main task goes sleep completely. The memory allocations for the internal
- signalling messages are done using the SAS calloc() function which uses
- it's own pool (AFAIK) therefore during the first few input events, it
- might seem to "gulp" another chunk of memory,
- but this chunk is reused and returned to the system on exit.
- Doing things this way reduces the fragmentation that might otherwise
- occur and reduces overhead compared to constantly calling AllocMem()
- every time. JoyTrap has been tested with various debugging tools and
- appears to be behave perfectly.
-
-
- Usage:
- ======
- The simplest way to use JoyTrap is just to type:
-
- JoyTrap
-
-
- with no arguments. This will give you the following output:
-
- left - 'l'
- right - 'r'
- up - 'u'
- down - 'd'
- reverse - 'v'
- forward - 'f'
-
- The key repeat behaviour of the above matches normal keyboard
- keys. But note that the repeat speed is NOT affected by preference
- settings, although I *might* see fit to change this someday, so be
- warned!
-
- red - 'a' ('r' is used by right)
- blue - 'b'
- yellow - 'y'
- green - 'g'
- play/pause - 'p'
-
- The above keys do NOT repeat (for obvious reasons). They give you
- a key down when pressed, and as you would expect, a key up when
- released.
-
- The following switches may be typed (in any order or case) after "JoyTrap"
-
- QUIET
-
- Suppresses the "installed"/"removed" messages.
-
- CURSOR
-
- Gives cursor keys (up/down etc) instead of letter keys (l,r,u,d)
- I prefer this, as it helps you make a consistent interface for
- keyboard users as well.
-
- CDTV
-
- For CDTV compatability; when CDTV is given then the transport
- keys - Play, Forward, Reverse are the same RAWKEY codes as on
- the CDTV, and the key repeat behaviour of the transport keys
- matches the CDTV exactly, with all it's odd quirks.
-
- ?
-
- Displays the options, in case you forget.
-
-
- Known Bugs
- ==========
- If you hold down the blue button, the yellow and green auto-repeat.
- I suspect this is a hardware problem not in my logic, but I could be
- wrong about this. I'll
-
-
-
- To remove JoyTrap just run it again, and it will signal itself to unload.
- =========================================================================
-
- JoyTrap is safe to run from the Workbench.
-
- JoyTrap can be safely executed under 1.3, but it won't do anything except
- terminate with an error message (unless QUIET)
-
- I hope this is of use to someone!
-
- Best Wishes,
- Jezar.
-
-
-