INCLUDE EQMON Appel des equates. TTL MONITEUR MO5: PRIMITIVE JOYSTICK SECT JOYSTI * ***** VERSION HARD MO5 * *************************************************************** * J O Y S T K * * * * Objet: primitive de traitement des joysticks * * Parametres entree: A=numero du joystick [0,1] * * Resultats joystick: dans B de 0 (etat neutre) a 8 dans * * le sens des aiguilles d'une montre. * * 1=N, 2=NE, 3=E, 4=SE, 5=S, 6=SW, 7=W, 8=NW * * Resultat joystk : dans CY =0 gachette au repos * * =l gachette enfoncee * * L'extension joystick est branchee sur un 6821 : * * joystick 0 joystick 1 * * BITS 0,1,2,3 PORT A - BITS 4,5,6,7 PORT A * * TRIGGER : BIT6 PORT B - TRIGGER : BIT 7 PORT B * * EXTENSION IT : CA1 - EXTENSION IT : CA2 * *************************************************************** INTERN JOYSTK JOYSTK EQU * LDB PRA1-PRA,U Port joystick TSTA 0 = joystick 0, 1 = joystick 1 BEQ SUIT10 No 0 LDA #$40 No 1 LSRB LSRB LSRB LSRB BITS 7,6,5,4 --> 3,2,1,0 SUIT10 EQU * ANDB #$0F LDX #TABJOY-5 La valeur minimum contenue dans B est 5. LDB B,X B contient la lecture du joystick STB 4,S Sauvegarde dans la pile pour le RTI final ADDA #$40 A=$80 si joystick 1, $40 sinon. ANDA PRB1-PRA,U Test du bit 7 ou 6 du port B (Trigger) CMPA #1 Si A=0 on positionne la cari(gachette enfoncee) RTS sinon elle reste a zero. * ***** TABLE DE CORRESPONDANCE DES VALEURS POSITIONNELLES * TABJOY EQU * FCB $04,$02,$03,$00,$06,$08,$07,$00,$05,$01,$00 * * 0=N, 1=S, 2=W, 3=E END