Changes

Tennis Cup 2 (cartridge)

2,856 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 ).
== Videos ==
Quick look by Novabug
{{#ev:youtube|VQgmT-HRt2Y|340}}
 
==Comparison==
 
[[File:Tennis cup cpc intro.png]][[File:Tennis cup cpc game.png]]
 
CPC version in mode1.
 
[[File:Tennis cup 2 cartridge game 1.png]][[File:Tennis cup 2 cartridge game 2.png]]
 
Cartridge version in Mode0 + Hardwired sprites.
==Analog JoystickSupport ==
This games game is pehaps perhaps the only one on Amstrad GX4000/Plus range to enable the use of that supports an [[Analog Joysticks| Analog Joystick]], for however, it converts the 2nd playeranalog signals to digital signals by software.In two-player mode, the game can be controlled by:* Player 1 can use Digital Joystick #1* Player 2 can use and Digital Joystick #2, or alternately(selectable in Options), * Analog Joystick #1and Digital Joystick #2The game converts the analog inputs to That feature is intended for people who own one digital-joystick-style "on/off" signalsstick, so it isn't actually supporting "fast/slowand one analogue stick (rather than two digital ones). In the " analog " mode, Digital Joystick #1 is not used (because its button inputswould conflict with Analog Joystick #1)Disassembly of the joystick code in Tennis Cup 2:
ld bc,0f40eh
push bc
set 6,c
ld a,09h ;keyb.row 9 ; keyboard line for joy 0\ or c ; ld b,0f6h ; out (c),a ; read digital joystick 1 ld b,0f4h ; in a,(c) ; cpl ; ld (8082h),a ; ; store joy 01 ;/ push af ;push joy 1 ld a,06h ;keyb.row6 ; keyboard line for joy 1\ or c ; ld b,0f6h ; out (c),a ; read digital joystick 2 ld b,0f4h ; in a,(c) ; cpl ; ld (8083h),a ; ; store joy 12 ;/ 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 button 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
ld bc,7fb8h
out (c),c
ld c,00h ;digital-joystick-style bits ld a,(6808h) ;ADC0 ; analogue input channel 0+00h..+3Fh ;\ sub 1fh ;-1Fh..+20h ; cp 14h ; jp p,261fh261fh_RIGHT ;+14h..+20h ; cp 0ech ;-14h ; read analog joystick 1, jp m,2623h2623h_LEFT ;-1Fh..-15h ; X-axis (ADC0) jr 2625h2625h_X_DONE ;-14h..+13h ; 261f261f_RIGHT: ; set 3,c ;bit3=right (as on digital joy) ; convert to digital left/right jr 2625h2625h_X_DONE ; 26232623_LEFT: ; set 2,c ; ; bit2=left(as on digital joy) ; 26252625_X_DONE: ;/ ld a,(6809h) ;ADC0 ; analogue input channel 1+00h..+3Fh ;\ sub 1fh ;-1Fh..+20h ; cp 14h ; jp p,2639h2639h_DOWN ;+14h..+20h ; cp 0ech ;-14h ; read analog joystick 1, jp p,263bh263bh_Y_DONE ;-14h..+13h ; Y-axis (ADC1) 26342634h_UP: ;-1Fh..-15h ; set 0,c ;bit0=up (as on digital joy) ; convert to digital up/down jp 263bh263bh_Y_DONE ; 26392639h_DOWN: ; set 1,c ; ; bit1=down(as on digital joy) ; 263b263bh_Y_DONE: ;/ ld a,(8082h) ;joy1 ; joy 0 fire.\ 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