1

Hello,

Comme dit dans le titre, je vais montrer comment obtenir un layout proche du bépo.

Mais pourquoi donc ?
blabla
  • En ces temps modernes et les aléas de la vie, ma seule possibilité de replonger dans l'univers ST est l'émulation. cry
  • J'utilise le layout bépo au quotidien eek, et sans regarder classe car...
  • Mon clavier est un typematrix sans sérigraphie eeek

Bref, pour saisir un petit listing en gfa, je dois le faire dans un éditeur linux, puis convertir les sauts de lignes, démarrer l'émulateur, charger le listing -très lent- et... pas de chance si je dois corriger des erreurs, tester les touches une à une pour trouver le bon caractère... fou mur

Hatari propose un fichier de mapping mais basé sur les symboles linux de touches clavier (traduction : rechercher le nom symbolique de la touche dans un include perdu au fin fond d'une arborescence) et donc... j'ai laissé tombé.

Après quelques recherches, j'ai trouvé que ce serait plus simple de patcher la ROM (spoiler : et ça fonctionne) et de l'utiliser avec l'émulateur de son choix.

Un peu de théorie

J'ai découvert que le layout stocké dans la ROM du TOS est organisée en 3 tables :
  • code Ascii-Atari-ST correspondant aux touches sans shift ;
  • code Ascii-Atari-ST correspondant aux touches avec shift ;
  • code Ascii-Atari-ST correspondant aux touches avec capslock ;

Donc il suffit de patcher cette zone en remplaçant les correspondances.

Pour info, l'Ascii-Atari-ST :

Mode opératoire

Requis

  • Une ROM (p.ex. ma rom s'appelle "tos162fr.rom")
  • Un éditeur hexa
  • La liste des codes ascii-atari-st dans l'ordre des touches ligne par ligne, de haut en bas (je fournis ma version en fin d'article)

  1. on commence par dupliquer la rom pour travailler sur ce duplicata.
  2. on ouvre le duplicata dans l'editeur hexa
  3. on cherche "azerty", on tombe sur une zone qui ressemble à ce qu'on recherche (pour ma rom, je trouve la zone à l'offset $2A354.)
  4. On édite la table en s'aidant de la liste de code pré-établie -oui c'est fastidieux-
  5. On sauve la rom patchée, et on teste. [b]Veiller à ce que l'émulateur utilise les scancodes des touches, plutôt que les symboles (hatari)[/b]


Petit piège : habitué à voir la touche avec les symboles "supérieur" et "inférieur" en bas à gauche, j'ai cru que la dernière ligne était décalée d'un cran. En fait, les mappings pour "supérieur" et pour "inférieur" sont un peu plus loin, avant le mapping du pavé numérique. J'ai été bon pour une petite retouche.

Et voici ma map bépo. Comme il n'y a pas de mapping pour la touche "ALT", j'ai détourné la carte de la touche CAPSLOCK pour caser quelques caractères que je n'ai pas pu recaser ailleurs. J'ai isolé dans une dernière lignes les touches effectivement spécifiques en capslock, pour les autres j'ai repris le mapping des touches sans shift. Et pour gagner de la place en largeur, les codes ascii sont collés.

Map bépo version 1
* . . . . . . . . . . . . * * . . . . . . . . . . . . * * . . . . . . . . . . . * * . . . . . . . . . . . * * * . 
  " # $ ( ) @ + - / * = %     b é p o è \ v d l j z w     a u i e , c t s r n m     à y x . k ' q g h f ç         
  2223242829402b2d2f2a3d25    6282706f8a5c76646c6a7a77    617569652c637473726e6d    8679782e6b277167686687      20
* . . . . . . . . . . . . * * . . . . . . . . . . . . * * . . . . . . . . . . . * * . . . . . . . . . . . * * * . 
  1 2 3 4 5 6 7 8 9 0 | &     B É P O œ ! V D L J Z W     A U I E ; C T S R N M     À Y X : K ? Q G H F Ç       _ 
  313233343536373839307c26    4290504fb42156444c4a5a57    415549453b435453524e4d    b659583a4b3f5147484680      5f
* . . . . . . . . . . . . * * . . . . . . . . . . . . * * . . . . . . . . . . . * * . . . . . . . . . . . * * * . 
  " < > [ ] ^ + - / * = %     b é p o Œ \ v d l j z w     æ ù ï Æ , © t s ® n m     à { } . ~ ' q g h f ç         
  223c3e5b5d5e2b2d2f2a3d25    6282706fb55c76646c6a7a77    91978b922cbd7473be6e6d    867b7d2e7e277167686687      20
* . . . . . . . . . . . . * * . . . . . . . . . . . . * * . . . . . . . . . . . * * . . . . . . . . . . . * * * . 
    < > [ ] ^                         Œ                   æ ù ï Æ   ©     ®           { }   ~                     
    3c3e5b5d5e                        b5                  91978b92  bd    be          7b7d  7e                  20
(pour mémoire, touche spécifiques à Caps Lock)

2

Bravo ! Ca mériterait bien une vidéo smile
avatar
Abonnez-vous à ma chaîne Vretrocomputing sur YouTube et Facebook. Dernière vidéo : Désactiver le bip clavier en assembleur sur Atari ST.

3