Derniers sujets
» Windows 10 DOSBOX & EUPHORIC
Aujourd'hui à 12:45 par maximus

» Capture d'écran (screenshot) en émulation
Aujourd'hui à 0:52 par laurentd75

» Blake's 7
Aujourd'hui à 0:48 par laurentd75

» Rencontre avec Emmanuel Viau (ERE informatique)
Aujourd'hui à 0:42 par laurentd75

» Tyrann III - RPG Oric 2015
Hier à 5:52 par didierv

» Orix : Thread de notification sur le développement
Sam 21 Oct 2017 - 10:56 par Jede

» L'immonde Docteur Kokus
Mar 17 Oct 2017 - 18:46 par Dom50

» Organisation RAM vidéo
Mar 17 Oct 2017 - 14:26 par Davros

» OVERLAYS : est-ce accessible avec LCC65
Lun 16 Oct 2017 - 14:47 par Jede

» Holdies
Dim 15 Oct 2017 - 21:09 par Dbug

Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités

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 123 membres enregistrés
L'utilisateur enregistré le plus récent est james64

Nos membres ont posté un total de 5729 messages dans 419 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 : 343
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 : 676
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 : 343
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 : 676
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 : 343
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