EIFFEL, a free PS/2 Keyboard and Mouse adapter for Atari.




License: This product is free, GPL-like applied to hardware project. You are free to build and use it.
Last update Octover 10, 2002
(Hit counter since December 4, 2001: )


Laurent Favard et Didier Mequignon

Eiffel firmware v1.0.4

Eiffel version 1.0.4 has been possible with precious help of Didier Mequignon, which did a very good work from the Eiffel 1.0.3. This last one add now the following:

  • Two Atari standard joysticks support DB-9
  • Motor command for ventilator and temperature sensor
  • Near all IKBD supported
  • Updating eiffel capabilities from GEM application Eifflcf.app
New archive eiffel104.tar which include .hex and documentations and new release eiffelcf104.zip. Cuurently, i havn't any schematics but in eiffel archive you'll find an explanation about joyticks, motor and sensor, from Didier.

Eiffel firmware v1.0.3

This one have the following features:

  • Mouse wheel up to 5 buttons and Mouse double wheels support.
  • Middle mouse button return now a scan code.
  • Flash Data PIC programming to change scan code returned for Wheels and new buttons 3, 4 and 5.
  • Support of second Flash Data programming to change some extra scan code returned for keyboard.
See download section to get a small GEM program which show how to change the mouse scan code and use the wheel directly under TOS/GEM without any driver.

Bugs fixed and addition in Eiffel firmware v1.0.2

Synchronization trouble fixed between Mouse and Keyboard. This one occurred when, for example, you hold pressed a key while you move your mouse. RESET command support to switch off the CAPS LOCk indicator, when your Atari reboot.

Bugs fixed and addition in Eiffel firmware v1.0.1

I just found a small problem into Eiffel firmware, a bad scan code $60 instead of the free Atari code $5A was returned for the wheel for Down direction..I mapped the PS/2 key <²> just beside the <1> key, to allow Russian "ë" character.
I discover that the PS/2 key <µ><*> in my French keyboard isn't the same that <µ><*> on my Compaq keyboard. This is not the same scan code at all ! So for some keyboard, may be you can have a "dead" key just beside the RETURN key. Fixed, for PS/2 $5C and $53 i return Atari code $2B.

Features:

These interface handle all PS/2 Keyboard and mouse:

  • Keyboard with 102 or 105 keys and more
  • Mouse up to 5 buttons
  • Mouse single and double wheel (InteliMouse)
  • Compatible with ALL Atari computers range (ST, STF, STE, MegaST, MegaSTE, TT and Falcon).
  • Can work as internal or external version
  • Can be connected to the Atari mother board or to a TT-like connector.
  • Two Atari standard joysticks support DB-9
  • Motor command for ventilator and temperature sensor
  • Near all IKBD supported
  • Updating eiffel capabilities from GEM application Eifflcf.app
First...

    This is my last project, and now available, started at July 18, 2001. The main goal of this interface is to connect PS/2 keyboard and mouse, used on PC computers to any Atari, in order to get a good keyboard and mouse.

This adapter isn't guaranteed, you'll use it at your own risk ! 

First release of Eiffel, evaluation board:

This picture show my first release of Eiffel, a development board, able to be connected to any computer through RS 232 port.

Technical description:

Eiffel adapter use a powerful Microchip microcomputer, PIC 16F876. Check the microchip web site for a complete description.
A special program handle the both keyboard and mouse DIN PS/2 port, convert the synchronous PS/2 communication  to the asynchronous protocol for Atari,  translate the PS/2 scan codes to Atari scan codes, and convert the mouse's frames to a Atari frame.

Keyboard:

All keys are mapped to Atari scan codes. The new keys as Win Left, Right, Application, return news scan codes, not previously used by Atari.
For  Atari keys which doesn't exist on PS/2 keyboard, i solve this problem as follow:
 

  • the Atari HELP key is mapped to F11 PS/2 keyboard as default
  • the Atari UNDO key is mapped to F12 PS/2 keyboard as default


The adapter is responsible to switch on and off, the keyboard LED  when you press the CAPS LOCK key. The VERR NUM key has no effect and the VERR NUM LED is now a simple power indicator.

You need for the keyboard a driver to map correctly the keys returned by the adapter. This driver should use a table to map the scan codes to the ASCII code for normal, shift and alternate mode. Eiffel does just a translation PS/2 to Atari scan code. You can the Oxo driver from Adaptakey.

Sorry, but  why a driver ? 

Because on Atari to get the "{" character you did press SHIFT+ALT+"{" but on PS/2 keyboard this one is on the "4" key...So without driver you cannot use your PS/2 keyboard as a real PS/2keyboard, it will work as real Atari keyboard....And your "{" will be on the "^" key !

But  without driver the keyboard can work for all commons A,B, C, D, Enter, Space, Tab, Shift, 0,1,2, etc...keys.So at the startup your Boot Manager is always usable. 

Mouse:

The Eiffel interface can handle any mouse; Standard PS/2  with 2 or 3 buttons, enhanced wheel mouse, ie IntelliMouse extensions For wheels and extra buttons, news scan code for UP, DOWN, LEFT and RIGHT and buttons 3, 4, 5 are returned.  But to get a basic mouse working, no driver is required. Theses scan code can be changed with a small GEM utility.

Table of new scan codes:

This is the scan codes list for keyboard and mouse. If you want to use them in your applications or to write your own driver....
 

PS/2 keys Atari  scan code firmware 1.0.0 up to 1.0.2 Atari scan code firmware v1.0.3 and +
ALT GR ALT key ALT as default, can be programmed
F11 HELP key HELP as default, can be programmed
F12 UNDO key UNDO as default, can be programmed
SCROLL LOCK  $4C  $4C as default, can be programmed
PAGE UP  $45 $45 as default, can be programmed
PAGE DOWN  $46 $46 as default, can be programmed
END  $55 $55 as default, can be programmed
PRINT SCREEN  $49  $49 as default, can be programmed
PAUSE  $4F  $4F as default, can be programmed
VERR NUM  $54 $54 as default, can be programmed
LEFT WIN  $56  $56 as default, can be programmed
RIGHT WIN  $57  $57 as default, can be programmed
WIN POPUP $58  $58 as default, can be programmed
Key <²> beside <1> key (Russian "ë") $5B $5B as default, can be programmed

 
Mouse elements Atari scan code firmware 1.0.0 up to 1.0.2 Atari scan code firmware v1.0.3 and +
Vertical wheel UP  $59  $59 as default, can be programmed
Vertical wheel DOWN  $5A $5A as default, can be programmed
Horizontal wheel LEFT - $5C as default, can be programmed
Horizontal wheel RIGHT - $5D as default, can be programmed
Button 3 (Middle) As both left and right buttons pressed. $37 as default, can be programmed
Button 4 - $5E as default, can be programmed
Button 5 - $5F as default, can be programmed

Table of Eiffel command:
 
Command Format  Action on Eiffel Version
GETTEMP <$03> Get temperature from sensor 1.0.4
PROGTEMP <$04><Index><Data> Program temperature 1.0.4
PROGKB <$05><Index><Data> Program a keyboard's scan-code 1.0.3
PROGMS <$06><Index><Data> Program a Mouse's scan-code 1.0.3
PROGFLASH Update Eiffel firmware 1.0.4

Schematics:

You can now get the  schematic  and the PCB for Eagle software. Always available in jpg pictures Schematics and Pcb (Thank to Rodolphe and Ireneusz Pelech )
 
 

My own PCB

You can find here a capture of my own PCB and a capture from my original paper which show where to pace all components. I which to help you....

PIC program OBJ:

To program yourself the PIC chip, get the  HEX file "Eiffel program" (Intel format). You can use the very good programming software ICPROG for Windows or any others tools under Linux. To get a PIC programmer, have a look at the simple JDM solution.

Pictures:

To get some ideas about the size and how is this interface, i added some pictures. External and Internals versions are the same, excepted  the case !
But now, i can't supply the case, only interface.


 
 

Very small size isn't it !

Eiffel in case, and how PCB is embedded.


 


 

Installation:

External model is really plug and play. Plug Eiffel adapter to the Atari keyboard connector and connect PS/2 keyboard to left PS/2 base, mouse to   right PS/2 base. GREEN LED is an indicator for the keyboard, and YELLOW LED  for  the mouse. FOR THIS ONE i can't supply the case, you need to build it yourself.

For internal version i don't know exactly where to place the interface, but perhaps between the power block and floppy unit. The printed board is only of 35mm X 48mm. Another solution if you havn't enough of space, add a female RJ-12 connector to your computernnector to your computer and use external relesse. you can to use a real Atari external keyboard ! I did it for my Rack Falcon, a femal RJ-12 to connect my Eiffel interface until i put an internal version.

Which OS is supported ?

I tried this board under TOS and MagiC (with my Falcon and my old STF ) and all is ok.

Compatibility list:

Users and i trying to have a compatibility list.

Work with Eiffel v1.0.0

Keyboard: Mouse:
Doesn't work with Eiffel v1.0.0
Keyboard:
  • Continental Edison "Navigator" cordless: No
  • Mouse:
  • Continental Edison "Navigator" cordless: No
  • Microsoft cordless : No
  • With the last Eiffel release, it's really possible that more hardware work with this interface.

    Problem ?

    Currently only Gfa Basic seems to have some problem with Eiffel, reported by Grünnar Gröbel (I don't exactly why).

    Download section:

     
     
    GEM programs to setup eiffel interface
    NEW Eiffelcf104.app for eiffel v1.0.4
    Eiffelcf103.app for eiffel v1.0.3 
    Firmware for your PIC (HEX Intel format)
    LAST Eiffel v1.0.4 (Hex+Docs)
    Eiffel v1.0.3 Object file
    Eiffel v1.0.2 Object file
    Eiffel v1.0.1 Object file
    Eiffel v1.0.0 Object file
    Driver and keyboard Map file for MagiC
    Eiffel.app for MagiC with German and French keyboard layout
    Oxo driver for Adaptakey or Eiffel

    (Oxo a aimablement autorisé l'utilisation de leur pilote, ce qui est non seulement généreux mais à remercier)

    Setup utility:

    From v1.0.3 Eiffel release, it's possible to setup some scan codes returned for keyboard and mouse. In this way, for example, you can set the mouse to use arrows keys from the wheel, and so use this one easily  to scroll any GEM window. Eiffel 1.0.4 add other capabilities, like update, motor command and temperature sensor.

     

    How to get an Eiffel adapter and price ?

    If you are really interesting,  i can try to help you and build your interface but you can do it yourself. For payment EURO check or Cash money could be a solution, if your local post isn't a problem. I can help, to supply for some of part of this interface, as to get a PIC alone. Post Cost are not just for one interface but for 2 Kg !
     

     
    Version Interface price France frais de port West Europe post cost East Europe post cost
    Internal for Atari motherboard (ex: ST) 39 Euros Forfait 6 Euros 18 Euros +18 Euros
    External for Atari RJ-12 connector (ex: TT)
    ! WHITHOUT CASE !
    39 Euros Forfait 6 Euros 18 Euros +18 Euros

    (Non French citizens should think to group some order to share the very expensive post cost. I can for the same price send up to 2 Kg of Eiffel...)


    French users list:
     

     
    Laurent Favard (!) 1 x External
    Prototype
    Compaq Internet Keyboard, Logitech mouse optical USB Atari Falcon Rack 2U 68 Mo/AB040, 1040 STF, MagiC 5.13/TOS 4.0
    Vincent Castelot 2 x External  Microsoft keyboard, Logitech mouse cordless, switch  Atari Falcon Rack 1U (!) and Tower
    Jean-Luc Ceccoli 1 x Internal  Zenith SK-2000RE keyboard and Zenith FDM-210 mouse Atari Falcon, MagiC
    Jean-Pierre Guillouche 2 x External  Simple 102&105 keyboard, Very low cost wheel mouse (29 Frs) Atari TT
    Jean-Gabriel Bertrand 1 x Internal Simple 105 Keyboard DIN 5+PS/2 Adapter, Amarina mouse 3 buttons  Atari Falcon 14Mo, MagiC 6
    Olivier Toumelin 1 x Internal Standard Keyboard and mouse Atari Falcon Tower, MagiC
    Didier Mequignon 1 x Interne ? Falcon tower.
    Roland Sevin 1 x Externe
    1 x Interne
    ? ?


    Foreign user list
     

     
    delaware  Switzerland 1 x External version + TT-like adapter for Falcon Keyboard Logitech Deluxe, Logitech MousePilot optical USB Atari Falcon MagiC 6.00/TOS 4.04
    Grunnar Gröbel Deutschland 1 x Internal Keyboard Fujitsu/Siemens, Mouse standard Microsft, switch  Atari Falcon
    Total: 7 Externals and 6 Internales items.

    (To be removed from this list, contact me)
     

    Usefull documentations :

  • Technical description about Atari IKBD
  • HOLTEK HT82K28A Keyboard EncoderHOLTEK HT82K28A Keyboard Encoder
  • HOLTEK HT82K628A Keyboard Encoder
  • Microchip PIC16F876
  • Contact me :

    Laurent FAVARD at this e-mail  (Remove "HETCnAM" from my e-mail).