Amstrad Plus Index du Forum

Amstrad Plus
Découverte de la gamme Old et Plus des Cpc d'Amstrad.

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

*****Gestion Clavier (sans répétition)

 
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Programmation
Sujet précédent :: Sujet suivant  
Auteur Message
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Ven 12 Déc - 13:22 (2014)    Sujet du message: *****Gestion Clavier (sans répétition) Répondre en citant

Étant en train de développer un petit utilitaire pour Cpc/Cpc Plus, j'avais besoin d'une routine clavier qui puisse gérer la non-répétition des touches. Grâce à l'aide précieuse du Cpc Wiki j'ai pu terminer ma routine. Voilà ce que ça donne. Sait-on jamais. Ça pourrait peut être aider quelqu'un.
----------
Developping a new Cpc/Cpc Plus tool, i need a new keyboard routin which can do non-repetition Keys. I finished my routin with the precious help of Cpc Wiki. Here is the result. Maybe it could help someone lost in the dark.


Code:
main     ld b,#f5
         in a,(c)
       rra
         jr nc,main+2
;
         ld hl,oldstate
        ld de,currentstate
        ld bc,10                ; if you use all the keyboard lines
          ldir
;
Right
        ld d,0                   ; which line? d=Line 0
       call keyb               ; d=line / a=State (0=Nokey/1=KeyPressed)
         ld (oldstate+0),a    ; save OldState in line 0
         ld c,a                   ; save OldState in c
       ld a,(currentstate+0) 
      xor c
       jr z,Left                 ; if a=0 then left Key
;
        ld a,c                    ; take old state
        bit 1,a                   ; Bit 1=Right Key
        jr nz,Left                ; if key isn't pressed go to the next keyboard test
;
       call Code_Right        ;  Execute Code_Right
;
Left     
         ld d,1                     ; line 1
         call keyb
        ld (oldstate+1),a      ; save oldstate in line 1
...etc...













_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Dernière édition par Ast le Dim 19 Juil - 06:17 (2015); édité 2 fois
Revenir en haut
Publicité






MessagePosté le: Ven 12 Déc - 13:22 (2014)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Sam 13 Déc - 02:07 (2014)    Sujet du message: *****Gestion Clavier (sans répétition) Répondre en citant

Voici la matrice clavier, numéro de ligne, et numéro de bit à tester. Ca faisait longtemps que j'aurais du le faire.



Merci à QuasarNet pour le schèma.
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 22:17 (2017)    Sujet du message: *****Gestion Clavier (sans répétition)

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Programmation Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Panneau d’administration | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com