Éviter les conflits de clavier, touches fantômes ou forcées...Je ne sais pas si certains d'entre vous ont des souvenirs de jeux à plusieurs sur CPC (Target Renegade, IK+, Panza Kick Boxing) mais il arrivait parfois que notre personnage se bloque et le copainvoyant ça (alors qu'il était en train de perdre), faisait exprès d'appuyer sur le plus de touches possibles pour nous faire suer. Et bien ce qu'il faut savoir, c'est que si trois touches enfoncées forment le début d'un rectangle, la quatrième touche manquante est considérée comme enfoncée. On va s'écrire un petit programmequi met ça en évidence avec un vrai CPC et certains émulateurs (dans ACE ça s'active ou se désactive via F12 / Keyboard / Keyboard clashes). Si vous êtes sur émulateur, vous aurez en plus àbatailler avec votre propre clavier de PC qui n'est peut-être pas capable d'envoyer toutes les touches simultanément, il vous faudra un clavier dit "gaming" avec une technologie anti-ghostingou n-key rollover. | La technologie anti-ghosting [Extrait de Max E-Sport] La technologie anti-ghosting repose donc logiquement sur le fait que les claviers gamer ne peuvent pas se verrouiller ou créer des actions non demandées même en appuyant sur plusieurs touche en simultanés. Même si de nombreux claviers gamer sont dotés de cette technologie tu devras lors de ton choix tout de même te référer à la mention « Key Rollover » qui t';indiquera le nombre de touches pouvant être activé en simultanément comme par exemple 10KRO ou 5KRO. Nous te conseillons grandement d';opter pour un clavier « N-Key Rollover » (NKRO) qui signifie tout simplement qu';il n';y a pas de limites de touches et qu';il ne souffre en aucun cas du phénomène de ghosting. C';est le type de clavier le mieux optimisé pour du gaming ! (ndlr : Et l'émulation bien sûr!) |
Et le petit programme qui affiche l'état de chaque touche du clavier sur CPC/Plus buildsna bankset 0org #100 run #100 ld bc,#7F80+%1101 : out (c),c ; mode 1 LaBoucle call lectureMatriceClavier ld hl,#C000 ld de,matriceClavier ld b,10 afficheLigne push hl ld c,8 ld a,(de) : inc de ; lire la ligne dans le buffer clavier afficheBit add a ld (hl),%1111 : jr c,Non : ld (hl),%11110000 : Non inc hl : inc hl dec c jr nz,afficheBit pop hl ld a,l : add 80 : ld l,a : ld a,h : adc 0 : ld h,a ; plus loin dessous djnz afficheLigne WaitVBL ld b,#F5 .noVBL in a,(c) : rra : jr c,.noVBL .VBL in a,(c) : rra : jr nc,.VBL jp laBoucle lectureMatriceClavier ld hl,matriceClavier ld bc,#f782 out (c),c ld bc,#f40e ld e,b out (c),c ld bc,#f6c0 ld d,b out (c),c out (c),0 ld bc,#f792 out (c),c ld a,#40 ld c,d .loop ld b,d out (c),a ; sélectionner la ligne ld b,e ini ; lire et stocker dans notre tableau inc a inc c jr nz,.loop ld bc,#f782 out (c),c ret matriceClavier defs 10,#FFEn visuel (zoom sur l'écran, recadré), vous avez la matrice clavier, allant de la ligne 0 à la ligne 9 (en bas), les bits forts sont à gauche 
Si vous appuyez sur les trois touches D, I, K et que vous n'avez pas activé les conflits de touche, vous aurez ceci à l'écran 
Avec un véritable CPC ou un émulateur qui gère le keyclash, vous aurez ceci à l'écran 
Et si votre clavier de PC est un mauvais clavier, il vous sera impossible d'activer autant de touches en même temps 
Ceci étant dit, regardez bien la matrice, le curseur est concentré sur les bits 0,1 et 2 mais trois des quatre directions du joystick aussi!Si vous devez concevoir un jeu qui se joue à plusieurs, préférez QAGH+espace par exemple pour bien distinguer ces touches de l'attribution joystick (ou du curseur!) Vous pouvez aussi faire un curseur sur le pavé numérique avec F1,F2,F3,F5 et F0 pour le feu. Bref, je vous remets la matrice ci-dessous et laisse libre cours à votre imagination pour proposer quelque chose de sympa à vos futurs joueurs ;) Matrice Amstrad du clavier AZERTY Français de France mais pas de Navarre Bit: Ligne | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | #40 | F Dot | Entrée | F3 | F6 | F9 | Curseur Bas | Curseur Droite | Curseur Haut | | #41 | F0 | F2 | F1 | F5 | F8 | F7 | Copie | Curseur Gauche | | #42 | Contrôle | $ @\ | Shift | F4 | # > | Retourne | * < | CLR | | #43 | : / | = + | M | ù % | P | ^ ¦ | ) [ | - _ | | #44 | ; . | , ? | K | L | I | O | ç 9 | à 0 | | #45 | Espace | N | J | H | Y | U | è 7 | ! 8 | | #46 | V | B (Joy2 fire3) | F (Joy2 fire2) | G (Joy2 fire1) | T (Joy2 right) | R (Joy2 left) | ( 5 (Joy2 down) | ] 6 (Joy2 up) | | #47 | X | C | D | S | Z | E | " 3 | ' 4 | | #48 | W | CAPS-LOCK | Q | TAB | A | Échappe | é 2 | & 1 | | #49 | DEL | Joy1 fire3 | Joy1 fire2 | Joy1 fire1 | Joy1 right | Joy1 left | Joy1 down | Joy1 up |
Roudoudou CPCrulez[Content Management System] v8.732-desktop Page créée en 395 millisecondes et consultée 24 foisL'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko. |
|