home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / nieuûytki / pckeybhack / doc / frenchdoc.txt < prev    next >
Text File  |  1996-06-16  |  11KB  |  305 lines

  1. Une carte postale, un mail, ou un petit cadeau...
  2.  
  3.  
  4. I. Introduction
  5. ---------------
  6.  
  7. Beaucoup d'utilisateurs d'Amiga veulent pouvoir connecter un clavier de PC sur
  8. leur machine. En 1991 Eric Rudolph a conçu une interface à base d'un micro-contrôleur
  9. Intel 8051 qui permettait une telle chose. Lorsque je lis les News Amiga je
  10. constate que peu de gens sont au courant ou que la description de ce montage
  11. semble un peu confuse. C'est pourquoi, ayant moi-même construit cette
  12. interface, je veux donner quelques explications supplémentaires.
  13.  
  14.  
  15. II. Ce qu'il vous faut !
  16. ------------------------
  17.  
  18. Il y a 2 problèmes différents:
  19.  
  20.     Les personnes qui ont déjà un clavier externes (A2000, 3000, 4000) pour
  21. qui seule l'interface micro contrôleur est nécessaire,
  22.  
  23.     Les personnes, qui comme moi ont un 1200, qui vont devoir d'abord rendre
  24. leur clavier externe.
  25.  
  26. Donc une ou deux étapes sont nécessaires suivant la machine.
  27.  
  28. Dans tous les cas il vous faut de la patience, de la méthode, un fer à
  29. souder, un Amiga, quelques composants électroniques bon marché et le plus
  30. compliqué une personne capable de vous programmer une eprom (c'est le seul
  31. point qui peut bloquer, le reste est à la porté de tous...).
  32.  
  33. En plus de cela je vous recommande les archives suivantes qu'on trouve sur aminet:
  34.  
  35.     A1200exkeyb.lha         (hard/hack)
  36.     editkeys.lha
  37.  
  38.  
  39. III. Ce que je propose en plus !
  40. --------------------------------
  41.  
  42. Pour les personnes qui ont 1200, la façon dont on peut rendre son clavier
  43. externe est décrite dans l'archive A1200ExtKeyb.lha. Ca me semble clair (avec
  44. un zoli schéma de l'intérieur du 1200).
  45. Une seule remarque de taille: je n'ai rien coupé sur mon 1200. En effet je
  46. n'ai pas deconnecté le clavier interne en coupant ou dessoudant les 2 pins
  47. citées dans l'archive, les 2 claviers cohabitent parfaitement sur ma machine
  48. mais pas forcément sur toutes...
  49.  
  50. Dans mon cas j'ai donc simplement soudé trois fils sur le CIA:
  51.  
  52.     le reset
  53.     le kb clock
  54.     le kb data
  55.  
  56. et j'ai récupéré le 5 volt et la masse sur le lecteur de disquette.
  57.  
  58. CONSEIL 1:
  59.     Le fait que certaines personnes soient obligées de déconnecter leur
  60. clavier interne en coupant les pistes (clock et data) montrent sans doute
  61. que ces signaux s'écroulent. Par conséquent je vous recommande d'utiliser du
  62. fil très fin et pas très long (dans mon cas du fil à wrapper de 15 à 20 cm
  63. de long).
  64.  
  65. CONSEIL 2:
  66.     Souder des fils sur du CMS ça peut être effrayant, dans ce cas, achetez un
  67. support pour le CIA , soudez les fils sur le support et montez le à l'envers 
  68. sur le circuit de votre machine si fragile.
  69.  
  70.  
  71. En ce concerne l'interface clavier PC je vous apporte:
  72.  
  73.     - un schéma electronique (l'original n'a qu'un long descriptif),
  74.     - un PCB de mon prototype (pas terrible vu le nombre de straps mais c'est du
  75.     simple face donc facile à faire, peu cher et ça marche et puis j'ai pas
  76.     le temps de faire mieux :),
  77.     - un binaire retravaillé mais qui ne gère que l'émulation PC/AT pour
  78.     alléger le programme (donc pas de clavier XT).
  79.     - des plus dans l'interface (clavier win95, reset auto).
  80.  
  81. CONSEIL 3:
  82.     Si vous n'êtes pas bricôleur évitez de bricoler ;)
  83.  
  84. CONSEIL 4:
  85.     Montez les circuits sur support (au moins le 8051 et l'eprom).
  86.  
  87.  
  88. Encore plus ...
  89. ---------------
  90.  
  91. Cette version vous offre la possibilité d'utiliser pleinement un clavier type
  92. AT 105 touches (les nouveaux windaube 95). Si vous mettez à l'état bas la pin
  93. 7 (p1.6) du 8051 (souder un fil entre cette pin et GND), le nouveau mapping
  94. sera:
  95.  
  96.     windows gauche : Amiga gauche
  97.     windows droit  : Amiga droit
  98.     menu windows   : Amiga gauche M (cycle les écrans)
  99.     control droit ou gauche : control.
  100.  
  101. Le mapping des touches supplémentaires que sont F11, F12, ...
  102. est décrit dans le fichier otherStuf.txt.
  103. Si celui-ci ne vous plait pas (quelle drôle d'idée) vous avez 2 solutions:
  104.  
  105.  - changer le code source et réassembler avant de brûler votre eprom (pour
  106. public averti).
  107.  - mettre à l'état bas la pin 8 (p1.7) du 8051, l'interface enverra alors
  108. des codes rawkey pour les touches en question:
  109.  
  110.  home        : 75
  111.  end   :     : 76
  112.  pageUp      : 77
  113.  pageDown    : 78
  114.  F11         : 79
  115.  F12         : 7a
  116.  printScreen : 7b
  117.  scrollLock  : 7c
  118.  
  119. Vous pourrez donc employer un programme externe pour intercepter ces codes et
  120. les convertir en ce que vous voulez :-) Un exemple simple (pas le temps de
  121. faire mieux) à des fins de test se trouve dans le répertoire "bonus".
  122. Si une personne écrit une commodité ou un handler plus évolué ;) qu'elle me
  123. fasse parvenir le source si possible.
  124.  
  125.  
  126. Et toujours plus ...
  127. --------------------
  128.  
  129. Bon, un certain nombre d'entre nous a des problèmes de démarrage à froid car
  130. le disque dur met du temps à se reveiller...
  131. La solution est donc de faire un reset après le premier démarrage...et c'est
  132. pénible, non ?
  133. Alors voilà, l'interface clavier vous offre désormais la possibilité de
  134. programmer un reset automatique après un certain délais, étonnant non ?
  135.  
  136. Si vous mettez à l'état bas une des pins du port p3 du 8051 (10à17) le
  137. miracle aura lieu.
  138. En fait le port p3 est vu comme un registre qui sert à déterminer la tempo
  139. avant le reset.
  140. La tempo est égale à !P3 * base de temps interne (environ 70 ms).
  141.  
  142. exemples:
  143.  
  144.  si aucun bit de p3 n'est à l'état bas (en l'air donc) alors pas de reset auto.
  145.  p3.6 = 0 (pin 16) on aura un reset après (64 * base) ms.
  146.  p3.6 = p3.5 = 0 (pin 15 et 16) on aura un reset après (64 + 32) * base ms.
  147.  
  148. Simple non ?
  149.  
  150. Dans mon cas la pin 16 est à gnd et je peux enfin laisser booter ma machine
  151. toute seule :-)
  152.  
  153.  
  154. IV Des explications:
  155. --------------------
  156.  
  157.  
  158. Seul un micro-contrôleur peut facilement décoder les frappes clavier avec le
  159. protocole PC et les recoder avec le protocole Amiga car il n'y aucune
  160. compatibilité entre les deux types de claviers malgré le brochages identiques
  161. de la fichue 5 broches !
  162. Le micro-contrôleur utilisé est bon marché, facile à trouver et je connais sa
  163. programmation bien que se soit de l'INTEL ;-)
  164.  
  165. La version avec eprom embarquée (8751) rends le montage beaucoup plus simple
  166. mais programmer une eprom est sans doute plus accessible à chacun. En effet
  167. un petit programmateur sait faire ça alors que pour programmer un 8751 il
  168. faut un programmateur universel ou bricôler...
  169. Personnellemnt dans ma phase de test j'ai utilisé une ram sauvegardée qui se
  170. substituait à l'eprom car, pour ceux qui ne le savent pas, une eprom se
  171. programme bien mais si ça va pas il faut 20 minutes aux UV pour tout effacer.
  172. La ram m'a affranchi de ce problème, c'est pourquoi mon prototype est
  173. toujours une version avec mémoire externe (c'est aussi dû au fait que j'ai pu
  174. récupérer un 8051 alors pourquoi acheter un 8751 ?, d'ailleurs j'ai rien acheté
  175. du tout:-). La solution eprom externe doit être de toute façon moins chère...
  176.  
  177. Mon schéma met en oeuvre une eprom de type 2732 (4k) mais mon binaire ne fait
  178. pas 2K octets donc on peut aussi utiliser une 2716 (2k). Pour cela il faut couper
  179. la piste qui va à la pin 21 de l'eprom et relier cette pin 21 avec la pin
  180. 24. Ce qui revient à mettre à l'état haut (5V) la pin 21 de la 2716 qui est
  181. la pin de programmation.
  182.  
  183. Ca doit marcher du premier coup sauf si vous avez inversé le kbclock et
  184. kbdata auquel cas vous avez ce caractère: "'", c'est pas grave permuttez.
  185.  
  186. Personnellement j'utilise en cet instant même un vieux clavier Tandon
  187. (en position AT) que je trouve infiniment mieux que le clavier du 1200.
  188.  
  189. Rappels:
  190. =======
  191.  
  192. J'ai changé certain mapping de touche pour être plus proche d'un clavier français.
  193.  
  194. Une astuce permet d'utiliser la touche capslock comme control si elle est appuyée
  195. avec une autre touche.
  196.  
  197. Pour les électroniciens:
  198. Sur mon schéma électronique (pcKeyshem.eps) ne figurent pas les alim. des
  199. circuits intégrés car elles sont placées automatiquement par le logiciel
  200. utilisé.
  201.  
  202.  
  203. Remarques concernant l'original (ibminterface.lha):
  204. =========
  205.  
  206. Attention le binaire fourni avec l'original n'est pas correct car il ne tient
  207. pas compte des sauts d'adresses que l'on peut trouver lorsque que l'on a un
  208. fichier hex du type adresse: data data data ...
  209. Le fichier hex lui doit être correct, je ne l'ai pas testé.
  210.  
  211. Le bouton qui sert au reset (et les composants associés) du micro-contrôleur
  212. n'est pas vraiment utile.
  213.  
  214. L'assembleur d'Eric est à manipuler avec précaution...
  215.  
  216.  
  217. V Conclusion
  218. ------------
  219.  
  220. Ceci existe simplement pour informer les personnes désireuses de brancher un
  221. clavier PC sur leur Amiga que cela est possible moyennant bricôlage. J'ai
  222. simplement voulu relancer la chose, et je suis donc disponible pour répondre
  223. à vos questions.
  224. En résumé construisez le montage décrit et servez vous du fichier hex ou bin
  225. pour programmer l'eprom, branchez et voilà.
  226.  
  227. Si le mapping des touches ne vous convient pas je vous recommande
  228. l'utilitaire editKey de David Kinder qui vous permet de faire votre propre
  229. keymap. J'ai inclus un keymap plus proche d'un clavier PC azerty (avec la
  230. mise en oeuvre des séquences altGr-touche).
  231.  
  232. Sont joins:
  233.  
  234.     doc/frenchDoc.txt        ( ce fichier)
  235.     doc/englishDoc.txt        ( to be or not to be )
  236.     doc/otherStuf.txt        ( ce qu'il faut et divers, un résumé quoi ! )
  237.     onlyAT.asm        ( le source d'Eric Rudolph grandement modifié )
  238.     onlyAT.hex        ( hex pour programmateur d'eprom au format hex )
  239.     onlyAT.bin        ( binaire pour programmateur d'eprom au format bin )
  240.     keymaps/fPC        ( keymap PC français)
  241.     bonus/simpleHandler.c    ( un peu de C amiga )
  242.     bonus/simpleHandler     (binaire amiga)
  243.     bonus/simpleHandler.txt (english doc)
  244.  
  245. et en plus mon travail sur PC au format EPS:
  246.  
  247.     shem/pcKeyPCB.eps     ( le PCB - Printed Circuit Board - )
  248.     shem/pcKeyshem.eps        ( enfin un schéma clair !!)
  249.     shem/pcKeyTop.eps    ( l'implantation des composants sur le PCB )
  250.  
  251. Le logiciel que j'ai utilisé (Protel) pour traiter les aspects électroniques
  252. tournent sur PC et je ne peux actuellement que vous fournir des fichiers
  253. encapsulés postscript (c'est déjà pas mal !) surtout pour le PCB où l'echelle
  254. est très importante.
  255. Donc si vous avez une application capable d'imprimer ce type de fichier tout
  256. va bien (en principe une imprimante postscript suffit), sinon dans un cas
  257. extrême envoyez moi une enveloppe A4 auto-adressée et affranchie pour trois
  258. feuilles et...on verra;-)
  259.  
  260.  
  261. *****************************************************************************
  262. Je décline toute responsabilité en cas de dégâts (je ne vous le souhaite pas).
  263. *****************************************************************************
  264.  
  265.  
  266.  
  267. Remerciements à:
  268.  
  269. Eric Rudolph pour avoir initié ce projet y-a si longtemps (je ne suis pas
  270. arrivé à le joindre)
  271. David Kinder pour son super editKeys,
  272. tous ceux qui ont exploré le 1200 pour trouver où patcher les lignes du
  273. clavier,
  274. moi-même pour avoir vaincu ma fainéantise pour vous faire partager mon
  275. expérience.
  276. ceux qui m'ont remercié;-)
  277.  
  278.  
  279. J'utilise la version enregistrée de l'éditeur 'FrexxEd', il est géant
  280. malgré l'abscence de consonnance métallique dans son nom; le support est
  281. super, merci donc aux auteurs.(Daniel Stenberg & Kjell Ericson)
  282.  
  283.  
  284. Existe-t-il un logiciel (Amiga) de cao électronique capable de gérer des
  285. projets du schéma jusqu'au routage ?
  286.  
  287.  
  288. FUTURE ?
  289.  
  290. Peut-être aucun, ou alors je réecrit tout en C ;).
  291.  
  292.  
  293. Une carte postale, un mail, ou un petit cadeau...(z'avez vu l'heure!)
  294.  
  295. le 6/6/96
  296.  
  297. Charles Da Costa
  298. 66, avenue du Vercors
  299. 38170 Seyssinet-Pariset
  300. FRANCE
  301.  
  302. dacosta@lag.grenet.fr
  303.  
  304. enjoy !
  305.