Derniers sujets
» Construire un authentique oric de toutes pièces
Simuler le clavier EmptyHier à 18:52 par Jede

» ORIC ATMOS sur LE BON COIN
Simuler le clavier EmptySam 18 Mai 2019 - 21:17 par kenneth

» la chaine Retrovision
Simuler le clavier EmptySam 18 Mai 2019 - 17:10 par kenneth

» Visu d'été ?
Simuler le clavier EmptySam 18 Mai 2019 - 11:15 par Symoon

» Aux couleurs de l'Atmos
Simuler le clavier EmptySam 11 Mai 2019 - 18:20 par Moonchild

» Le Château maudit
Simuler le clavier EmptySam 11 Mai 2019 - 16:31 par Dom50

» Citadelle V2
Simuler le clavier EmptyJeu 9 Mai 2019 - 8:27 par markerror

» rs
Simuler le clavier EmptySam 4 Mai 2019 - 17:46 par Symoon

» La tour fantastique . The diabolical tower
Simuler le clavier EmptyVen 3 Mai 2019 - 17:01 par Dom50

» Telestrat en panne?
Simuler le clavier EmptyJeu 2 Mai 2019 - 18:25 par Symoon

» Alim pour l'Oric a réaliser sois-même.
Simuler le clavier EmptyMar 30 Avr 2019 - 11:02 par froggy

» Scans programmes Oric
Simuler le clavier EmptyMar 30 Avr 2019 - 10:38 par markerror

» Le secret de Kaipur
Simuler le clavier EmptyLun 29 Avr 2019 - 19:22 par kenneth

» Tyrann
Simuler le clavier EmptyLun 29 Avr 2019 - 13:14 par Camille2005

» Enfer !
Simuler le clavier EmptyDim 28 Avr 2019 - 15:35 par Silicebit

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

Nos membres ont posté un total de 7148 messages dans 616 sujets
Portail ORIC




Simuler le clavier

Aller en bas

Simuler le clavier Empty Simuler le clavier

Message par 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 !
Symoon
Symoon

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

Revenir en haut Aller en bas

Simuler le clavier Empty Re: Simuler le clavier

Message par 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 
Dom50
Dom50

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

Revenir en haut Aller en bas

Simuler le clavier Empty Re: Simuler le clavier

Message par 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 !
Symoon
Symoon

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

Revenir en haut Aller en bas

Simuler le clavier Empty Re: Simuler le clavier

Message par 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.)
Dom50
Dom50

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

Revenir en haut Aller en bas

Simuler le clavier Empty Re: Simuler le clavier

Message par 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.
Symoon
Symoon

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

Revenir en haut Aller en bas

Simuler le clavier Empty Re: Simuler le clavier

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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