Difference between revisions of "Tennis Cup 2 (cartridge)"
(→Analog Joystick) |
(→Analog Joystick) |
||
Line 31: | Line 31: | ||
This games is pehaps the only one on Amstrad GX4000/Plus range to enable the use of an [[Analog Joysticks| Analog Joystick]], for the 2nd player. | This games is pehaps the only one on Amstrad GX4000/Plus range to enable the use of an [[Analog Joysticks| 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 | ||
+ | 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 | + | 261f: |
− | + | set 3,c ;; right | |
− | 2623 set 2,c | + | jr 2625h |
− | 2625 ld a,(6809h) | + | 2623: |
− | + | set 2,c ;; left | |
− | + | 2625: | |
− | + | ld a,(6809h) ;; analogue input channel 1 | |
− | + | sub 1fh | |
− | + | cp 14h | |
− | 2634 set 0,c | + | jp p,2639h |
− | + | cp 0ech | |
− | 2639 set 1,c | + | jp p,263bh |
− | 263b ld a,(8082h) | + | 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 keyboard is read to determine the state of the digital joysticks and the P button (pause button on gx4000 console). |
Revision as of 20:30, 2 February 2010
Contents
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
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 )