Changes

Tennis Cup 2 (cartridge)

2,409 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}}
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==Comparison==
25cc 3e09 ld a,09h25ce b1 or c25cf 06f6 ld b,0f6h25d1 ed79 out (c),a25d3 06f4 ld b,0f4h25d5 ed78 in a,(c)25d7 2f cpl 25d8 328280 ld (8082h),a ;; joy 0[[File:Tennis cup cpc intro.png]][[File:Tennis cup cpc game.png]]
25db f5 push af25dc 3e06 ld a,06h25de b1 or c25df 06f6 ld b,0f6h25e1 ed79 out (c),a25e3 06f4 ld b,0f4h25e5 ed78 CPC version in a,(c)25e7 2f cpl 25e8 328380 ld (8083h),a ;; joy 125eb d1 pop de25ec b2 or d25ed 328680 ld (8086h),amode1.
25f0 3e03 ld a,03h25f2 b1 or c25f3 06f6 ld b,0f6h25f5 ed79 out (c),a25f7 06f4 ld b,0f4h25f9 ed78 in a,(c)25fb 2f cpl 25fc 328480 ld (8084h),a ;; pause?[[File:Tennis cup 2 cartridge game 1.png]][[File:Tennis cup 2 cartridge game 2.png]]
25ff c1 pop bcCartridge version in Mode0 + Hardwired sprites.2600 3e82 ld a,82h 2602 ed79 out (c),a== Analog Joystick Support ==2604 05 dec b 2605 ed49 out (c)This game is perhaps the only one on Amstrad GX4000/Plus range that supports an [[Analog Joysticks|Analog Joystick]],c2607 01b87f ld bchowever,7fb8hit converts the analog signals to digital signals by software. In two-player mode, the game can be controlled by:260a ed49 out * Digital Joystick #1 and Digital Joystick #2or alternately (cselectable in Options),c* Analog Joystick #1 and Digital Joystick #2260c 0e00 ld cThat feature is intended for people who own one digital stick,00h260e 3a0868 ld aand one analogue stick (rather than two digital ones). In the "analog" mode,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 ;/
The keyboard is read to determine the state of the digital joysticks and the P button (pause button on gx4000 console).
1,065
edits