Derniers sujets
» Photocopies
Ven 24 Mar 2017 - 9:44 par Symoon

» microdisc maison...
Mer 22 Mar 2017 - 17:38 par ]0[v]

» F83-Standard par Thierry Bestel
Mer 22 Mar 2017 - 14:11 par ]0[v]

» Revues
Ven 17 Mar 2017 - 11:40 par Oric1-Atmos

» connecteur 12 broches sur atmos
Jeu 9 Mar 2017 - 8:57 par Oric1-Atmos

» Toujours plus vite...
Mer 8 Mar 2017 - 19:32 par Symoon

» CEO-MAG 323
Mer 8 Mar 2017 - 6:54 par Symoon

» Jeu: Saga du Dr Genius
Mar 7 Mar 2017 - 22:41 par maximus

» 1984 - Il était une fois l'Aigle d'OR
Sam 4 Mar 2017 - 20:25 par maximus

» CEO-Mag 322
Dim 26 Fév 2017 - 19:32 par didierv

Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion

Récupérer mon mot de passe

Statistiques
Nous avons 115 membres enregistrés
L'utilisateur enregistré le plus récent est Oric1-Atmos

Nos membres ont posté un total de 5186 messages dans 365 sujets
Portail ORIC




Simuler le clavier

Voir le sujet précédent Voir le sujet suivant Aller en bas

Simuler le clavier

Message  Symoon le Sam 21 Juin 2014 - 16:40

Bonjour,
Je me casse la tête à essayer de simuler un CTRL P puis un CTRL R dans le moniteur d'Euphoric, afin de déclencher et tracer une commande (que je cherche à analyser) dans un programme (NIBBLE pour ne pas le nommer: je cherche à trouver la routine de lecture d'une piste, qui semble plus fiable que celle de Sedoric).

L'an dernier j'avais pensé avoir trouvé, mais ça n'a marché qu'une ou deux fois et plus jamais après, donc j'imagine que ce n'est pas bon... Voilà ce que j'avais mis comme valeurs en mémoire de l'Oric:
$0208 $9D (je ne sais plus pourquoi, qqchose à voir avec la matrice clavier)
$0209 $A2 (pour la touche CTRL)
...
$02DF $D0 (soit $50, valeur hexa de code ASCII "P", avec le bit 7 positionné à 1).

Si quelqu'un a la moindre idée de comment procéder... J'avoue que j'atteins mes limites !
avatar
Symoon

Messages : 261
Date d'inscription : 26/04/2014

Revenir en haut Aller en bas

Re: Simuler le clavier

Message  Dom50 le Sam 21 Juin 2014 - 17:36

Salut Simon,
c'est ce que j'allais te répondre Smile  ( 208, 209 , 2DF) Mais cela ne marche que si le programme teste le clavier de manière "rustique".
Les programmes plus "fins" testent directement la matrice clavier. Dans ce cas, le contenu de 208,209,2DF, ne les intéressent pas  Smile 
Tu devrais chercher dans le code l'emplacement de la routine de scrutation du clavier. (qui doit orienter le programme vers la routine que tu cherches lorsque les bonnes touches sont enfoncées)
Pour cela recherche :
LDA#$2
LDX#EF
(Touche Ctrl à l'intersection de la ligne 2 et de la colonne 4 ( EF en logique négative (bit 4 à 0)))
puis pas très loin derrière ...
LDA$300
AND#$08
(lecture du port B du VIA et test du bit 3 )
Le P est à l'intersection de la ligne 5 et de la colonne 3 , le code devrait ressembler à
LDA#$05
LDX#$F7
Le R : ligne 1 colonne 2
LDA#$01
LDX#$02

Mais pour plus de clarté, le mieux est de relire l'exellent article de ... qui déjà ? "Endurace, ballade dans le code" page 9 du CEO MAg 87_88 de juillet Aout 1997.

Cela ne nous rajeunit pas  Very Happy 
avatar
Dom50

Messages : 620
Date d'inscription : 06/12/2012
Localisation : Normandie

Revenir en haut Aller en bas

Re: Simuler le clavier

Message  Symoon le Sam 21 Juin 2014 - 20:12

Merci pour la réponse !
J'y ai perdu mon latin (et mon après-midi Wink ) mais j'ai trouvé me^me si c'est un peu brouillon.

Je pense qu'on a quand on saisit CTRL R (par exemple):
- code ASCII $52 pour R, augmenté de 128 (je ne sais pas/plus pourquoi, c'est une déduction), on est donc à $D2
- (déduction) la touche CTRL doit mettre le bit 6 à 0, donc on est à $92
- la routine de saisie du caractère (celle de la ROM) met le bit 7 à 0, on est donc à $12, stocké dans 2DF
- le programme va comparer ce caractère saisi à une liste de codes ASCII auxquels il ôte $40
- donc quand il tombe sur $12 = $52 - $40, il déclenche la commande.

A la place des deux premiers points, c'est peut-être la touche CTRL qui met les bits 6 à 0, et 7 à 1. Je ne sais pas.

Ouf... Dans les recherches j'ai fait Sedoric à Nu, l'Oric à Nu, et l'article de Fabrice Broche sur le clavier dans Micr'Oric 6 (puis ton article, Dom). J'ai parcouru en diagonale donc je peux me tromper, mais je n'ai vu nulle part cette info simple sur l'incidence de la touche CTRL sur la valeur du code ASCII dans 2DF !
Je ne sais pas si c'est universellement vrai, mais là ça marche: quand je mets $92 en 2DF, la commande est déclenchée Smile
Maintenant, je n'ai plus qu'à décortiquer la routine de chargement d'une piste dans Nibble, pour voir pourquoi elle ne produit quasiment pas d'erreur, contrairement à celle de Sedoric... Rendez-vous en 2035 !
avatar
Symoon

Messages : 261
Date d'inscription : 26/04/2014

Revenir en haut Aller en bas

Re: Simuler le clavier

Message  Dom50 le Sam 21 Juin 2014 - 21:01

Ah oui, j'avais oublié l'article de Fabrice Broche. Pourtant j'avais dans un coin de ma mémoire ce schéma "électrique"  simplifié d'explication de la matrice clavier. Je l'ai cherché dans Théoric, mais pas dans microric.

Sinon, Gilles Bertin dans "au coeur de l'oric Atmos" dit, page 27 que "2DF contient le code ASCII+128 de la dernière touche pressée"

J'ai tapé le petit programme de test suivant pour vérifier... et c'est vrai. 2DF contient bien  ce que dit Bertin.
Pas besoin d'appuyer sur Ctrl.

10 REPEAT
20 PRINT"2DF=";HEX$(PEEK(#2DF)),"209=";HEX$(PEEK(#209))
30 UNTIL PEEK(#208)=#84

(Appuyer sur -Espace- arrête la boucle.)
avatar
Dom50

Messages : 620
Date d'inscription : 06/12/2012
Localisation : Normandie

Revenir en haut Aller en bas

Re: Simuler le clavier

Message  Symoon le Sam 21 Juin 2014 - 21:09

Merci Dom, toujours rapide comme l'éclair Wink
Donc CTRL met bien le bit 6 à 0 dans 2DF et rien d'autre !
Reste SHIFT et FUNCT pour les curieux mais attention je ne vois pas comment deviner simplement ! J'ai trouvé le -$40 parce que c'était dans le code de Nibble... Il faudrait un genre de programme en interruption qui affiche en permanence à l'écran la valeur de 2DF.
avatar
Symoon

Messages : 261
Date d'inscription : 26/04/2014

Revenir en haut Aller en bas

Re: Simuler le clavier

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum