Changes

Tennis Cup 2 (cartridge)

2,393 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}}
[code]==Comparison==
25b2 010ef4 ld bc,0f40eh25b5 ed49 out (c),c25b7 06f6 ld b,0f6h25b9 ed78 in a,(c)25bb e630 and 30h25bd 4f ld c,a25be f6c0 or 0c0h25c0 ed79 out (c),a25c2 ed49 out (c),c25c4 04 inc b25c5 3e92 ld a,92h25c7 ed79 out (c),a25c9 c5 push bc25ca cbf1 set 6,c[[File:Tennis cup cpc intro.png]][[File:Tennis cup cpc game.png]]
25cc 3e09 ld a,09h25ce b1 or c25cf 06f6 ld b,0f6h25d1 ed79 out (c),a25d3 06f4 ld b,0f4h25d5 ed78 CPC version in a,(c)25d7 2f cpl 25d8 328280 ld (8082h),a ;; joy 0mode1.
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 [[File:Tennis cup 2 cartridge game 125eb d1 pop de25ec b2 or d25ed 328680 ld (8086h),a.png]][[File:Tennis cup 2 cartridge game 2.png]]
25f0 3e03 ld a,03hCartridge version in Mode0 + Hardwired sprites.25f2 b1 or c 25f3 06f6 ld b,0f6h== Analog Joystick Support ==25f5 ed79 out (c),a 25f7 06f4 ld bThis game is perhaps the only one on Amstrad GX4000/Plus range that supports an [[Analog Joysticks|Analog Joystick]],0f4h25f9 ed78 in ahowever,(c)25fb 2f cpl 25fc 328480 ld (8084h)it converts the analog signals to digital signals by software. In two-player mode,a ;; pause?the game can be controlled by:* Digital Joystick #1 and Digital Joystick #225ff c1 pop bc2600 3e82 ld a,82h2602 ed79 out or alternately (cselectable in Options),a2604 05 dec b* Analog Joystick #1 and Digital Joystick #22605 ed49 out (c)That feature is intended for people who own one digital stick,c2607 01b87f ld bc,7fb8h260a ed49 out and one analogue stick (crather than two digital ones). In the "analog" mode,c 260c 0e00 ld c,00h260e 3a0868 ld a,Digital Joystick #1 is not used (6808hbecause its button inputs would conflict with Analog Joystick #1) ;; analogue input channel 02611 d61f sub 1fh2613 fe14 cp 14h2615 f21f26 jp p,261fh2618 feec cp 0ech261a fa2326 jp m,2623h261d 1806 jr 2625h 261f cbd9 set 3,c ;; right2621 1802 jr 2625h 2623 cbd1 set 2,c ;; left.
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 ;/code]
The keyboard is read to determine the state of the digital joysticks and the P button (pause button on gx4000 console).
897
edits