Atari Eiffel 3 Interface PS/2






EIFFEL, une interface PS/2 libre clavier et souris pour Atari

Licence: Ce produit est libre, GPL appliqué au matériel. Vous êtes libre de le fabriquer et l'utiliser sans restrictions.


English


Caractéristiques

Cette interface prend en charge tous les claviers et souris PS/2:

Le programme de configuration de Eiffel...



Archive Version Taille Ordinateur
Eiffel 1.10 eiffel.lzh 1.10 6 Mar 2005 524 Ko Atari ST(E) / Falcon / TT, pour les cartes de Laurent et de Lyndon
English/French/German RSC, doc HYP sur nouveau E_TEMP.PRG
Eiffel 1.0.9 eiffel109.lzh 1.0.9 24 Oct 2004 355 Ko Atari ST(E) / Falcon / TT, pour les cartes de Laurent et de Lyndon
Eiffel 1.0.6 eiffel106.lzh 1.0.6 31 Mai 2004 167 Ko Atari ST(E) / Falcon / TT
Firmware spécial 1.0.6 firmware.zip 1.0.6 13 Juin 2004 7 Ko Atari ST(E) / Falcon / TT, Debug enlevé (RB4/5) pour les cartes de Lyndon


Eiffel firmware v1.10

Cette version possède les caractéristiques suivantes:


Eiffel firmware v1.0.9

Cette version possède les caractéristiques suivantes:


Eiffel firmware v1.0.8

Cette version possède les caractéristiques suivantes:


Eiffel firmware v1.0.7

Cette version possède les caractéristiques suivantes:


Eiffel firmware v1.0.6

Cette version possède les caractéristiques suivantes:


Eiffel firmware v1.0.5

Cette version possède les caractéristiques suivantes:


Eiffel firmware v1.0.4

Cette version possède les caractéristiques suivantes:

Vous avez besoin d'une nouvelle carte si vous voulez utiliser ces nouvautées: http://hardware.atari.org


Eiffel firmware v1.0.3

Cette version possède les caractéristiques suivantes:


Description technique

Eiffel utilise un assez puissant micro-controlleur, un PIC16F876. Vous pouvez trouver une documentation complète sur le site de microchip.
Un programme tout spécialement écrit pour ce dernier, permet de prendre en charge à la fois le clavier et la souris PS/2, c'est à dire généralement avec une prise mini DIN 6 points. Principalement, le logiciel converti le protocole série synchrone PS/2 vers le protocole asynchrone en vigueur sur Atari, traduit tout les scan-codes du clavier PS/2 vers des scan-codes Atari équivalents; et enfin converti les trames de la souris PS/2 en paquets d'octets au format Atari voir avec un supplément pour la ou les molettes et boutons 3, 4 et 5.

Clavier:

Toutes les touches PS/2 sont mappées sur un scan-code équivalent Atari. De plus comme ces claviers disposent de touches supplémentaires comme Win Gauche, Droit, Touche Application , etc... de nouveaux scan-codes laissés sans affectation par Atari ont été utilisés. A l'inverse, certaines touches n'existent que sur Atari, il a donc fallu les affecter sur d'autres touches PS/2. Cela est le cas pour HELP et UNDO:

L'adaptateur est aussi responsable de l'allumage des LEDs, comme allumer et éteindre la LED CAPS LOCK, d'allumer la LED VERR. NUM. qui désormais a la signification de témoin de mise sous tension. La touche VERR NUM bien que n'allumant plus la LED correspondante, est néanmoins utilisable et reconnue du coté Atari comme toutes les autres touches.

Depuis la version 1.0.7, Eiffel n'a plus besoin de pilote pour simuler des scan-codes differents pour chaque touche. Il peut affecter directement par des tables utilisateur (des .inf) suivant chaque pays, les caractères suivant l'état Shift, Alternate et Normal.
Par exemple pour obtenir le caractère "{" sur Atari vous effectuez la combinaison SHIFT+ALT+"{", mais sur votre nouveau clavier PS/2, ce même caractère n'est pas du tout accessible comme cela mais sur la touche ALT+"4"...

La souris:

La souris fonctione immédiatement avec Eiffel, et ce quelque soit la souris. L'interface est capable de gérer les souris PS/2 standard, à 2 et 3 boutons, et IntelliMouse à une ou deux molettes et avec 3 à 5 boutons. Les deux boutons de même géographie que sur la souris Atari conservent les mêmes fonctions tandis que les boutons 3 à 5 sont complètement nouveaux.

Pour profiter des nouveaux organes de ces souris, se trouve pour les mouvements Haut/Bas et gauche/Droite des molettes quatres scan-codes claviers précédement libres et pour les trois boutons supplémentaires ègalement de nouveaux scan-codes. Cela est par défaut, ces codes sont programmables avec le programme EIFFELCF.APP.

Table des nouveaux scan-codes:

Voici la liste exhaustive des nouveaux scan-codes utilisés par Eiffel et leur affectation. De cette manière vous pouvez les utiliser dans vos programmes et tirer profit de nouvelles touches ou molette souris ou bien écrire un driver...

Touches jeu 2 (AT) et jeu 3 (PS/2) Atari scan-code firmware v1.0.3 et + Atari scan-code firmware v1.0.8 et +
ALT GR ALT par défaut, programmable ALT par défaut, programmable
F11 HELP par défaut, programmable HELP par défaut, programmable
F12 UNDO par défaut, programmable UNDO par défaut, programmable
SCROLL LOCK $4C par défaut, programmable $4C par défaut, programmable
PAGE UP  $45 par défaut, programmable $45 par défaut, programmable
PAGE DOWN $46 par défaut, programmable $46 par défaut, programmable
PRINT SCREEN  $49 par défaut, programmable $49 par défaut, programmable
PAUSE $4F par défaut, programmable $4F par défaut, programmable
VERR NUM $54 (F11 Atari) par défaut,
programmable
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $54
END $55 (F12 Atari) par défaut,
programmable
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $55
LEFT WIN $56 (F13 Atari) par défaut,
programmable
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $56
RIGHT WIN $57 (F14 Atari) par défaut,
programmable
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $57
WIN APP $58 (F15 Atari) par défaut,
programmable
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $58
Touche <²> à coté du <1> (Russe "ë") $5B (F18 Atari) par défaut,
programmable
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $5B
Touches jeu 2 (AT) Atari scan-code firmware 1.0.0 jusqu'à 1.0.4 Atari scan-code firmware 1.0.5 et 1.0.8
POWER - $73 (CTRL <- dans le TOS)
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $73
SLEEP - $74 (CTRL -> dans le TOS)
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $74
WAKE - $75
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $75
NEXT TRACK - $F6 $05 $00 $00 $00 $00 $00 $4D
PREVIOUS TRACK - $F6 $05 $00 $00 $00 $00 $00 $15
STOP - $F6 $05 $00 $00 $00 $00 $00 $3B
PLAY/PAUSE - $F6 $05 $00 $00 $00 $00 $00 $34
MUTE - $F6 $05 $00 $00 $00 $00 $00 $23
VOLUME UP - $F6 $05 $00 $00 $00 $00 $00 $32
VOLUME DOWN - $F6 $05 $00 $00 $00 $00 $00 $21
MEDIA SELECT - $F6 $05 $00 $00 $00 $00 $00 $50
E-MAIL - $F6 $05 $00 $00 $00 $00 $00 $48
CALCULATOR - $F6 $05 $00 $00 $00 $00 $00 $2B
MY COMPUTER - $F6 $05 $00 $00 $00 $00 $00 $40
WWW SEARCH - $F6 $05 $00 $00 $00 $00 $00 $10
WWW HOME - $F6 $05 $00 $00 $00 $00 $00 $3A
WWW BACK - $F6 $05 $00 $00 $00 $00 $00 $38
WWW FORWARD - $F6 $05 $00 $00 $00 $00 $00 $30
WWW STOP - $F6 $05 $00 $00 $00 $00 $00 $28
WWW REFRESH - $F6 $05 $00 $00 $00 $00 $00 $20
WWW FAVORITES - $F6 $05 $00 $00 $00 $00 $00 $18

Eléments souris Atari scan-code firmware v1.0.3 et + Atari scan-code firmware v1.0.8 et +
Roulette verticale UP $59 (F16 Atari) par défaut,
programmable
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $59
Roulette verticale DOWN $5A (F17 Atari) par défaut,
programmable
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $5A
Roulette horizontale LEFT $5C (F19 Atari) par défaut,
programmable
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $5C
Roulete horizontale RIGHT $5D (F20 Atari) par défaut,
programmable
Utilisation possible de la trame de status
$F6 $05 $00 $00 $00 $00 $00 $5D
Bouton 3 (Milieu) $37 par défaut, programmable $37 par défaut, programmable
Bouton 4 $5E par défaut, programmable $5E par défaut, programmable
Bouton 5 $5F par défaut, programmable $5F par défaut, programmable


Table des commandes IKBD de Eiffel:

Commande Format Action sur Eiffel Version
GETTEMP <$03> Retourne la température de la sonde 1.0.4
PROGTEMP <$04><index><code> Programme la température 1.0.4
PROGKB <$05><index><code> Programme un scan-code clavier
Si index est à $FF, code est le jeu 2 ou 3
1.0.3
1.0.5
PROGMS <$06><index><code> Programme un scan-code souris 1.0.3
LCD <$23><len><data(s)> Envoi une commande ou des données au LCD
Len est à $00: Data est une commande, verrouille le LCD
Len est à $FF: Déverrouille le LCD pour Eiffel
Len est $01-$FE: envoi de données
1.10

Table des commandes Atari IKBD de Eiffel:

Commande Format Action spéciale sur Eiffel Version
IKBD_SET_MOUSE_BUTTON_ACTION <$07><00000mss> - 1.0.4
IKBD_REL_MOUSE_POS_REPORT <$08> - 1.0.4
IKBD_ABS_MOUSE_POSITIONING <$09>
<XMSB><XLSB>
<YMSB><YLSB>
- 1.0.4
IKBD_SET_MOUSE_KEYCODE_CODE <$0A><deltax><deltay> - 1.0.4
IKBD_SET_MOUSE_THRESHOLD <$0B>><X><Y> - Pas supportée
IKBD_SET_MOUSE_SCALE <$0C>><X><Y> - 1.0.4
IKBD_INTERROGATE_MOUSE_POS <$0D> - 1.0.4
IKBD_LOAD_MOUSE_POS <$0E><$00>
<XMSB><XLSB>
<YMSB><YLSB>
- 1.0.4
IKBD_SET_Y0_AT_BOTTOM <$0F> - 1.0.4
IKBD_SET_Y0_AT_TOP <$10> - 1.0.4
IKDB_RESUME <$11> - 1.0.4
IKDB_DISABLE_MOUSE <$12> - 1.0.4
IKDB_PAUSE_OUTPUT <$13> - 1.0.4
IKBD_SET_JOY_EVNT_REPORT <$14> - 1.0.4
IKBD_SET_JOY_INTERROG_MODE <$15> - 1.0.4
IKBD_JOY_INTERROG <$16> - 1.0.4
IKBD_SET_JOY_MONITOR <$17><rate> - 1.0.4
IKBD_SET_FIRE_BUTTON_MONITOR <$18> - Pas supportée
IKBD_SET_JOY_KEYCODE_MODE <$19>
<RX><RY>
<TX><TY>
<VX><VY>
- 1.0.4
IKDB_DISABLE_JOYSTICKS <$1A> - 1.0.4
IKBD_TIME_OF_DAY_CLOCK_SET <$1B>
<YY><MM><DD>
<hh><mm><ss>
- 1.0.4
IKBD_INTERROG_TIME_OF_DAY <$1C> - 1.0.4
IKBD_MEMORY_LOAD <$20>
<ADRMSB><ADRLSB>
<NUM>
$0000 à $01FF: RAM
$0000 $00: FLASH (firmware)
1.0.4
IKBD_MEMORY_READ <$21>
<ADRMSB><ADRLSB>
$0000 à $01FF: RAM
$2100 à $20FF: EEPROM
$8000 à $FFFF: FLASH (0-$1FFF)
1.0.4
IKBD_CONTROLLER_EXECUTE <$22>
<ADRMSB><ADRLSB>
- Pas supportée
IKBD_RESET <$80><$01> - 1.0.2
IKBD_STATUS_MOUSE_BUT_ACTION <$87> - 1.0.4
IKBD_STATUS_MOUSE_MODE_R <$88> - 1.0.4
IKBD_STATUS_MOUSE_MODE_A <$89> - 1.0.4
IKBD_STATUS_MOUSE_MODE_K <$8A> - 1.0.4
IKBD_STATUS_MOUSE_THRESHOLD <$8B> - 1.0.4
IKBD_STATUS_MOUSE_SCALE <$8C> - 1.0.4
IKBD_STATUS_MOUSE_Y0_AT_B <$8F> - 1.0.4
IKBD_STATUS_MOUSE_Y0_AT_T <$90> - 1.0.4
IKDB_STATUS_DISABLE_MOUSE <$92> - 1.0.4
IKBD_STATUS_JOY_MODE_E <$94> - 1.0.4
IKBD_STATUS_JOY_MODE_I <$95> - 1.0.4
IKBD_STATUS_JOY_MODE_K <$99> - 1.0.4
IKDB_STATUS_DISABLE_JOY <$9A> - 1.0.4

Schéma:

PIC firmware:

Pour programmer le composant PIC, téléchargez ici le fichier HEX de Eiffel (format Intel).
Vous pouvez utiliser un très bon logiciel de programmation sur votre Atari: Prog84 / Gputils / Sdcc.

Installation:

http://hardware.atari.org

Documentations utiles: