Last modified on 3 February 2010, at 00:02

Tennis Cup 2 (cartridge)

Revision as of 00:02, 3 February 2010 by Nocash (Talk | contribs) (Analog Joystick)

Cover

Covers from CPCmania

Cartridge

Manual

You can download in PDF from CPCmania ( See the links ).

Game

You can download in CPR for use in emulators and BIN from CPCmania ( See the links ).


Analog Joystick

This games is pehaps the only one on Amstrad GX4000/Plus range to enable the use of an Analog Joystick, for the 2nd player.

  • Player 1 can use Digital Joystick #1
  • Player 2 can use Digital Joystick #2, or alternately, Analog Joystick #1
  • [uhhhh... that can't be correct since digital-stick1 and analog-stick1 use the same fire button...?]

The game converts the analog inputs to digital-joystick-style "on/off" signals, so it isn't actually supporting "fast/slow" analog inputs.

 ld      bc,0f40eh
 out     (c),c
 ld      b,0f6h
 in      a,(c)
 and     30h
 ld      c,a
 or      0c0h
 out     (c),a
 out     (c),c
 inc     b
 ld      a,92h
 out     (c),a
 push    bc
 set     6,c
 ld      a,09h ;; keyboard line for joy 0
 or      c
 ld      b,0f6h
 out     (c),a
 ld      b,0f4h
 in      a,(c)
 cpl
 ld      (8082h),a                     ;; joy 0
 push    af
 ld      a,06h ;; keyboard line for joy 1
 or      c
 ld      b,0f6h
 out     (c),a
 ld      b,0f4h
 in      a,(c)
 cpl
 ld      (8083h),a                     ;; joy 1
 pop     de
 or      d
 ld      (8086h),a
 ld      a,03h
 or      c
 ld      b,0f6h
 out     (c),a
 ld      b,0f4h
 in      a,(c)
 cpl
 ld      (8084h),a                     ;; pause?
 pop     bc
 ld      a,82h
 out     (c),a
 dec     b
 out     (c),c
 ld      bc,7fb8h
 out     (c),c
 ld      c,00h
 ld      a,(6808h)             ;; analogue input channel 0
 sub     1fh
 cp      14h
 jp      p,261fh
 cp      0ech
 jp      m,2623h
 jr      2625h
261f:
 set     3,c                           ;; right
 jr      2625h
2623:
 set     2,c                           ;; left
2625:
 ld      a,(6809h)             ;; analogue input channel 1
 sub     1fh
 cp      14h
 jp      p,2639h
 cp      0ech
 jp      p,263bh
2634:
 set     0,c                           ;; up
 jp      263bh
2639:
 set     1,c                           ;; down
263b:
 ld      a,(8082h)             ;; joy 0 fire.
 and     10h
 or      c
 ld      (8085h),a

The keyboard is read to determine the state of the digital joysticks and the P button (pause button on gx4000 console).

The routine reads analogue input channel 0 and 1 for the analogue joystick and performs some checking to see the range of the numbers. Based on this it sets the direction pressed.

Links

http://www.cpcmania.com/ ( on the games section : GX4000/CPC+ GAMES )