MSX Village forum

L'atelier Clavier de remplacement pour Sony HB-F500 PS/2 ou USB

6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 19/08/2017 à 12h20
Je vous propose d'étudier une solution de remplacement de clavier pour les Sony HB-F500 (peut être compatible avec d'autres modèles) .


Je voudrais commencer par comprendre le fonctionnement interne au MSX de la gestion du clavier, ensuite comprendre le protocole d'échange avec le clavier et pour finir proposer une solution moderne (si j'y arrive) :lol


le diagramme extrait du manual service, sur lequel j'ai surligné les liaisons entre le clavier et l'UC plus particulierement le MSX engine S3527.
J'ai 2 questions sur cette partie :
- le signal CS qui part vers le clavier ???
- X6 relié au reset ???
Et pour finir La petite note concernant Y10/SK ???



La partie schéma:



la partie clavier :
le signal CS arrive sur un 74LS175 broche CP.


Les 13 pins du connecteur clavier :
1 : KANA (led caractères japonais on/off)
2 : CAP (led majuscule on/off)
3-10 : KD0-7 (données 8 bits)
11 : CS (sélection du sens des données ??? )
12 : +5V
13 : GND


Si j'ai bien compris :

- KD0-7 donnèes
- KD4-7 sélection de la colonne lorsque CS est actif
- CS permet d'activer une colonne

Donc lorsque CS est actif on lit le numéro de la colonne à activé dans KD4-7 et lorsque CS est inactif on renvoi la valeur de la colonne dans KD0-KD7 ???

edit= grâce à la bascule 74ls175 la colonne reste active ce qui permet de pouvoir lire la colonne lorsque CS est inactif :p
Par contre je n'ai pas trouvé les chronogrammes concernant CS :(



Si vous avez des idées et des propositions de solutions ?



N'hésitez pas à faire des commentaires et à me rectifier si j'ai commis une erreur d'interprétation, pour moi les schémas sont encore un epu compliqué à comprendre du premier coup :oups
Edité par 6502man Le 19/08/2017 à 12h38


Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10333

Le 19/08/2017 à 16h11
pour le X6 relié au reset c'est bien expliqué dans la doc du S3527 c'est pour avoir le SLOT 0 étendu


:noel
Site web    
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 19/08/2017 à 17h23
Ca à un rapport avec la gestion du clavier le SLOT 0 étendu ???

Sinon j'ai vu sur les schéma du HB-F700, HB-F900 et HB-G900 ont la même connectique clavier et la même gestion côté clavier :D
Donc les claviers sont interchangeable entre ces différents modèles :noel

Il me reste un point à éclaircir sur la gestion du clavier, c'est le délai entre 2 changements de colonnes ??? Edité par 6502man Le 19/08/2017 à 17h27


Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10333

Le 19/08/2017 à 18h13
non c'est la gestion des slots du MSX qui est prévu dans le S3527 par les diodes sur X6 ou X7

soit le slot 0 étendu , soit le slot 3 étendu

le clavier est multiplexé d'ou la complexité a suivre le schéma

on lit et on écrit par les même fils et c'est le signal /CS qui aiguille lecture ou écriture

il y a 8 bits en lecture 4 direct et 4 multiplexés avec l'écriture qui sont décodés de Y0 a Y9 par IC2 LS145

voir schéma CN110 CN110 KEY pour le HB5000


:noel
Site web    
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 19/08/2017 à 20h34
Donc c'est bien ce que j'avais compris KD0-7 pour les données et CS pour la direction.

Je pense procéder comme ca avec un Arduino pour un premier test dans la semaine prochaine :

J'attend que CS soit actif et que la colonne corresponde à 1 (c'est arbitraire j'aurais pu prendre 0 ou 2 ..) et dès que CS n'est plus actif j'envoi la valeur de la colonne .
Si ca fonctionne correctement et qu'a tous les coup la lettre affiché correspond bien à cette colonne, je passe à la suite avec un clavier PS/2 ou USB.

J'ai quand même un doute sur la rapidité de l'Arduino à lire et écrire dans un interval assez court ...





Site web    
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5792

Le 19/08/2017 à 21h49
Normalement, hormis la sérigraphie, qwerty, azerty,...,kanji, ce sont des claviers quasi identique car il y a quand même une différence de touches, donc de matrice . Par exemple entre le clavier HBG900Ap qwerty et le clavier HBG900Ap azerty, y'a une touche accent à côté du shift droit.

De haut en bas HBF700F azerty,HBG900p ou HBG900Ap qwerty, et HBF500p qwerty (mais en réalité c'est celui d'un HBF700p car il a le sigle Hitbit)

Donc les claviers sont interchangeables entre les HBF500, T600, F700, F900, G900 (p et Ap)
Et je pense que les HBF5 et HBF9 doivent avoir un clavier proche Edité par TurboSEB Le 19/08/2017 à 22h15



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
metalgear2 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 27/11/2010 à 23h40

Messages: 2768

Le 21/08/2017 à 22h39
Bonsoir,

Est-ce que quelqu'un connaitrait ou aurait des infos sur l'emplacement de la partie qui gère le clavier dans une MAINROM ?

Merci.



Mon site consacré au MSX : http://mymsx2.free.fr
Site web    
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 22/08/2017 à 08h12
C'est une piste intéressante car dans ce cas ont pourrais modifier la ROM pour utiliser un autre PORT et ne pas être obligé aussi d'utiliser le connecteur clavier :siffle


Site web    
metalgear2 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 27/11/2010 à 23h40

Messages: 2768

Le 22/08/2017 à 17h03
Bonjour,

@Jipe : Aurait une idée de la valeur des ports qui sort en Y0 , Y1 , Y6 et Y7 :hum

Merci.




Mon site consacré au MSX : http://mymsx2.free.fr
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10333

Le 22/08/2017 à 17h20
le probleme n'est pas dans la rom mais dans le composant de base qui gére le clavier
le PPI 8255
le port B A9 sert a la lecture du clavier
le portC AA bit 0 a 4 lecture du clavier

sinon les appels bios sont :
138H
13BH
141H
9FH

voir assembleur et périphériques des MSX pour plus de détail


:noel
Site web    
metalgear2 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 27/11/2010 à 23h40

Messages: 2768

Le 22/08/2017 à 17h27
Je suis d'accord avec toi que le port B[7..0] et le port C[3..0] sert pour le clavier + la sortie du port C[6] qui sert pour la LED capslock.

Ce que je cherche a comprendre, c'est qui envoi la commande au PPI pour faire reconnaitre les ports du clavier, c'est pas une partie d'un programme dans la MAINROM au boot :hum

EDIT :

Citation :
voir assembleur et périphériques des MSX pour plus de détail

J'avais déjà chercher dans le wiki, mais il manque plusieurs doc qui ont disparues :'( Edité par metalgear2 Le 22/08/2017 à 17h32



Mon site consacré au MSX : http://mymsx2.free.fr
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10333

Le 22/08/2017 à 17h56
pour les ports
Y0 80
Y1 88
Y6 B0
Y7 B8

les roms ne sont pas identiques seuls les appels au bios sont fiable

le PPI doit être initialisé au boot

il faut chercher dans un datasheet de 8255 PPI les commandes a envoyer et rechercher les ports dans la rom


:noel
Site web    
Franck Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 22h54

Messages: 3295

Le 22/08/2017 à 18h03
   
metalgear2 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 27/11/2010 à 23h40

Messages: 2768

Le 22/08/2017 à 18h03
Merci pour les ports :top

J'avais aussi remarqué que certaines ROM n'étaient pas pareils, ça c'est un truc que je n’ai jamais compris ... un MSX1 est un MSX1 !!!!!

Citation:
le PPI doit être initialisé au boot

C'est exactement ce que je cherchais :top




Mon site consacré au MSX : http://mymsx2.free.fr
Site web    
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 22/08/2017 à 18h09
Oui il faut initialiser les 3 ports du PPI au boot, mais c'est forcement dictée par la configuration hardware !
Donc tous les MSX aurons la même configue :hum

Si j'ai bien compris le clavier est lu sur le port B du PPI, et les bits 0-3 du port C interroge le numéro de colonne .


Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie