Changes

Tennis Cup 2 (cartridge)

2,676 bytes added, 00:07, 7 June 2023
/* Analog Joystick Support */ typo
[[File:Tennis cup 2 intro.png|384px|thumb|right]]
 
'''Tennis Cup 2''' is the Cartridge version of '''Tennis Cup''', a tennis game on CPC (old), both games produced by [[Loriciel]].
 
 
Certainly the best looking Tennis game on Amstrad (in cartridge version).
 
 
== Cover ==
You can download in CPR for use in emulators and BIN from CPCmania ( See the links ).
==Analog JoystickVideos == Quick look by Novabug This games is pehaps the only one on Amstrad GX4000/Plus range to enable the use of an [[Analog Joysticks{{#ev:youtube|VQgmT-HRt2Y| Analog Joystick]], for the 2nd player.340}}
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 or c ld b,0f6h out (c),a ld b,0f4h25d5 ed78 in a,(c)25d7 2f cpl 25d8 328280 ld (8082h),a ;; joy 0==Comparison==
25db f5 push af25dc 3e06 ld a,06h25de b1 or c25df 06f6 ld b,0f6h25e1 ed79 out (c),a25e3 06f4 ld b,0f4h25e5 ed78 in a,(c)25e7 2f cpl 25e8 328380 ld (8083h),a ;; joy 125eb d1 pop de25ec b2 or d25ed 328680 ld (8086h),a[[File:Tennis cup cpc intro.png]][[File:Tennis cup cpc game.png]]
25f0 3e03 ld a,03h25f2 b1 or c25f3 06f6 ld b,0f6h25f5 ed79 out (c),a25f7 06f4 ld b,0f4h25f9 ed78 CPC version in a,(c)25fb 2f cpl 25fc 328480 ld (8084h),a ;; pause?mode1.
25ff c1 pop bc2600 3e82 ld a,82h2602 ed79 out (c),a2604 05 dec b2605 ed49 out (c),c2607 01b87f ld bc,7fb8h260a ed49 out (c),c[[File:Tennis cup 2 cartridge game 1.png]][[File:Tennis cup 2 cartridge game 2.png]]
260c 0e00 ld c,00hCartridge version in Mode0 + Hardwired sprites.260e 3a0868 ld a,(6808h) ;; analogue input channel 02611 d61f sub 1fh== Analog Joystick Support ==2613 fe14 cp 14h 2615 f21f26 jp pThis game is perhaps the only one on Amstrad GX4000/Plus range that supports an [[Analog Joysticks|Analog Joystick]],261fh2618 feec cp 0ech261a fa2326 jp mhowever, it converts the analog signals to digital signals by software. In two-player mode,2623hthe game can be controlled by:261d 1806 jr 2625h* Digital Joystick #1 and Digital Joystick #2 261f cbd9 set 3or alternately (selectable in Options),c ;; right2621 1802 jr 2625h 2623 cbd1 set * Analog Joystick #1 and Digital Joystick #2That feature is intended for people who own one digital stick,c ;; leftand one analogue stick (rather than two digital ones). In the "analog" mode, Digital Joystick #1 is not used (because its button inputs would conflict with Analog Joystick #1).
2625 3a0968 ld a,(6809h) ;; analogue input channel 12628 d61f sub 1fh262a fe14 cp 14h262c f23926 jp p,2639h262f feec cp 0ech2631 f23b26 jp p,263bh2634 cbc1 set 0,c ;; up 2636 c33b26 jp 263bh2639 cbc9 set 1,c ;; downDisassembly of the joystick code in Tennis Cup 2:
263b 3a8280 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 ;keyb.row 9 ;\ or c ; ld b,0f6h ; out (c),a ; read digital joystick 1 ld b,0f4h ; in a,(c) ; cpl ; ld (8082h) ,a ;store joy 1 ; / push af ;push joy 0 fire1 ld a,06h ;keyb.row6 ;\263e e610 or and c ; ld b,0f6h ; out 10h(c),a ; read digital joystick 22640 b1 ld b,0f4h ; in a,(c) ; cpl ; ld (8083h),a ;store joy 2 ;/ pop de ;pop joy 1 ;\ or d ;merge joy 2 ; merge digital joystick 1+2 ld (8086h),a ;store both ;/ ld a,03h ;keyb.row3 ;\ or c ; read pause button2641 328580 ld b,0f6h ; (aka "P" key) out (c),a ; (row3.bit3) ld b,0f4h ; (bit3 still needs to be in a,(c) ; isolated elsewhere) cpl ; ld (8084h),a ;store pause ;/ pop bc ld a,82h out (c),a dec b out (c),c ld bc,7fb8h out (c),c ld c,00h ;digital-joystick-style bits ld a,(6808h) ;ADC0 ;+00h..+3Fh ;\ sub 1fh ;-1Fh..+20h ; cp 14h ; jp p,261fh_RIGHT ;+14h..+20h ; cp 0ech ;-14h ; read analog joystick 1, jp m,2623h_LEFT ;-1Fh..-15h ; X-axis (ADC0) jr 2625h_X_DONE ;-14h..+13h ; 261f_RIGHT: ; set 3,c ;bit3=right (as on digital joy) ; convert to digital left/right jr 2625h_X_DONE ; 2623_LEFT: ; set 2,c ;bit2=left (as on digital joy) ; 2625_X_DONE: ;/ ld a,(6809h) ;ADC0 ;+00h..+3Fh ;\ sub 1fh ;-1Fh..+20h ; cp 14h ; jp p,2639h_DOWN ;+14h..+20h ; cp 0ech ;-14h ; read analog joystick 1, jp p,263bh_Y_DONE ;-14h..+13h ; Y-axis (ADC1) 2634h_UP: ;-1Fh..-15h ; set 0,c ;bit0=up (as on digital joy) ; convert to digital up/down jp 263bh_Y_DONE ; 2639h_DOWN: ; set 1,c ;bit1=down (as on digital joy) ; 263bh_Y_DONE: ;/ ld a,(8082h) ;joy1 ;\ and 10h ;joy1 fire ; use digital joystick 1 fire or c ; as analog joystick 1 fire ld (8085h),a;store A/D converted analog ;/
The keyboard is read to determine the state of the digital joysticks and the P button (pause button on gx4000 console).
897
edits