Index: aktoserial/circuit/ps2toserial-cache.lib
===================================================================
--- aktoserial/circuit/ps2toserial-cache.lib	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ aktoserial/circuit/ps2toserial-cache.lib	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,227 @@
+EESchema-LIBRARY Version 2.3  Date: 22/06/2010 16:28:43
+#
+# +5V
+#
+DEF +5V #PWR 0 40 Y Y 1 F P
+F0 "#PWR" 0 90 20 H I C CNN
+F1 "+5V" 0 90 30 H V C CNN
+DRAW
+X +5V 1 0 0 0 U 20 20 0 0 W N
+C 0 50 20 0 1 0 N
+P 4 0 1 0  0 0  0 30  0 30  0 30 N
+ENDDRAW
+ENDDEF
+#
+# ATMEGA8-P
+#
+DEF ATMEGA8-P IC 0 40 Y Y 1 F N
+F0 "IC" -700 1250 50 H V L BNN
+F1 "ATMEGA8-P" 250 -1400 50 H V L BNN
+F2 "DIL28" 500 -1475 50 H I C CNN
+$FPLIST
+ 28DIP-ELL600
+ 28dip600
+$ENDFPLIST
+DRAW
+P 2 1 0 0  -700 -1300  -700 1200 N
+P 2 1 0 0  -700 1200  800 1200 N
+P 2 1 0 0  800 -1300  -700 -1300 N
+P 2 1 0 0  800 1200  800 -1300 N
+X PC6(/RESET) 1 -900 1100 200 R 40 40 1 1 B I
+X PD0(RXD) 2 1000 200 200 L 40 40 1 1 B
+X PD1(TXD) 3 1000 100 200 L 40 40 1 1 B
+X PD2(INT0) 4 1000 0 200 L 40 40 1 1 B
+X PD3(INT1) 5 1000 -100 200 L 40 40 1 1 B
+X PD4(XCK/T0) 6 1000 -200 200 L 40 40 1 1 B
+X VCC 7 0 1400 200 D 40 40 1 1 B
+X GND 8 0 -1500 200 U 40 40 1 1 B
+X PB6(XTAL1/TOSC1) 9 -900 400 200 R 40 40 1 1 B
+X PB7(XTAL2/TOSC2) 10 -900 200 200 R 40 40 1 1 B
+X AVCC 20 -900 700 200 R 40 40 1 1 B
+X PD5(T1) 11 1000 -300 200 L 40 40 1 1 B
+X AREF 21 -900 800 200 R 40 40 1 1 B
+X PD6(AIN0) 12 1000 -400 200 L 40 40 1 1 B
+X AGND 22 -900 900 200 R 40 40 1 1 B
+X PD7(AIN1) 13 1000 -500 200 L 40 40 1 1 B
+X PC0(ADC0) 23 1000 1100 200 L 40 40 1 1 B
+X PB0(ICP) 14 1000 -700 200 L 40 40 1 1 B
+X PC1(ADC1) 24 1000 1000 200 L 40 40 1 1 B
+X PB1(OC1A) 15 1000 -800 200 L 40 40 1 1 B
+X PC2(ADC2) 25 1000 900 200 L 40 40 1 1 B
+X PB2(SS/OC1B) 16 1000 -900 200 L 40 40 1 1 B
+X PC3(ADC3) 26 1000 800 200 L 40 40 1 1 B
+X PB3(MOSI/OC2) 17 1000 -1000 200 L 40 40 1 1 B
+X PC4(ADC4/SDA) 27 1000 700 200 L 40 40 1 1 B
+X PB4(MISO) 18 1000 -1100 200 L 40 40 1 1 B
+X PC5(ADC5/SCL) 28 1000 600 200 L 40 40 1 1 B
+X PB5(SCK) 19 1000 -1200 200 L 40 40 1 1 B
+ENDDRAW
+ENDDEF
+#
+# C
+#
+DEF C C 0 10 N Y 1 F N
+F0 "C" 50 100 50 H V L CNN
+F1 "C" 50 -100 50 H V L CNN
+$FPLIST
+ SM*
+ C?
+ C1-1
+$ENDFPLIST
+DRAW
+P 2 0 1 10  -100 -30  100 -30 N
+P 2 0 1 10  -100 30  100 30 N
+X ~ 1 0 200 170 D 40 40 1 1 P
+X ~ 2 0 -200 170 U 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# CONN_4
+#
+DEF CONN_4 P 0 40 Y N 1 F N
+F0 "P" -50 0 50 V V C CNN
+F1 "CONN_4" 50 0 50 V V C CNN
+DRAW
+S -100 200 100 -200 0 1 0 N
+X P1 1 -350 150 250 R 50 50 1 1 P I
+X P2 2 -350 50 250 R 50 50 1 1 P I
+X P3 3 -350 -50 250 R 50 50 1 1 P I
+X P4 4 -350 -150 250 R 50 50 1 1 P I
+ENDDRAW
+ENDDEF
+#
+# CONN_6
+#
+DEF CONN_6 P 0 30 Y N 1 F N
+F0 "P" -50 0 60 V V C CNN
+F1 "CONN_6" 50 0 60 V V C CNN
+DRAW
+S -100 300 100 -300 0 1 0 N
+X 1 1 -350 250 250 R 60 60 1 1 P I
+X 2 2 -350 150 250 R 60 60 1 1 P I
+X 3 3 -350 50 250 R 60 60 1 1 P I
+X 4 4 -350 -50 250 R 60 60 1 1 P I
+X 5 5 -350 -150 250 R 60 60 1 1 P I
+X 6 6 -350 -250 250 R 60 60 1 1 P I
+ENDDRAW
+ENDDEF
+#
+# CRYSTAL
+#
+DEF CRYSTAL X 0 40 N N 1 F N
+F0 "X" 0 150 60 H V C CNN
+F1 "CRYSTAL" 0 -150 60 H V C CNN
+DRAW
+P 2 0 1 16  -100 100  -100 -100 N
+P 2 0 1 16  100 100  100 -100 N
+P 5 0 1 12  -50 50  50 50  50 -50  -50 -50  -50 50 f
+X 1 1 -300 0 200 R 40 40 1 1 P
+X 2 2 300 0 200 L 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# DIL10
+#
+DEF DIL10 P 0 40 Y N 1 F N
+F0 "P" 0 300 60 H V C CNN
+F1 "DIL10" 0 0 50 V V C CNN
+DRAW
+S -50 250 50 -250 0 1 0 N
+X P1 1 -350 200 300 R 60 60 1 1 P I
+X P2 2 -350 100 300 R 60 60 1 1 P I
+X P3 3 -350 0 300 R 60 60 1 1 P I
+X P4 4 -350 -100 300 R 60 60 1 1 P I
+X P5 5 -350 -200 300 R 60 60 1 1 P I
+X P6 6 350 -200 300 L 60 60 1 1 P I
+X P7 7 350 -100 300 L 60 60 1 1 P I
+X P8 8 350 0 300 L 60 60 1 1 P I
+X P9 9 350 100 300 L 60 60 1 1 P I
+X P10 10 350 200 300 L 60 60 1 1 P I
+ENDDRAW
+ENDDEF
+#
+# DIODE
+#
+DEF DIODE D 0 40 N N 1 F N
+F0 "D" 0 100 40 H V C CNN
+F1 "DIODE" 0 -100 40 H V C CNN
+$FPLIST
+ D?
+ S*
+$ENDFPLIST
+DRAW
+P 2 0 1 6  50 50  50 -50 N
+P 3 0 1 0  -50 50  50 0  -50 -50 F
+X A 1 -200 0 150 R 40 40 1 1 P
+X K 2 200 0 150 L 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# GND
+#
+DEF ~GND #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 0 30 H I C CNN
+F1 "GND" 0 -70 30 H I C CNN
+DRAW
+P 4 0 1 0  -50 0  0 -50  50 0  -50 0 N
+X GND 1 0 0 0 U 30 30 1 1 W N
+ENDDRAW
+ENDDEF
+#
+# LED
+#
+DEF LED D 0 40 Y N 1 F N
+F0 "D" 0 100 50 H V C CNN
+F1 "LED" 0 -100 50 H V C CNN
+$FPLIST
+ LED-3MM
+ LED-5MM
+ LED-10MM
+ LED-0603
+ LED-0805
+ LED-1206
+ LEDV
+$ENDFPLIST
+DRAW
+P 2 0 1 0  50 50  50 -50 N
+P 3 0 1 0  -50 50  50 0  -50 -50 F
+P 3 0 1 0  65 -40  110 -80  105 -55 N
+P 3 0 1 0  80 -25  125 -65  120 -40 N
+X A 1 -200 0 150 R 40 40 1 1 P
+X K 2 200 0 150 L 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# R
+#
+DEF R R 0 0 N Y 1 F N
+F0 "R" 80 0 50 V V C CNN
+F1 "R" 0 0 50 V V C CNN
+$FPLIST
+ R?
+ SM0603
+ SM0805
+ R?-*
+ SM1206
+$ENDFPLIST
+DRAW
+S -40 150 40 -150 0 1 12 N
+X ~ 1 0 250 100 D 60 60 1 1 P
+X ~ 2 0 -250 100 U 60 60 1 1 P
+ENDDRAW
+ENDDEF
+#
+# SW_PUSH
+#
+DEF SW_PUSH SW 0 40 N N 1 F N
+F0 "SW" 150 110 50 H V C CNN
+F1 "SW_PUSH" 0 -80 50 H V C CNN
+DRAW
+S -170 50 170 60 0 1 0 N
+P 4 0 1 0  -40 60  -30 90  30 90  40 60 N
+X 1 1 -300 0 200 R 60 60 0 1 P I
+X 2 2 300 0 200 L 60 60 0 1 P I
+ENDDRAW
+ENDDEF
+#
+#End Library
Index: aktoserial/circuit/ps2toserial.brd
===================================================================
--- aktoserial/circuit/ps2toserial.brd	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ aktoserial/circuit/ps2toserial.brd	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,1357 @@
+PCBNEW-BOARD Version 1 date 22/06/2010 16:27:18
+
+# Created by Pcbnew(2010-05-05 BZR 2356)-stable
+
+$GENERAL
+LayerCount 2
+Ly 1FFF8001
+EnabledLayers 1FFF8001
+Links 39
+NoConn 3
+Di 6805 7190 30675 22460
+Ndraw 6
+Ntrack 130
+Nzone 0
+BoardThickness 630
+Nmodule 14
+Nnets 15
+$EndGENERAL
+
+$SHEETDESCR
+Sheet User 6000 4000
+Title "PS2 to serial converter"
+Date "22 jun 2010"
+Rev "2010.06.22"
+Comp "PulkoTronics"
+Comment1 ""
+Comment2 ""
+Comment3 ""
+Comment4 ""
+$EndSHEETDESCR
+
+$SETUP
+InternalUnit 0.000100 INCH
+ZoneGridSize 250
+Layers 2
+Layer[0] Dessous signal
+Layer[15] Dessus signal
+TrackWidth 80
+TrackClearence 100
+ZoneClearence 200
+TrackMinWidth 80
+DrawSegmWidth 150
+EdgeSegmWidth 150
+ViaSize 350
+ViaDrill 250
+ViaMinSize 350
+ViaMinDrill 200
+MicroViaSize 200
+MicroViaDrill 50
+MicroViasAllowed 0
+MicroViaMinSize 200
+MicroViaMinDrill 50
+TextPcbWidth 120
+TextPcbSize 600 800
+EdgeModWidth 150
+TextModSize 600 600
+TextModWidth 120
+PadSize 600 600
+PadDrill 320
+Pad2MaskClearance 100
+AuxiliaryAxisOrg 0 0
+$EndSETUP
+
+$EQUIPOT
+Na 0 ""
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 1 "+5V"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 2 "GND"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 3 "N-000001"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 4 "N-000002"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 5 "N-000004"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 6 "N-000005"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 7 "N-000007"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 8 "N-000017"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 9 "N-000019"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 10 "N-000022"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 11 "N-000024"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 12 "N-000027"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 13 "N-000028"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 14 "N-000029"
+St ~
+$EndEQUIPOT
+$NCLASS
+Name "Default"
+Desc "Ceci est la Netclass par défaut"
+Clearance 100
+TrackWidth 80
+ViaDia 350
+ViaDrill 250
+uViaDia 200
+uViaDrill 50
+AddNet ""
+AddNet "+5V"
+AddNet "GND"
+AddNet "N-000001"
+AddNet "N-000002"
+AddNet "N-000004"
+AddNet "N-000005"
+AddNet "N-000007"
+AddNet "N-000017"
+AddNet "N-000019"
+AddNet "N-000022"
+AddNet "N-000024"
+AddNet "N-000027"
+AddNet "N-000028"
+AddNet "N-000029"
+$EndNCLASS
+$MODULE he10-10d
+Po 24000 10000 0 15 00200000 4C20A69D ~~
+Li he10-10d
+Cd Connecteur HE10 10 contacts droit
+Kw CONN HE10
+Sc 4C20A69D
+AR /4C209C03
+Op 0 0 0
+T0 -2400 -2300 700 700 0 120 N V 21 N"CON_PROG1"
+T1 2400 2300 700 700 0 120 N V 21 N"HE10"
+DS 6300 -1700 6300 1700 120 21
+DS 6300 1700 -6300 1700 120 21
+DS -6300 -1700 6300 -1700 120 21
+DS -3500 1400 -3500 -1400 120 21
+DS 3500 1400 3500 -1400 120 21
+DS -1000 1700 -1000 1400 120 21
+DS -1000 1400 -3500 1400 120 21
+DS -3500 -1400 3500 -1400 120 21
+DS 3500 1400 1000 1400 120 21
+DS 1000 1400 1000 1700 120 21
+DS -6300 1700 -6300 -1700 120 21
+DS -2600 500 -3100 200 120 21
+DS -3100 200 -3100 800 120 21
+DS -3100 800 -2600 500 120 21
+$PAD
+Sh "" C 2150 2150 0 0 0
+Dr 1060 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -5500 0
+$EndPAD
+$PAD
+Sh "" C 2150 2150 0 0 0
+Dr 1060 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 5500 0
+$EndPAD
+$PAD
+Sh "1" R 600 600 0 0 0
+Dr 360 0 0
+At STD N 00E0FFFF
+Ne 11 "N-000024"
+Po -2000 500
+$EndPAD
+$PAD
+Sh "2" C 600 600 0 0 0
+Dr 360 0 0
+At STD N 00E0FFFF
+Ne 1 "+5V"
+Po -2000 -500
+$EndPAD
+$PAD
+Sh "3" C 600 600 0 0 0
+Dr 360 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -1000 500
+$EndPAD
+$PAD
+Sh "4" C 600 600 0 0 0
+Dr 360 0 0
+At STD N 00E0FFFF
+Ne 2 "GND"
+Po -1000 -500
+$EndPAD
+$PAD
+Sh "5" C 600 600 0 0 0
+Dr 360 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000005"
+Po 0 500
+$EndPAD
+$PAD
+Sh "6" C 600 600 0 0 0
+Dr 360 0 0
+At STD N 00E0FFFF
+Ne 2 "GND"
+Po 0 -500
+$EndPAD
+$PAD
+Sh "7" C 600 600 0 0 0
+Dr 360 0 0
+At STD N 00E0FFFF
+Ne 9 "N-000019"
+Po 1000 500
+$EndPAD
+$PAD
+Sh "8" C 600 600 0 0 0
+Dr 360 0 0
+At STD N 00E0FFFF
+Ne 2 "GND"
+Po 1000 -500
+$EndPAD
+$PAD
+Sh "9" C 600 600 0 0 0
+Dr 360 0 0
+At STD N 00E0FFFF
+Ne 8 "N-000017"
+Po 2000 500
+$EndPAD
+$PAD
+Sh "10" C 600 600 0 0 0
+Dr 360 0 0
+At STD N 00E0FFFF
+Ne 2 "GND"
+Po 2000 -500
+$EndPAD
+$SHAPE3D
+Na "conn_HExx/he10_10.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  he10-10d
+$MODULE Mini_din6
+Po 19000 18500 0 15 44834E85 4C20AA79 ~~
+Li Mini_din6
+Kw MINI DIN
+Sc 4C20AA79
+AR /4C20A3B4
+Op 0 0 0
+T0 0 -3000 600 600 0 120 N V 21 N"PS2"
+T1 0 3500 600 600 0 120 N V 21 N"CONN_6"
+DS -2500 500 -2500 -2000 150 21
+DS -2500 -2000 2500 -2000 150 21
+DS 2500 -2000 2500 2000 150 21
+DS 2500 2000 -2500 2000 150 21
+DS -2500 2000 -2500 500 150 21
+$PAD
+Sh "4" C 540 540 0 0 0
+Dr 200 0 0
+At STD N 00E0FFFF
+Ne 1 "+5V"
+Po -400 -500
+$EndPAD
+$PAD
+Sh "3" C 540 540 0 0 0
+Dr 200 0 0
+At STD N 00E0FFFF
+Ne 2 "GND"
+Po 450 -500
+$EndPAD
+$PAD
+Sh "1" C 540 540 0 0 0
+Dr 200 0 0
+At STD N 00E0FFFF
+Ne 12 "N-000027"
+Po 1250 -1500
+$EndPAD
+$PAD
+Sh "6" C 540 540 0 0 0
+Dr 200 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -1250 -1500
+$EndPAD
+$PAD
+Sh "5" C 540 540 0 0 0
+Dr 200 0 0
+At STD N 00E0FFFF
+Ne 10 "N-000022"
+Po -1250 -500
+$EndPAD
+$PAD
+Sh "2" C 540 540 0 0 0
+Dr 200 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 1250 -500
+$EndPAD
+$PAD
+Sh "GND" R 1260 787 0 0 0
+Dr 200 0 0
+At STD N 00F0FFFF
+Ne 0 ""
+Po 0 700
+$EndPAD
+$PAD
+Sh "GND" R 854 1260 0 0 0
+Dr 200 0 0
+At STD N 00F0FFFF
+Ne 0 ""
+Po 2750 500
+$EndPAD
+$PAD
+Sh "GND" R 854 1260 0 0 0
+Dr 276 0 0
+At STD N 00F0FFFF
+Ne 0 ""
+Po -2750 500
+$EndPAD
+$SHAPE3D
+Na "r_mini_dins/minidin_6.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  Mini_din6
+$MODULE DIP-28__300
+Po 19500 14000 0 15 00200000 4C20B065 ~~
+Li DIP-28__300
+Cd 28 pins DIL package, round pads, width 300mil
+Kw DIL
+Sc 4C20B065
+AR /4C209A59
+Op 0 0 0
+T0 -4500 0 600 450 0 113 N V 21 N"IC1"
+T1 4000 0 600 450 0 113 N V 21 N"ATMEGA8-P"
+DS -7500 -1000 7500 -1000 150 21
+DS 7500 -1000 7500 1000 150 21
+DS 7500 1000 -7500 1000 150 21
+DS -7500 1000 -7500 -1000 150 21
+DS -7500 -500 -7000 -500 150 21
+DS -7000 -500 -7000 500 150 21
+DS -7000 500 -7500 500 150 21
+$PAD
+Sh "2" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 13 "N-000028"
+Po -5500 1500
+$EndPAD
+$PAD
+Sh "3" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 14 "N-000029"
+Po -4500 1500
+$EndPAD
+$PAD
+Sh "4" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -3500 1500
+$EndPAD
+$PAD
+Sh "5" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 10 "N-000022"
+Po -2500 1500
+$EndPAD
+$PAD
+Sh "6" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 12 "N-000027"
+Po -1500 1500
+$EndPAD
+$PAD
+Sh "7" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 1 "+5V"
+Po -500 1500
+$EndPAD
+$PAD
+Sh "8" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 2 "GND"
+Po 500 1500
+$EndPAD
+$PAD
+Sh "9" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 3 "N-000001"
+Po 1500 1500
+$EndPAD
+$PAD
+Sh "10" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 4 "N-000002"
+Po 2500 1500
+$EndPAD
+$PAD
+Sh "11" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 3500 1500
+$EndPAD
+$PAD
+Sh "12" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 7 "N-000007"
+Po 4500 1500
+$EndPAD
+$PAD
+Sh "13" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 5500 1500
+$EndPAD
+$PAD
+Sh "14" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 6500 1500
+$EndPAD
+$PAD
+Sh "1" R 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000005"
+Po -6500 1500
+$EndPAD
+$PAD
+Sh "15" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 6500 -1500
+$EndPAD
+$PAD
+Sh "16" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 5500 -1500
+$EndPAD
+$PAD
+Sh "17" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 11 "N-000024"
+Po 4500 -1500
+$EndPAD
+$PAD
+Sh "18" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 8 "N-000017"
+Po 3500 -1500
+$EndPAD
+$PAD
+Sh "19" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 9 "N-000019"
+Po 2500 -1500
+$EndPAD
+$PAD
+Sh "20" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 1 "+5V"
+Po 1500 -1500
+$EndPAD
+$PAD
+Sh "21" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 1 "+5V"
+Po 500 -1500
+$EndPAD
+$PAD
+Sh "22" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 2 "GND"
+Po -500 -1500
+$EndPAD
+$PAD
+Sh "23" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -1500 -1500
+$EndPAD
+$PAD
+Sh "24" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -2500 -1500
+$EndPAD
+$PAD
+Sh "25" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -3500 -1500
+$EndPAD
+$PAD
+Sh "26" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -4500 -1500
+$EndPAD
+$PAD
+Sh "27" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -5500 -1500
+$EndPAD
+$PAD
+Sh "28" C 550 550 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -6500 -1500
+$EndPAD
+$SHAPE3D
+Na "dil/dil_28-w300.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  DIP-28__300
+$MODULE LED-0805
+Po 26000 14500 0 0 49DC4C0B 4C20BDC7 ~~
+Li LED-0805
+Cd LED 0805 smd package
+Kw LED led 0603 SMD smd SMT smt smdled SMDLED smtled SMTLED
+Sc 4C20BDC7
+AR /4C20B393
+Op 0 0 0
+At SMD 
+T0 0 500 300 300 0 50 M V 20 N"D2"
+T1 0 -500 300 300 0 50 M V 20 N"LED"
+DS 196 -118 196 -246 26 20
+DS 196 -246 393 -246 26 20
+DS 393 -118 393 -246 26 20
+DS 196 -118 393 -118 26 20
+DS 196 127 196 68 26 20
+DS 196 68 295 68 26 20
+DS 295 127 295 68 26 20
+DS 196 127 295 127 26 20
+DS 196 -68 196 -127 26 20
+DS 196 -127 295 -127 26 20
+DS 295 -68 295 -127 26 20
+DS 196 -68 295 -68 26 20
+DS 196 78 196 -78 26 20
+DS 196 -78 265 -78 26 20
+DS 265 78 265 -78 26 20
+DS 196 78 265 78 26 20
+DS -393 -118 -393 -246 26 20
+DS -393 -246 -196 -246 26 20
+DS -196 -118 -196 -246 26 20
+DS -393 -118 -196 -118 26 20
+DS -393 246 -393 118 26 20
+DS -393 118 -196 118 26 20
+DS -196 246 -196 118 26 20
+DS -393 246 -196 246 26 20
+DS -295 -68 -295 -127 26 20
+DS -295 -127 -196 -127 26 20
+DS -196 -68 -196 -127 26 20
+DS -295 -68 -196 -68 26 20
+DS -295 127 -295 68 26 20
+DS -295 68 -196 68 26 20
+DS -196 127 -196 68 26 20
+DS -295 127 -196 127 26 20
+DS -265 78 -265 -78 26 20
+DS -265 -78 -196 -78 26 20
+DS -196 78 -196 -78 26 20
+DS -265 78 -196 78 26 20
+DS 0 39 0 -39 26 20
+DS 0 -39 78 -39 26 20
+DS 78 39 78 -39 26 20
+DS 0 39 78 39 26 20
+DS 196 236 196 118 26 20
+DS 196 118 314 118 26 20
+DS 314 236 314 118 26 20
+DS 196 236 314 236 26 20
+DS 364 246 364 157 26 20
+DS 364 157 393 157 26 20
+DS 393 246 393 157 26 20
+DS 364 246 393 246 26 20
+DS 206 -226 -206 -226 40 20
+DS -196 226 364 226 40 20
+DC 334 177 354 197 20 20
+DA 393 0 393 -137 -5400 40 20
+DA -393 0 -393 137 -5400 40 20
+$PAD
+Sh "1" R 472 472 0 0 0
+Dr 0 0 0
+At SMD N 00440001
+Ne 5 "N-000004"
+Po -413 0
+$EndPAD
+$PAD
+Sh "2" R 472 472 0 0 0
+Dr 0 0 0
+At SMD N 00440001
+Ne 2 "GND"
+Po 413 0
+$EndPAD
+$EndMODULE  LED-0805
+$MODULE PUSH_BUTT_SHAPE1
+Po 9500 14000 2700 15 440C0DAE 4C20BDC8 ~~
+Li PUSH_BUTT_SHAPE1
+Sc 4C20BDC8
+AR /4C20B295
+Op 0 0 0
+T0 0 0 394 394 2700 39 N V 21 N"SW1"
+T1 0 -1791 500 500 2700 80 N V 21 N"SW_PUSH"
+DC 0 0 1024 2303 150 21
+DS 1024 2303 -1024 2303 150 21
+$PAD
+Sh "1" C 787 787 0 0 2700
+Dr 200 0 0
+At STD N 00E0FFFF
+Ne 2 "GND"
+Po -984 -984
+$EndPAD
+$PAD
+Sh "2" C 787 787 0 0 2700
+Dr 200 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000005"
+Po 984 -984
+$EndPAD
+$PAD
+Sh "4" C 787 787 0 0 2700
+Dr 200 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 984 984
+$EndPAD
+$PAD
+Sh "3" C 787 787 0 0 2700
+Dr 200 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po -984 984
+$EndPAD
+$SHAPE3D
+Na "discret/push_butt_shape1_blue.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  PUSH_BUTT_SHAPE1
+$MODULE Q_49U3HMS
+Po 25000 17000 0 0 451B832A 4C20BDC9 ~~
+Li Q_49U3HMS
+Sc 4C20BDC9
+AR /4C20AD34
+Op 0 0 0
+T0 0 600 400 400 0 80 M V 20 N"X1"
+T1 0 -600 400 400 0 80 M V 20 N"16MHz"
+DS -1950 650 -1950 -650 80 20
+DS -1950 -650 -1700 -900 80 20
+DS -1700 -900 1700 -900 80 20
+DS 1700 -900 1950 -650 80 20
+DS 1950 -650 1950 650 80 20
+DS 1950 650 1700 900 80 20
+DS 1700 900 -1700 900 80 20
+DS -1700 900 -1950 650 80 20
+DS 2250 1000 2250 -1000 80 20
+DS 2250 -1000 -2250 -1000 80 20
+DS -2250 -1000 -2250 1000 80 20
+DS -2250 1000 2250 1000 80 20
+$PAD
+Sh "1" R 2165 787 0 0 0
+Dr 0 0 0
+At SMD N 00440001
+Ne 3 "N-000001"
+Po -1850 0
+$EndPAD
+$PAD
+Sh "2" R 2165 787 0 0 0
+Dr 0 0 0
+At SMD N 00440001
+Ne 4 "N-000002"
+Po 1850 0
+$EndPAD
+$EndMODULE  Q_49U3HMS
+$MODULE SM0805
+Po 24500 14500 0 0 42806E04 4C20BDCA ~~
+Li SM0805
+Sc 4C20BDCA
+AR /4C20B383
+Op 0 0 0
+At SMD 
+T0 0 0 250 250 0 50 M V 20 N"R2"
+T1 0 0 250 250 0 50 M I 20 N"470R"
+DC -650 -300 -650 -250 50 20
+DS -200 -300 -600 -300 50 20
+DS -600 -300 -600 300 50 20
+DS -600 300 -200 300 50 20
+DS 200 300 600 300 50 20
+DS 600 300 600 -300 50 20
+DS 600 -300 200 -300 50 20
+$PAD
+Sh "1" R 350 550 0 0 0
+Dr 0 0 0
+At SMD N 00440001
+Ne 7 "N-000007"
+Po -375 0
+$EndPAD
+$PAD
+Sh "2" R 350 550 0 0 0
+Dr 0 0 0
+At SMD N 00440001
+Ne 5 "N-000004"
+Po 375 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.100000 0.100000 0.100000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  SM0805
+$MODULE SM0805
+Po 11500 16000 900 0 42806E04 4C20BDCC ~~
+Li SM0805
+Sc 4C20BDCC
+AR /4C20B276
+Op 0 0 0
+At SMD 
+T0 0 0 250 250 900 50 M V 20 N"D1"
+T1 0 0 250 250 900 50 M I 20 N"DIODE"
+DC -650 -300 -650 -250 50 20
+DS -200 -300 -600 -300 50 20
+DS -600 -300 -600 300 50 20
+DS -600 300 -200 300 50 20
+DS 200 300 600 300 50 20
+DS 600 300 600 -300 50 20
+DS 600 -300 200 -300 50 20
+$PAD
+Sh "1" R 350 550 0 0 900
+Dr 0 0 0
+At SMD N 00440001
+Ne 6 "N-000005"
+Po -375 0
+$EndPAD
+$PAD
+Sh "2" R 350 550 0 0 900
+Dr 0 0 0
+At SMD N 00440001
+Ne 1 "+5V"
+Po 375 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.100000 0.100000 0.100000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  SM0805
+$MODULE SM0805
+Po 19500 13000 0 0 42806E04 4C20BDCE ~~
+Li SM0805
+Sc 4C20BDCE
+AR /4C20B56F
+Op 0 0 0
+At SMD 
+T0 0 0 250 250 0 50 M V 20 N"C4"
+T1 0 0 250 250 0 50 M I 20 N"100nF"
+DC -650 -300 -650 -250 50 20
+DS -200 -300 -600 -300 50 20
+DS -600 -300 -600 300 50 20
+DS -600 300 -200 300 50 20
+DS 200 300 600 300 50 20
+DS 600 300 600 -300 50 20
+DS 600 -300 200 -300 50 20
+$PAD
+Sh "1" R 350 550 0 0 0
+Dr 0 0 0
+At SMD N 00440001
+Ne 2 "GND"
+Po -375 0
+$EndPAD
+$PAD
+Sh "2" R 350 550 0 0 0
+Dr 0 0 0
+At SMD N 00440001
+Ne 1 "+5V"
+Po 375 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.100000 0.100000 0.100000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  SM0805
+$MODULE SM0805
+Po 11500 17000 2700 0 42806E04 4C20BDD0 ~~
+Li SM0805
+Sc 4C20BDD0
+AR /4C20B25A
+Op 0 0 0
+At SMD 
+T0 0 0 250 250 2700 50 M V 20 N"C3"
+T1 0 0 250 250 2700 50 M I 20 N"100nF"
+DC -650 -300 -650 -250 50 20
+DS -200 -300 -600 -300 50 20
+DS -600 -300 -600 300 50 20
+DS -600 300 -200 300 50 20
+DS 200 300 600 300 50 20
+DS 600 300 600 -300 50 20
+DS 600 -300 200 -300 50 20
+$PAD
+Sh "1" R 350 550 0 0 2700
+Dr 0 0 0
+At SMD N 00440001
+Ne 6 "N-000005"
+Po -375 0
+$EndPAD
+$PAD
+Sh "2" R 350 550 0 0 2700
+Dr 0 0 0
+At SMD N 00440001
+Ne 2 "GND"
+Po 375 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.100000 0.100000 0.100000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  SM0805
+$MODULE SM0805
+Po 27500 18000 2700 0 42806E04 4C20BDD2 ~~
+Li SM0805
+Sc 4C20BDD2
+AR /4C20AD73
+Op 0 0 0
+At SMD 
+T0 0 0 250 250 2700 50 M V 20 N"C2"
+T1 0 0 250 250 2700 50 M I 20 N"27pF"
+DC -650 -300 -650 -250 50 20
+DS -200 -300 -600 -300 50 20
+DS -600 -300 -600 300 50 20
+DS -600 300 -200 300 50 20
+DS 200 300 600 300 50 20
+DS 600 300 600 -300 50 20
+DS 600 -300 200 -300 50 20
+$PAD
+Sh "1" R 350 550 0 0 2700
+Dr 0 0 0
+At SMD N 00440001
+Ne 4 "N-000002"
+Po -375 0
+$EndPAD
+$PAD
+Sh "2" R 350 550 0 0 2700
+Dr 0 0 0
+At SMD N 00440001
+Ne 2 "GND"
+Po 375 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.100000 0.100000 0.100000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  SM0805
+$MODULE SM0805
+Po 22500 18000 2700 0 42806E04 4C20BDD4 ~~
+Li SM0805
+Sc 4C20BDD4
+AR /4C20AD6D
+Op 0 0 0
+At SMD 
+T0 0 0 250 250 2700 50 M V 20 N"C1"
+T1 0 0 250 250 2700 50 M I 20 N"27pF"
+DC -650 -300 -650 -250 50 20
+DS -200 -300 -600 -300 50 20
+DS -600 -300 -600 300 50 20
+DS -600 300 -200 300 50 20
+DS 200 300 600 300 50 20
+DS 600 300 600 -300 50 20
+DS 600 -300 200 -300 50 20
+$PAD
+Sh "1" R 350 550 0 0 2700
+Dr 0 0 0
+At SMD N 00440001
+Ne 3 "N-000001"
+Po -375 0
+$EndPAD
+$PAD
+Sh "2" R 350 550 0 0 2700
+Dr 0 0 0
+At SMD N 00440001
+Ne 2 "GND"
+Po 375 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.100000 0.100000 0.100000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  SM0805
+$MODULE SM0805
+Po 12000 16000 900 0 42806E04 4C20BDD6 ~~
+Li SM0805
+Sc 4C20BDD6
+AR /4C20B267
+Op 0 0 0
+At SMD 
+T0 0 0 250 250 900 50 M V 20 N"R1"
+T1 0 0 250 250 900 50 M I 20 N"10K"
+DC -650 -300 -650 -250 50 20
+DS -200 -300 -600 -300 50 20
+DS -600 -300 -600 300 50 20
+DS -600 300 -200 300 50 20
+DS 200 300 600 300 50 20
+DS 600 300 600 -300 50 20
+DS 600 -300 200 -300 50 20
+$PAD
+Sh "1" R 350 550 0 0 900
+Dr 0 0 0
+At SMD N 00440001
+Ne 6 "N-000005"
+Po -375 0
+$EndPAD
+$PAD
+Sh "2" R 350 550 0 0 900
+Dr 0 0 0
+At SMD N 00440001
+Ne 1 "+5V"
+Po 375 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.100000 0.100000 0.100000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE  SM0805
+$MODULE CONN_UART
+Po 14000 17500 0 0 4BC3900F 4C20BDDC ~~
+Li CONN_UART
+Sc 4C20BDDC
+AR /4C20B6CD
+Op 0 0 0
+T0 0 3750 400 400 0 60 M V 20 N"P1"
+T1 0 -1250 400 400 0 60 M I 20 N"CONN_4"
+DS 1772 2559 1575 2165 100 20
+DS 1575 2165 1378 2559 100 20
+DS 984 2559 1969 2559 100 20
+DS -787 1969 -787 2362 100 20
+DS -787 2362 -984 2559 100 20
+DS -984 2559 -1969 2559 100 20
+DS -787 1969 787 1969 100 20
+DS 787 1969 787 2362 100 20
+DS 787 2362 984 2559 100 20
+DS -1969 3346 -1575 3346 100 20
+DS -1575 3346 -1378 3346 100 20
+DS -1378 3346 -1181 3150 100 20
+DS -1181 3150 -1181 2953 100 20
+DS 1181 2953 1181 3150 100 20
+DS 1181 3150 1378 3346 100 20
+DS 1378 3346 1969 3346 100 20
+DS -1181 2953 1181 2953 100 20
+DS -1575 0 -1575 -787 100 20
+DS -1575 -787 -1969 -787 100 20
+DS -1969 -787 -1969 0 100 20
+DS 1969 0 1969 -787 100 20
+DS 1969 -787 1575 -787 100 20
+DS 1575 -787 1575 0 100 20
+DS -1969 0 -1969 3346 100 20
+DS 1969 0 1969 3346 100 20
+DS -1969 0 1969 0 100 20
+$PAD
+Sh "1" R 500 1000 0 0 0
+Dr 320 0 0
+At STD N 00D0FFFF
+Ne 14 "N-000029"
+Po 1181 0
+$EndPAD
+$PAD
+Sh "2" O 500 1000 0 0 0
+Dr 320 0 0
+At STD N 00D0FFFF
+Ne 13 "N-000028"
+Po 394 0
+$EndPAD
+$PAD
+Sh "3" O 500 1000 0 0 0
+Dr 320 0 0
+At STD N 00D0FFFF
+Ne 1 "+5V"
+Po -394 0
+$EndPAD
+$PAD
+Sh "4" O 500 1000 0 0 0
+Dr 320 0 0
+At STD N 00D0FFFF
+Ne 2 "GND"
+Po -1181 0
+$EndPAD
+$EndMODULE  CONN_UART
+$TEXTPCB
+Te "PS2 to Serial"
+nl "PulkoTronics"
+Po 12500 9000 900 900 150 0
+De 0 0 0 Normal
+$EndTEXTPCB
+$DRAWSEGMENT
+Po 0 7000 8000 29000 8000 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 7000 21000 7000 8000 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 29000 21000 7000 21000 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 7000 21000 7000 8000 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 29000 8000 29000 21000 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$TRACK
+Po 0 10000 12500 9500 13000 80 -1
+De 0 0 1 0 0
+Po 0 10500 12000 10000 12500 80 -1
+De 0 0 1 0 0
+Po 0 19875 12000 10500 12000 80 -1
+De 0 0 1 0 0
+Po 0 11500 15000 11500 15625 80 -1
+De 0 0 1 0 400
+Po 0 9500 13000 11500 15000 80 -1
+De 0 0 1 0 0
+Po 0 20000 12500 20000 12125 80 -1
+De 0 0 1 0 800
+Po 0 20000 12125 19875 12000 80 -1
+De 0 0 1 0 0
+Po 0 19000 15500 19000 15000 80 -1
+De 0 0 1 0 800
+Po 0 19875 13000 20000 12875 80 -1
+De 0 0 1 0 C00
+Po 0 20000 12875 20000 12500 80 -1
+De 0 0 1 0 C00
+Po 0 22000 9500 21500 9500 80 -1
+De 0 0 1 0 800
+Po 0 21500 9500 19875 11125 80 -1
+De 0 0 1 0 0
+Po 0 19875 11125 19875 12000 80 -1
+De 0 0 1 0 0
+Po 0 13606 17500 13606 18106 80 -1
+De 0 0 1 0 800
+Po 0 16600 20000 18600 18000 80 -1
+De 0 0 1 0 400
+Po 0 15500 20000 16600 20000 80 -1
+De 0 0 1 0 0
+Po 0 13606 18106 15500 20000 80 -1
+De 0 0 1 0 0
+Po 0 18600 18000 18600 17100 80 -1
+De 0 0 1 0 800
+Po 0 17500 16000 17500 14500 80 -1
+De 0 0 1 0 0
+Po 0 18600 17100 17500 16000 80 -1
+De 0 0 1 0 0
+Po 0 20000 12500 21000 12500 80 -1
+De 0 0 1 0 C00
+Po 0 12000 15500 12000 15625 80 -1
+De 0 0 1 0 400
+Po 0 13000 14500 12000 15500 80 -1
+De 0 0 1 0 0
+Po 0 18500 14500 17500 14500 80 -1
+De 0 0 1 0 0
+Po 0 17500 14500 13000 14500 80 -1
+De 0 0 1 0 0
+Po 0 19000 15000 18500 14500 80 -1
+De 0 0 1 0 0
+Po 0 19125 13000 19125 14125 80 -1
+De 0 0 2 0 800
+Po 0 20000 15000 20000 15500 80 -1
+De 0 0 2 0 400
+Po 0 19125 14125 20000 15000 80 -1
+De 0 0 2 0 0
+Po 0 19000 12500 19000 12875 80 -1
+De 0 0 2 0 C00
+Po 0 19000 12875 19125 13000 80 -1
+De 0 0 2 0 C00
+Po 0 19125 12375 19000 12500 80 -1
+De 0 0 2 0 400
+Po 0 23000 9500 24000 9500 80 -1
+De 0 0 2 0 C00
+Po 0 24000 9500 25000 9500 80 -1
+De 0 0 2 0 C00
+Po 0 25000 9500 26000 9500 80 -1
+De 0 0 2 0 C00
+Po 0 26000 9500 26500 9500 80 -1
+De 0 0 2 0 800
+Po 0 26500 9500 27000 10000 80 -1
+De 0 0 2 0 0
+Po 0 27000 10000 27000 14500 80 -1
+De 0 0 2 0 0
+Po 0 10484 13016 12016 13016 80 -1
+De 0 0 2 0 800
+Po 0 18000 13500 19000 12500 80 -1
+De 0 0 2 0 400
+Po 0 12500 13500 18000 13500 80 -1
+De 0 0 2 0 0
+Po 0 12016 13016 12500 13500 80 -1
+De 0 0 2 0 0
+Po 0 19450 18000 19500 18000 80 -1
+De 0 0 2 0 800
+Po 0 12819 18319 12819 17500 80 -1
+De 0 0 2 0 400
+Po 0 15000 20500 12819 18319 80 -1
+De 0 0 2 0 0
+Po 0 19500 20500 15000 20500 80 -1
+De 0 0 2 0 0
+Po 0 20000 20000 19500 20500 80 -1
+De 0 0 2 0 0
+Po 0 20000 18500 20000 20000 80 -1
+De 0 0 2 0 0
+Po 0 19500 18000 20000 18500 80 -1
+De 0 0 2 0 0
+Po 0 20000 15500 20000 16000 80 -1
+De 0 0 2 0 800
+Po 0 20000 16000 21000 17000 80 -1
+De 0 0 2 0 0
+Po 0 21000 17000 21000 17500 80 -1
+De 0 0 2 0 0
+Po 0 19450 18000 19450 17550 80 -1
+De 0 0 2 0 800
+Po 0 21625 17500 22500 18375 80 -1
+De 0 0 2 0 400
+Po 0 19500 17500 21000 17500 80 -1
+De 0 0 2 0 0
+Po 0 21000 17500 21625 17500 80 -1
+De 0 0 2 0 0
+Po 0 19450 17550 19500 17500 80 -1
+De 0 0 2 0 0
+Po 0 27500 18375 22500 18375 80 -1
+De 0 0 2 0 C00
+Po 0 26413 14500 27000 14500 80 -1
+De 0 0 2 0 800
+Po 0 27000 14500 27500 14500 80 -1
+De 0 0 2 0 0
+Po 0 28125 18375 27500 18375 80 -1
+De 0 0 2 0 400
+Po 0 28500 18000 28125 18375 80 -1
+De 0 0 2 0 0
+Po 0 28500 15500 28500 18000 80 -1
+De 0 0 2 0 0
+Po 0 27500 14500 28500 15500 80 -1
+De 0 0 2 0 0
+Po 0 19125 12375 19000 12500 80 -1
+De 0 0 2 0 400
+Po 0 11500 17375 12694 17375 80 -1
+De 0 0 2 0 800
+Po 0 12694 17375 12819 17500 80 -1
+De 0 0 2 0 400
+Po 0 21000 16500 21500 17000 80 -1
+De 0 0 3 0 0
+Po 0 22500 17625 22525 17625 80 -1
+De 0 0 3 0 800
+Po 0 22525 17625 23150 17000 80 -1
+De 0 0 3 0 400
+Po 0 21000 15500 21000 16500 80 -1
+De 0 0 3 0 800
+Po 0 21000 16500 21500 17000 80 -1
+De 0 0 3 0 0
+Po 0 21500 17000 23150 17000 80 -1
+De 0 0 3 0 400
+Po 0 21500 17000 23000 17000 80 -1
+De 0 0 3 0 0
+Po 0 26850 17000 26850 16850 80 -1
+De 0 0 4 0 800
+Po 0 26850 16850 26000 16000 80 -1
+De 0 0 4 0 0
+Po 0 26000 16000 22500 16000 80 -1
+De 0 0 4 0 0
+Po 0 22500 16000 22000 15500 80 -1
+De 0 0 4 0 400
+Po 0 26850 17000 26875 17000 80 -1
+De 0 0 4 0 800
+Po 0 26875 17000 27500 17625 80 -1
+De 0 0 4 0 400
+Po 0 26000 16000 27000 17000 80 -1
+De 0 0 4 0 0
+Po 0 22500 16000 26000 16000 80 -1
+De 0 0 4 0 0
+Po 0 22000 15500 22500 16000 80 -1
+De 0 0 4 0 800
+Po 0 25587 14500 24875 14500 80 -1
+De 0 0 5 0 C00
+Po 0 9500 12000 8000 12000 80 -1
+De 0 0 6 0 0
+Po 0 23500 10000 22500 10000 80 -1
+De 0 0 6 0 0
+Po 0 22500 10000 22500 9000 80 -1
+De 0 0 6 0 0
+Po 0 22500 9000 21000 9000 80 -1
+De 0 0 6 0 0
+Po 0 21000 9000 21000 9500 80 -1
+De 0 0 6 0 0
+Po 0 21000 9500 19000 11500 80 -1
+De 0 0 6 0 0
+Po 0 19000 11500 9500 11500 80 -1
+De 0 0 6 0 0
+Po 0 9500 11500 9500 12000 80 -1
+De 0 0 6 0 0
+Po 0 24000 10500 23500 10000 80 -1
+De 0 0 6 0 800
+Po 0 8375 16375 11500 16375 80 -1
+De 0 0 6 0 400
+Po 0 7500 15500 8375 16375 80 -1
+De 0 0 6 0 0
+Po 0 7500 12500 7500 15500 80 -1
+De 0 0 6 0 0
+Po 0 8000 12000 7500 12500 80 -1
+De 0 0 6 0 0
+Po 0 11500 16375 12125 16375 80 -1
+De 0 0 6 0 800
+Po 0 12125 16375 13000 15500 80 -1
+De 0 0 6 0 400
+Po 0 10484 15359 11500 16375 80 -1
+De 0 0 6 0 400
+Po 0 10484 14984 10484 15359 80 -1
+De 0 0 6 0 800
+Po 0 24125 15375 24000 15500 80 -1
+De 0 0 7 0 400
+Po 0 24125 14500 24125 15375 80 -1
+De 0 0 7 0 800
+Po 0 26000 10500 26000 11500 80 -1
+De 0 0 8 0 800
+Po 0 23500 12000 23000 12500 80 -1
+De 0 0 8 0 400
+Po 0 25500 12000 23500 12000 80 -1
+De 0 0 8 0 0
+Po 0 26000 11500 25500 12000 80 -1
+De 0 0 8 0 0
+Po 0 23000 11500 22000 12500 80 -1
+De 0 0 9 0 400
+Po 0 24500 11500 23000 11500 80 -1
+De 0 0 9 0 0
+Po 0 25000 11000 24500 11500 80 -1
+De 0 0 9 0 0
+Po 0 25000 10500 25000 11000 80 -1
+De 0 0 9 0 800
+Po 0 17000 17500 17000 15500 80 -1
+De 0 0 10 0 400
+Po 0 17750 18000 17500 18000 80 -1
+De 0 0 10 0 800
+Po 0 17500 18000 17000 17500 80 -1
+De 0 0 10 0 0
+Po 0 22000 10500 22000 11500 80 -1
+De 0 0 11 0 800
+Po 0 24000 13000 24000 12500 80 -1
+De 0 0 11 0 400
+Po 0 23500 13500 24000 13000 80 -1
+De 0 0 11 0 0
+Po 0 22000 13500 23500 13500 80 -1
+De 0 0 11 0 0
+Po 0 21500 13000 22000 13500 80 -1
+De 0 0 11 0 0
+Po 0 21500 12000 21500 13000 80 -1
+De 0 0 11 0 0
+Po 0 22000 11500 21500 12000 80 -1
+De 0 0 11 0 0
+Po 0 18000 16000 18000 15500 80 -1
+De 0 0 12 0 400
+Po 0 20250 17000 19000 17000 80 -1
+De 0 0 12 0 800
+Po 0 19000 17000 18000 16000 80 -1
+De 0 0 12 0 0
+Po 0 14000 16000 14000 15500 80 -1
+De 0 0 13 0 400
+Po 0 14394 17500 14394 16394 80 -1
+De 0 0 13 0 800
+Po 0 14394 16394 14000 16000 80 -1
+De 0 0 13 0 0
+Po 0 15181 16181 15000 16000 80 -1
+De 0 0 14 0 0
+Po 0 15000 16000 15000 15500 80 -1
+De 0 0 14 0 400
+Po 0 15181 17500 15181 16181 80 -1
+De 0 0 14 0 800
+$EndTRACK
+$ZONE
+$EndZONE
+$CZONE_OUTLINE
+ZInfo 4C20C757 0 ""
+ZLayer 28
+ZAux 4 E
+ZClearance 200 T
+ZMinThickness 100
+ZOptions 0 16 F 200 200
+ZCorner 29000 21000 0
+ZCorner 29000 8000 0
+ZCorner 7000 8000 0
+ZCorner 7000 21000 1
+$POLYSCORNERS
+29000 21000 0 0
+29000 8000 0 0
+7000 8000 0 0
+7000 21000 1 0
+$endPOLYSCORNERS
+$endCZONE_OUTLINE
+$EndBOARD
Index: aktoserial/circuit/ps2toserial.cmp
===================================================================
--- aktoserial/circuit/ps2toserial.cmp	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ aktoserial/circuit/ps2toserial.cmp	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,101 @@
+Cmp-Mod V01 Created by CvPCB (2010-05-05 BZR 2356)-stable date = 22/06/2010 15:42:20
+
+BeginCmp
+TimeStamp = /4C20AD6D;
+Reference = C1;
+ValeurCmp = 27pF;
+IdModule  = SM0805;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20AD73;
+Reference = C2;
+ValeurCmp = 27pF;
+IdModule  = SM0805;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20B25A;
+Reference = C3;
+ValeurCmp = 100nF;
+IdModule  = SM0805;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20B56F;
+Reference = C4;
+ValeurCmp = 100nF;
+IdModule  = SM0805;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C209C03;
+Reference = CON_PROG1;
+ValeurCmp = HE10;
+IdModule  = HE10-10d;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20B276;
+Reference = D1;
+ValeurCmp = DIODE;
+IdModule  = SM0805;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20B393;
+Reference = D2;
+ValeurCmp = LED;
+IdModule  = LED-0805;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C209A59;
+Reference = IC1;
+ValeurCmp = ATMEGA8-P;
+IdModule  = DIP-28__300;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20B6CD;
+Reference = P1;
+ValeurCmp = CONN_4;
+IdModule  = CONN_UART;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20A3B4;
+Reference = PS2;
+ValeurCmp = CONN_6;
+IdModule  = Mini_din6;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20B267;
+Reference = R1;
+ValeurCmp = 10K;
+IdModule  = SM0805;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20B383;
+Reference = R2;
+ValeurCmp = 470R;
+IdModule  = SM0805;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20B295;
+Reference = SW1;
+ValeurCmp = SW_PUSH;
+IdModule  = PUSH_BUTT_SHAPE1;
+EndCmp
+
+BeginCmp
+TimeStamp = /4C20AD34;
+Reference = X1;
+ValeurCmp = 16MHz;
+IdModule  = Q_49U3HMS;
+EndCmp
+
+EndListe
Index: aktoserial/circuit/ps2toserial.lst
===================================================================
--- aktoserial/circuit/ps2toserial.lst	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ aktoserial/circuit/ps2toserial.lst	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,13 @@
+eeschema (2010-05-05 BZR 2356)-stable  >> Creation date: 22/06/2010 13:20:24
+
+#Cmp ( ordre = Référence )
+| ATMEGA     ATMEGA8-P   
+| CON_PROG   DIL10       
+#End Cmp
+
+#Cmp ( ordre = Valeur )
+| ATMEGA8-P    ATMEGA    
+| DIL10        CON_PROG  
+#End Cmp
+
+#End List
Index: aktoserial/circuit/ps2toserial.net
===================================================================
--- aktoserial/circuit/ps2toserial.net	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ aktoserial/circuit/ps2toserial.net	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,224 @@
+# EESchema Netlist Version 1.1 created  22/06/2010 16:05:28
+(
+ ( /4C20B6CD $noname  P1 CONN_4 {Lib=CONN_4}
+  (    1 N-000029 )
+  (    2 N-000028 )
+  (    3 +5V )
+  (    4 GND )
+ )
+ ( /4C20B56F $noname  C4 100nF {Lib=C}
+  (    1 GND )
+  (    2 +5V )
+ )
+ ( /4C20B393 $noname  D2 LED {Lib=LED}
+  (    1 N-000004 )
+  (    2 GND )
+ )
+ ( /4C20B383 $noname  R2 470R {Lib=R}
+  (    1 N-000007 )
+  (    2 N-000004 )
+ )
+ ( /4C20B295 $noname  SW1 SW_PUSH {Lib=SW_PUSH}
+  (    1 GND )
+  (    2 N-000005 )
+ )
+ ( /4C20B276 $noname  D1 DIODE {Lib=DIODE}
+  (    1 N-000005 )
+  (    2 +5V )
+ )
+ ( /4C20B267 $noname  R1 10K {Lib=R}
+  (    1 N-000005 )
+  (    2 +5V )
+ )
+ ( /4C20B25A $noname  C3 100nF {Lib=C}
+  (    1 N-000005 )
+  (    2 GND )
+ )
+ ( /4C20AD73 $noname  C2 27pF {Lib=C}
+  (    1 N-000002 )
+  (    2 GND )
+ )
+ ( /4C20AD6D $noname  C1 27pF {Lib=C}
+  (    1 N-000001 )
+  (    2 GND )
+ )
+ ( /4C20AD34 $noname  X1 16MHz {Lib=CRYSTAL}
+  (    1 N-000001 )
+  (    2 N-000002 )
+ )
+ ( /4C20A3B4 Mini_din6  PS2 CONN_6 {Lib=CONN_6}
+  (    1 N-000027 )
+  (    2 ? )
+  (    3 GND )
+  (    4 +5V )
+  (    5 N-000022 )
+  (    6 ? )
+ )
+ ( /4C209C03 HE10-10d  CON_PROG1 HE10 {Lib=DIL10}
+  (    1 N-000024 )
+  (    2 +5V )
+  (    3 ? )
+  (    4 GND )
+  (    5 N-000005 )
+  (    6 GND )
+  (    7 N-000019 )
+  (    8 GND )
+  (    9 N-000017 )
+  (   10 GND )
+ )
+ ( /4C209A59 DIP-28__300  IC1 ATMEGA8-P {Lib=ATMEGA8-P}
+  (    1 N-000005 )
+  (    2 N-000028 )
+  (    3 N-000029 )
+  (    4 ? )
+  (    5 N-000022 )
+  (    6 N-000027 )
+  (    7 +5V )
+  (    8 GND )
+  (    9 N-000001 )
+  (   10 N-000002 )
+  (   11 ? )
+  (   12 N-000007 )
+  (   13 ? )
+  (   14 ? )
+  (   15 ? )
+  (   16 ? )
+  (   17 N-000024 )
+  (   18 N-000017 )
+  (   19 N-000019 )
+  (   20 +5V )
+  (   21 +5V )
+  (   22 GND )
+  (   23 ? )
+  (   24 ? )
+  (   25 ? )
+  (   26 ? )
+  (   27 ? )
+  (   28 ? )
+ )
+)
+*
+{ Allowed footprints by component:
+$component C4
+ SM*
+ C?
+ C1-1
+$endlist
+$component D2
+ LED-3MM
+ LED-5MM
+ LED-10MM
+ LED-0603
+ LED-0805
+ LED-1206
+ LEDV
+$endlist
+$component R2
+ R?
+ SM0603
+ SM0805
+ R?-*
+ SM1206
+$endlist
+$component D1
+ D?
+ S*
+$endlist
+$component R1
+ R?
+ SM0603
+ SM0805
+ R?-*
+ SM1206
+$endlist
+$component C3
+ SM*
+ C?
+ C1-1
+$endlist
+$component C2
+ SM*
+ C?
+ C1-1
+$endlist
+$component C1
+ SM*
+ C?
+ C1-1
+$endlist
+$component IC1
+ 28DIP-ELL600
+ 28dip600
+$endlist
+$endfootprintlist
+}
+{ Pin List by Nets
+Net 1 "" ""
+ IC1 9
+ C1 1
+ X1 1
+Net 2 "" ""
+ X1 2
+ C2 1
+ IC1 10
+Net 4 "" ""
+ D2 1
+ R2 2
+Net 5 "" ""
+ IC1 1
+ C3 1
+ R1 1
+ CON_PROG1 5
+ D1 1
+ SW1 2
+Net 7 "" ""
+ R2 1
+ IC1 12
+Net 17 "" ""
+ IC1 18
+ CON_PROG1 9
+Net 19 "" ""
+ IC1 19
+ CON_PROG1 7
+Net 20 "GND" "GND"
+ C2 2
+ C1 2
+ D2 2
+ C4 1
+ P1 4
+ CON_PROG1 10
+ CON_PROG1 8
+ CON_PROG1 6
+ CON_PROG1 4
+ C3 2
+ PS2 3
+ SW1 1
+ IC1 22
+ IC1 8
+Net 21 "+5V" "+5V"
+ P1 3
+ IC1 21
+ C4 2
+ IC1 20
+ CON_PROG1 2
+ PS2 4
+ R1 2
+ D1 2
+ IC1 7
+Net 22 "" ""
+ IC1 5
+ PS2 5
+Net 24 "" ""
+ IC1 17
+ CON_PROG1 1
+Net 27 "" ""
+ PS2 1
+ IC1 6
+Net 28 "" ""
+ IC1 2
+ P1 2
+Net 29 "" ""
+ P1 1
+ IC1 3
+}
+#End
Index: aktoserial/circuit/ps2toserial.pro
===================================================================
--- aktoserial/circuit/ps2toserial.pro	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ aktoserial/circuit/ps2toserial.pro	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,106 @@
+update=22/06/2010 16:28:40
+version=1
+last_client=pcbnew
+[eeschema]
+version=1
+LibDir=
+NetFmt=1
+HPGLSpd=20
+HPGLDm=15
+HPGLNum=1
+offX_A4=0
+offY_A4=0
+offX_A3=0
+offY_A3=0
+offX_A2=0
+offY_A2=0
+offX_A1=0
+offY_A1=0
+offX_A0=0
+offY_A0=0
+offX_A=0
+offY_A=0
+offX_B=0
+offY_B=0
+offX_C=0
+offY_C=0
+offX_D=0
+offY_D=0
+offX_E=0
+offY_E=0
+RptD_X=0
+RptD_Y=100
+RptLab=1
+SimCmd=
+UseNetN=0
+LabSize=60
+[eeschema/libraries]
+LibName1=power
+LibName2=device
+LibName3=transistors
+LibName4=conn
+LibName5=linear
+LibName6=regul
+LibName7=74xx
+LibName8=cmos4000
+LibName9=adc-dac
+LibName10=memory
+LibName11=xilinx
+LibName12=special
+LibName13=microcontrollers
+LibName14=dsp
+LibName15=microchip
+LibName16=analog_switches
+LibName17=motorola
+LibName18=texas
+LibName19=intel
+LibName20=audio
+LibName21=interface
+LibName22=digital-audio
+LibName23=philips
+LibName24=display
+LibName25=cypress
+LibName26=siliconi
+LibName27=opto
+LibName28=atmel
+LibName29=contrib
+LibName30=valves
+[general]
+version=1
+[cvpcb]
+version=1
+NetIExt=net
+[cvpcb/libraries]
+EquName1=devcms
+[pcbnew]
+version=1
+PadDrlX=320
+PadDimH=600
+PadDimV=600
+BoardThickness=630
+SgPcb45=1
+TxtPcbV=800
+TxtPcbH=600
+TxtModV=600
+TxtModH=600
+TxtModW=120
+VEgarde=100
+DrawLar=150
+EdgeLar=150
+TxtLar=120
+MSegLar=150
+LastNetListRead=ps2toserial.net
+[pcbnew/libraries]
+LibDir=
+LibName1=sockets
+LibName2=connect
+LibName3=discret
+LibName4=pin_array
+LibName5=divers
+LibName6=libcms
+LibName7=display
+LibName8=valves
+LibName9=led
+LibName10=dip_sockets
+LibName11=r_mini_din
+LibName12=ENSSAT_robotique
Index: aktoserial/circuit/ps2toserial.sch
===================================================================
--- aktoserial/circuit/ps2toserial.sch	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ aktoserial/circuit/ps2toserial.sch	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,450 @@
+EESchema Schematic File Version 2  date 22/06/2010 16:28:43
+LIBS:power
+LIBS:device
+LIBS:transistors
+LIBS:conn
+LIBS:linear
+LIBS:regul
+LIBS:74xx
+LIBS:cmos4000
+LIBS:adc-dac
+LIBS:memory
+LIBS:xilinx
+LIBS:special
+LIBS:microcontrollers
+LIBS:dsp
+LIBS:microchip
+LIBS:analog_switches
+LIBS:motorola
+LIBS:texas
+LIBS:intel
+LIBS:audio
+LIBS:interface
+LIBS:digital-audio
+LIBS:philips
+LIBS:display
+LIBS:cypress
+LIBS:siliconi
+LIBS:opto
+LIBS:atmel
+LIBS:contrib
+LIBS:valves
+LIBS:ps2toserial-cache
+EELAYER 24  0
+EELAYER END
+$Descr User 7000 6000
+Sheet 1 1
+Title "PS/2 to serial converter"
+Date "22 jun 2010"
+Rev "2010.06.22"
+Comp "PulkoTronics"
+Comment1 ""
+Comment2 ""
+Comment3 ""
+Comment4 ""
+$EndDescr
+Connection ~ 5650 2800
+Wire Wire Line
+	5650 2600 5650 3000
+Wire Wire Line
+	5650 2600 6000 2600
+Connection ~ 6000 3000
+Wire Wire Line
+	5650 3000 6100 3000
+Wire Wire Line
+	5300 2700 5200 2700
+Wire Wire Line
+	6000 2900 6100 2900
+Wire Notes Line
+	5100 1750 5100 1600
+Wire Notes Line
+	5100 1600 4800 1600
+Wire Notes Line
+	4800 1600 4800 2250
+Wire Wire Line
+	5050 2150 5150 2150
+Wire Wire Line
+	5050 1950 5150 1950
+Wire Wire Line
+	3350 2600 3550 2600
+Wire Wire Line
+	1400 850  1900 850 
+Connection ~ 600  1150
+Wire Wire Line
+	1000 850  600  850 
+Wire Wire Line
+	600  850  600  4300
+Wire Wire Line
+	4050 3200 4150 3200
+Wire Wire Line
+	1700 1400 2350 1400
+Connection ~ 600  1500
+Wire Wire Line
+	600  1150 800  1150
+Connection ~ 600  1900
+Wire Wire Line
+	1100 1700 1450 1700
+Connection ~ 6000 2900
+Wire Wire Line
+	3350 4000 3550 4000
+Wire Wire Line
+	3350 3800 3550 3800
+Wire Notes Line
+	4800 2450 6300 2450
+Wire Notes Line
+	6300 2450 6300 3100
+Wire Notes Line
+	6300 3100 4800 3100
+Wire Wire Line
+	600  1900 1450 1900
+Wire Wire Line
+	2350 4600 2350 4300
+Connection ~ 1100 2200
+Wire Wire Line
+	1000 2200 1450 2200
+Wire Wire Line
+	1450 2600 1450 2800
+Connection ~ 2350 4300
+Wire Wire Line
+	1450 2000 1450 2100
+Wire Wire Line
+	5600 3650 5450 3650
+Wire Wire Line
+	5450 3850 5600 3850
+Wire Notes Line
+	4800 3150 5650 3150
+Wire Notes Line
+	4800 3150 4800 4100
+Wire Notes Line
+	4800 4100 6150 4100
+Wire Notes Line
+	6150 4100 6150 3300
+Wire Notes Line
+	6150 3300 4800 3300
+Wire Wire Line
+	3350 2900 3550 2900
+Wire Wire Line
+	3350 3000 3550 3000
+Wire Notes Line
+	5650 3150 5650 3300
+Wire Wire Line
+	5450 3450 5600 3450
+Wire Wire Line
+	5600 3750 5300 3750
+Wire Wire Line
+	1450 2100 2350 2100
+Wire Wire Line
+	2350 2100 2350 1100
+Connection ~ 2350 1400
+Wire Wire Line
+	1450 2200 1450 2400
+Wire Wire Line
+	1450 2800 1000 2800
+Connection ~ 1100 2800
+Connection ~ 1450 1900
+Connection ~ 600  2200
+Wire Wire Line
+	2350 4300 600  4300
+Connection ~ 600  2800
+Wire Wire Line
+	5200 2600 5300 2600
+Wire Notes Line
+	4800 3100 4800 2300
+Wire Notes Line
+	4800 2300 5100 2300
+Wire Notes Line
+	5100 2300 5100 2450
+Wire Wire Line
+	3350 3900 3550 3900
+Connection ~ 6000 2800
+Connection ~ 1200 1700
+Wire Wire Line
+	1200 1150 1200 1700
+Connection ~ 1200 1500
+Wire Wire Line
+	1600 1150 2350 1150
+Connection ~ 2350 1150
+Connection ~ 1200 1400
+Wire Wire Line
+	3350 3200 3550 3200
+Wire Wire Line
+	4550 3200 4700 3200
+Wire Wire Line
+	1900 850  1900 1150
+Connection ~ 1900 1150
+Wire Wire Line
+	3350 2700 3550 2700
+Wire Wire Line
+	5050 1850 5150 1850
+Wire Wire Line
+	5050 2050 5150 2050
+Wire Notes Line
+	4800 2250 5650 2250
+Wire Notes Line
+	5650 2250 5650 1750
+Wire Notes Line
+	5650 1750 4800 1750
+Wire Wire Line
+	6000 2700 6100 2700
+Wire Wire Line
+	5300 3000 5200 3000
+Wire Wire Line
+	5650 2900 5300 2900
+Wire Wire Line
+	5650 2800 6000 2800
+Connection ~ 5650 2900
+Text Notes 5050 1700 2    60   ~ 0
+UART
+$Comp
+L +5V #PWR01
+U 1 1 4C20B727
+P 5050 2050
+F 0 "#PWR01" H 5050 2140 20  0001 C CNN
+F 1 "+5V" H 5050 2140 30  0000 C CNN
+	1    5050 2050
+	0    -1   -1   0   
+$EndComp
+$Comp
+L GND #PWR02
+U 1 1 4C20B722
+P 5050 2150
+F 0 "#PWR02" H 5050 2150 30  0001 C CNN
+F 1 "GND" H 5050 2080 30  0001 C CNN
+	1    5050 2150
+	0    1    1    0   
+$EndComp
+Text GLabel 5050 1850 0    60   Input ~ 0
+TX
+Text GLabel 5050 1950 0    60   Output ~ 0
+RX
+$Comp
+L CONN_4 P1
+U 1 1 4C20B6CD
+P 5500 2000
+F 0 "P1" V 5450 2000 50  0000 C CNN
+F 1 "CONN_4" V 5550 2000 50  0000 C CNN
+	1    5500 2000
+	1    0    0    -1  
+$EndComp
+Text Notes 4200 3950 2    60   ~ 0
+to ICSP
+Text Notes 4600 2950 2    60   ~ 0
+to Keyboard
+Text Notes 4100 2700 2    60   ~ 0
+to UART
+Text GLabel 3550 2700 2    60   Output ~ 0
+TX
+Text GLabel 3550 2600 2    60   Input ~ 0
+RX
+$Comp
+L C C4
+U 1 1 4C20B56F
+P 1200 850
+F 0 "C4" H 1250 950 50  0000 L CNN
+F 1 "100nF" H 1250 750 50  0000 L CNN
+	1    1200 850 
+	0    -1   -1   0   
+$EndComp
+$Comp
+L GND #PWR03
+U 1 1 4C20B3CD
+P 4700 3200
+F 0 "#PWR03" H 4700 3200 30  0001 C CNN
+F 1 "GND" H 4700 3130 30  0001 C CNN
+	1    4700 3200
+	0    -1   -1   0   
+$EndComp
+$Comp
+L LED D2
+U 1 1 4C20B393
+P 4350 3200
+F 0 "D2" H 4350 3300 50  0000 C CNN
+F 1 "LED" H 4350 3100 50  0000 C CNN
+	1    4350 3200
+	1    0    0    -1  
+$EndComp
+$Comp
+L R R2
+U 1 1 4C20B383
+P 3800 3200
+F 0 "R2" V 3880 3200 50  0000 C CNN
+F 1 "470R" V 3800 3200 50  0000 C CNN
+	1    3800 3200
+	0    -1   -1   0   
+$EndComp
+$Comp
+L SW_PUSH SW1
+U 1 1 4C20B295
+P 900 1500
+F 0 "SW1" H 1050 1610 50  0000 C CNN
+F 1 "SW_PUSH" H 900 1420 50  0000 C CNN
+	1    900  1500
+	1    0    0    -1  
+$EndComp
+$Comp
+L DIODE D1
+U 1 1 4C20B276
+P 1400 1150
+F 0 "D1" H 1400 1250 40  0000 C CNN
+F 1 "DIODE" H 1400 1050 40  0000 C CNN
+	1    1400 1150
+	1    0    0    -1  
+$EndComp
+$Comp
+L R R1
+U 1 1 4C20B267
+P 1450 1400
+F 0 "R1" V 1530 1400 50  0000 C CNN
+F 1 "10K" V 1450 1400 50  0000 C CNN
+	1    1450 1400
+	0    -1   -1   0   
+$EndComp
+$Comp
+L C C3
+U 1 1 4C20B25A
+P 1000 1150
+F 0 "C3" H 1050 1250 50  0000 L CNN
+F 1 "100nF" H 1050 1050 50  0000 L CNN
+	1    1000 1150
+	0    1    1    0   
+$EndComp
+Text GLabel 3550 4000 2    60   Input ~ 0
+SCK
+Text GLabel 1100 1700 0    60   Input ~ 0
+RESET
+Text GLabel 3550 3900 2    60   Output ~ 0
+MISO
+Text GLabel 3550 3800 2    60   Input ~ 0
+MOSI
+Text Notes 4850 2400 0    60   ~ 0
+ICSP
+$Comp
+L GND #PWR04
+U 1 1 4C20B0E8
+P 6100 3000
+F 0 "#PWR04" H 6100 3000 30  0001 C CNN
+F 1 "GND" H 6100 2930 30  0001 C CNN
+	1    6100 3000
+	0    -1   -1   0   
+$EndComp
+$Comp
+L +5V #PWR05
+U 1 1 4C20B0DF
+P 5200 2700
+F 0 "#PWR05" H 5200 2790 20  0001 C CNN
+F 1 "+5V" H 5200 2790 30  0000 C CNN
+	1    5200 2700
+	0    -1   -1   0   
+$EndComp
+Text GLabel 6100 2700 2    60   Input ~ 0
+MISO
+Text GLabel 6100 2900 2    60   Output ~ 0
+SCK
+Text GLabel 5200 3000 0    60   Output ~ 0
+RESET
+Text GLabel 5200 2600 0    60   Output ~ 0
+MOSI
+$Comp
+L C C2
+U 1 1 4C20AD73
+P 800 2800
+F 0 "C2" H 850 2900 50  0000 L CNN
+F 1 "27pF" H 850 2700 50  0000 L CNN
+	1    800  2800
+	0    1    1    0   
+$EndComp
+$Comp
+L C C1
+U 1 1 4C20AD6D
+P 800 2200
+F 0 "C1" H 850 2300 50  0000 L CNN
+F 1 "27pF" H 850 2100 50  0000 L CNN
+	1    800  2200
+	0    1    1    0   
+$EndComp
+$Comp
+L CRYSTAL X1
+U 1 1 4C20AD34
+P 1100 2500
+F 0 "X1" H 1100 2650 60  0000 C CNN
+F 1 "16MHz" H 1100 2350 60  0000 C CNN
+	1    1100 2500
+	0    1    1    0   
+$EndComp
+$Comp
+L +5V #PWR06
+U 1 1 4C20ABFF
+P 5300 3750
+F 0 "#PWR06" H 5300 3840 20  0001 C CNN
+F 1 "+5V" H 5300 3840 30  0000 C CNN
+	1    5300 3750
+	0    -1   -1   0   
+$EndComp
+$Comp
+L GND #PWR07
+U 1 1 4C20ABF2
+P 5450 3650
+F 0 "#PWR07" H 5450 3650 30  0001 C CNN
+F 1 "GND" H 5450 3580 30  0001 C CNN
+	1    5450 3650
+	0    1    1    0   
+$EndComp
+Text Notes 4850 3250 0    60   ~ 0
+Connecteur ps/2
+Text GLabel 3550 3000 2    60   BiDi ~ 0
+PS2_DATA
+Text GLabel 5450 3450 0    60   BiDi ~ 0
+PS2_DATA
+Text GLabel 5450 3850 0    60   Output ~ 0
+PS2_CLK
+Text GLabel 3550 2900 2    60   Input ~ 0
+PS2_CLK
+$Comp
+L GND #PWR08
+U 1 1 4C20AAB2
+P 2350 4600
+F 0 "#PWR08" H 2350 4600 30  0001 C CNN
+F 1 "GND" H 2350 4530 30  0001 C CNN
+	1    2350 4600
+	1    0    0    -1  
+$EndComp
+$Comp
+L +5V #PWR09
+U 1 1 4C20AAA4
+P 2350 1100
+F 0 "#PWR09" H 2350 1190 20  0001 C CNN
+F 1 "+5V" H 2350 1190 30  0000 C CNN
+	1    2350 1100
+	1    0    0    -1  
+$EndComp
+$Comp
+L CONN_6 PS2
+U 1 1 4C20A3B4
+P 5950 3700
+F 0 "PS2" V 5900 3700 60  0000 C CNN
+F 1 "CONN_6" V 6000 3700 60  0000 C CNN
+F 2 "Mini_din6" V 5840 3640 60  0001 C CNN
+	1    5950 3700
+	1    0    0    -1  
+$EndComp
+$Comp
+L DIL10 CON_PROG1
+U 1 1 4C209C03
+P 5650 2800
+F 0 "CON_PROG1" H 5650 3100 60  0000 C CNN
+F 1 "HE10" V 5650 2800 50  0000 C CNN
+F 2 "HE10-10d" H 5590 3160 60  0001 C CNN
+	1    5650 2800
+	1    0    0    -1  
+$EndComp
+$Comp
+L ATMEGA8-P IC1
+U 1 1 4C209A59
+P 2350 2800
+F 0 "IC1" H 1650 4050 50  0000 L BNN
+F 1 "ATMEGA8-P" H 2600 1400 50  0000 L BNN
+F 2 "DIP-28__300" H 2850 1325 50  0001 C CNN
+	1    2350 2800
+	1    0    0    -1  
+$EndComp
+$EndSCHEMATC
Index: aktoserial/code/Makefile
===================================================================
--- aktoserial/code/Makefile	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ aktoserial/code/Makefile	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,14 @@
+keyboard.hex: keyboard.bin
+	avr-objcopy -j .text -j .data -O ihex keyboard.bin keyboard.hex
+
+keyboard.bin: keyboard.o usart.o main.o
+	avr-gcc keyboard.o usart.o main.o -o keyboard.bin -mmcu=atmega8 -Os
+
+main.o: main.c ../../libs/usart/usart.h ../../libs/amiga_keyboard/amiga_keyboard.h
+	avr-gcc -c main.c -mmcu=atmega8 -Os -o main.o -mmcu=atmega8 -Os -I../../libs/
+
+usart.o: ../../libs/usart/usart.c ../../libs/usart/usart.h
+	avr-gcc -c ../../libs/usart/usart.c -o usart.o -mmcu=atmega8 -Os
+
+keyboard.o: ../../libs/amiga_keyboard/amiga_keyboard.c ../../libs/amiga_keyboard/amiga_keyboard.h ../../libs/amiga_keyboard/keymap.h
+	avr-gcc -c ../../libs/amiga_keyboard/amiga_keyboard.c -mmcu=atmega8 -Os -o keyboard.o
Index: aktoserial/code/keyboard.hex
===================================================================
--- aktoserial/code/keyboard.hex	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ aktoserial/code/keyboard.hex	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,36 @@
+:1000000052C061C06AC05FC05EC05DC05CC05BC002
+:100010005AC059C058C057C056C055C054C053C02C
+:1000200052C051C050C06031323334353637383960
+:10003000302D3D5C3F3071776572747975696F70F2
+:100040005B5D3F3132336173646667686A6B6C3B3A
+:1000500027B93F3435363C7A786376626E6D2C2E44
+:100060002F3F2E3738392008090A0A1B7F3F3F3FB0
+:100070003F3F55444C5231323334353637383930BE
+:100080003F3F3F3F3F4853534358414141413F3F2A
+:100090003F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F70
+:1000A0003F3F3F3F3F3F11241FBECFE5D4E0DEBFBF
+:1000B000CDBF10E0A0E6B0E001C01D92A536B107AB
+:1000C000E1F7A3D0B3C09CCF8C9A949884E591E0DB
+:1000D0000197F1F7949A8C9808951F920F920FB69A
+:1000E0000F9211242F933F938F939F9382B390E4A9
+:1000F000892782BB83992CC080916100882339F4C1
+:1001000081E0809361001092630010926200309150
+:100110006300383090F484990DC02091620080E82B
+:1001200090E0032E02C0959587950A94E2F7282B5C
+:10013000209362003F5F30936300809163008830BA
+:1001400038F0109261001092630081E080936400A7
+:100150009F918F913F912F910F900FBE0F901F9005
+:100160001895E82FF0E0EA5DFF4F949180916000D0
+:10017000882311F4892F0895892F80520895809142
+:1001800064008823E1F380B380EA8A95F1F79CDF6D
+:1001900010926400809162000895109261001092A4
+:1001A0006200109263008B98839A85B7886085BF40
+:1001B00085B78B7F85BF8BB780688BBF789484DFD2
+:1001C000089589B990BD86E880BD88E18AB908950F
+:1001D0005D9BFECF8CB908955F9BFECF8CB10895D7
+:1001E000982F92959F709A3010F4905D01C0995CA1
+:1001F0005D9BFECF9CB98F708A3010F4805D01C08A
+:10020000895C5D9BFECF8CB908958E9A83E390E064
+:10021000D8DFC3DF82E5DCDFB2DF982F96958795C4
+:1002200088278795892BDCDF80E2F5CFF894FFCF14
+:00000001FF
Index: aktoserial/code/main.c
===================================================================
--- aktoserial/code/main.c	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ aktoserial/code/main.c	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,29 @@
+#define F_CPU 16000000UL
+
+#include <avr/io.h>
+
+#include "amiga_keyboard/amiga_keyboard.h"
+#include "usart/usart.h"
+
+int main() {
+  //debug LED - output
+  DDRD |= (1<<PD6);
+
+  USARTInit(51);
+  ak_init_keyboard(); 
+
+  uint8_t key_code = 0;
+
+  // Ready!
+  USARTWriteChar('R');
+
+  while(1) {
+	key_code = ak_read_scancode();
+    //USARTWriteChar(ak_scancode_to_ascii(key_code));
+	USARTWriteHex((key_code >> 1) |(key_code << 7));
+	USARTWriteChar(' ');
+  }
+  
+  return 0;
+}
+
Index: oups
===================================================================
--- groups	(revision fcae2b57b2d9e13e7bbd82b3957c6db79d42002f)
+++ 	(revision )
@@ -1,3 +1,0 @@
-# UUID         	Group Name
-#
-user:pulkomandy	user/Adrien Destugues (pulkomandy)
Index: libs/amiga_keyboard/amiga_keyboard.c
===================================================================
--- libs/amiga_keyboard/amiga_keyboard.c	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ libs/amiga_keyboard/amiga_keyboard.c	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,145 @@
+/* Amiga Keyboard reading on Atmel AVR
+ * Copyright 2010, Adrien Destugues <pulkomandy@pulkomandy.ath.cx>
+ * Distributed under the terms of the MIT Licence */
+
+#define F_CPU 16000000UL
+
+#include <avr/io.h>
+#include <avr/interrupt.h>
+#include <avr/pgmspace.h>
+#include <util/delay.h>
+
+#include "keymap.h"
+
+
+//PIN configuration
+#define AK_CLK PD3 /* Also INT1 */
+#define AK_PORT PIND
+#define AK_DATA PD4
+
+volatile uint8_t kbd_data;
+volatile uint8_t char_waiting;
+uint8_t started;
+uint8_t bit_count;
+uint8_t shift;
+
+
+// Notify the keyboard we got the last char right
+inline void acknowledge_char()
+{
+	// We have to pull down the "DATA" line
+	
+	// Set it as an input
+	DDRD |= (1<<AK_DATA);
+
+	// Down for 85 us
+	PORTD &= ~(1<<AK_DATA);
+	_delay_us(85);
+
+	// Up again to let the keybord talk
+	PORTD |= (1<<AK_DATA);
+
+	// And it's now an input again
+	DDRD &= ~(1<<AK_DATA);
+}
+
+
+// Interrupt vector - Triggered when there is activity on the clock line
+ISR(INT1_vect)
+{
+	PORTD ^= (1<<PD6);
+
+	//make sure clock line is low, if not ignore this transition
+	if(AK_PORT & (1<<AK_CLK)){
+		return;
+	}
+
+	// First bit, reset everything then continue below
+	if(!started){
+		started = 1;
+		bit_count = 0;
+		kbd_data = 0;
+	} 
+
+	if(bit_count < 8) { //we started, read in the new bit
+		//put a 1 in the right place of kdb_data if PC2 is high, leave
+		//a 0 otherwise
+		if(!(AK_PORT & (1<<AK_DATA))) kbd_data |= (128>>bit_count);
+		bit_count++;
+	} 
+	
+	if(bit_count >= 8)
+	{  // enough bits
+		started = 0;
+		bit_count = 0;
+
+		/*
+		if(kbd_data == 0xF0){ //release code
+			release = 1;
+			kbd_data = 0;
+			return;
+		} else if (kbd_data == 0x12) { //hanlde shift key
+			if(release == 0){
+				shift = 1;
+			} else {
+				shift = 0;
+				release = 0;
+			}
+			return;
+		} else { //not a special character
+			if(release){ //we were in release mode - exit release mode
+				release = 0;
+				//ignore that character
+			} else {
+				char_waiting = 1;
+			}
+		}*/
+		char_waiting=1;
+	}
+}
+
+
+char ak_scancode_to_ascii(uint8_t data){
+	char to_ret = pgm_read_byte(&(keymap[data])); //grab character from array
+	if(shift) to_ret -= 0x20;
+	return to_ret;
+}
+
+
+uint8_t ak_read_scancode(){
+	while(!char_waiting);
+
+	while (AK_PORT & (1<<AK_CLK) == 0);
+	_delay_us(30);
+	acknowledge_char();
+
+	char_waiting = 0;
+	return kbd_data;
+}
+
+
+void ak_init_keyboard(){
+	started = 0;
+	kbd_data = 0;
+	bit_count = 0;
+
+	//make AK_CLK input pin
+	DDRD &= ~(1<<AK_CLK);
+	//turn on pullup resistor
+	AK_PORT |= (1<<AK_CLK);
+
+	// Interrupt configuration
+	// We use INT1 falling edge
+	MCUCR |= (1<<ISC11);
+	MCUCR &= ~(1<<ISC10);
+
+	// Enable INT1
+	GIMSK |= (1<<INT1);
+
+	// Enable interrupts
+	sei();
+
+	acknowledge_char();
+}
+
+
Index: libs/amiga_keyboard/amiga_keyboard.h
===================================================================
--- libs/amiga_keyboard/amiga_keyboard.h	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ libs/amiga_keyboard/amiga_keyboard.h	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,13 @@
+/* Amiga Keyboard reading on Atmel AVR
+ * Copyright 2010, Adrien Destugues <pulkomandy@pulkomandy.ath.cx>
+ * Distributed under the terms of the MIT Licence */
+
+#include <inttypes.h>
+
+
+void ak_init_keyboard();
+	// Call this to set up the I/O pins
+uint8_t ak_read_scancode();
+	// Wait for a char to come from the keyboard 
+char ak_scancode_to_ascii(uint8_t);
+	// Convert a keycode to a printable ASCII char
Index: libs/amiga_keyboard/keymap.h
===================================================================
--- libs/amiga_keyboard/keymap.h	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ libs/amiga_keyboard/keymap.h	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,11 @@
+const char keymap[128] PROGMEM = {
+//   0   1    2    3    4    5      6      7   8   9   A    B   C        D        E        F
+	'`','1', '2', '3', '4', '5',   '6',   '7','8','9','0', '-','=',     '\\',    '?',     '0'/*k*/, // 0
+	'q','w', 'e', 'r', 't', 'y',   'u',   'i','o','p','[', ']','?',     '1'/*k*/,'2'/*k*/,'3'/*k*/, // 1
+	'a','s', 'd', 'f', 'g', 'h',   'j',   'k','l',';','\'','ù','?',     '4'/*k*/,'5'/*k*/,'6'/*k*/, // 2
+	'<','z', 'x', 'c', 'v', 'b',   'n',   'm',',','.','/', '?','.'/*k*/,'7'/*k*/,'8'/*k*/,'9'/*k*/, // 3
+	' ','\b','\t','\n','\n','\x1B','\x7f','?','?','?','?', '?','U',     'D',     'L',     'R', // 4
+	'1','2', '3', '4', '5', '6',   '7',   '8','9','0','?', '?','?',     '?',     '?',     'H', // 5
+	'S','S', 'C', 'X', 'A', 'A',   'A',   'A','?','?','?','?','?','?','?','?', // 6
+	'?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?'  // 7
+};
Index: libs/ps2_keyboard/keymap.h
===================================================================
--- libs/ps2_keyboard/keymap.h	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ libs/ps2_keyboard/keymap.h	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,11 @@
+const char keymap[128] PROGMEM = {
+//   0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
+	'?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?', // 0
+	'?','?','?','?','?','q','1','?','?','?','z','s','a','w','2','?', // 1
+	'?','c','x','d','e','4','3','?','?',' ','v','f','t','r','5','?', // 2
+	'?','n','b','h','g','y','6','?','?','?','m','j','u','7','8','?', // 3
+	'?','?','k','i','o','0','9','?','?','?','?','l','?','p','?','?', // 4
+	'?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?', // 5
+	'?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?', // 6
+	'?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?'  // 7
+};
Index: libs/ps2_keyboard/ps2_keyboard.c
===================================================================
--- libs/ps2_keyboard/ps2_keyboard.c	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ libs/ps2_keyboard/ps2_keyboard.c	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,135 @@
+// keyboard.c
+// ps/2 keyboard decoder on ATMega8
+// copyright 2010, Adrien Destugues <pulkomandy@pulkomandy.ath.cx>
+// MIT Licence
+
+// Parts borrowed from :
+// keyboard.c
+// for NerdKits with ATmega168
+// hevans@nerdkits.com
+//
+// Designed for use with the USB NerdKit running with ATMega168. Datasheet page
+// numbers refer to ATMega168 datasheet.
+
+#define F_CPU 16000000UL
+
+#include <avr/io.h>
+#include <avr/interrupt.h>
+#include <avr/pgmspace.h>
+#include <util/delay.h>
+
+#include "keymap.h"
+
+
+//ps/2 Keyboard pin out
+//pin 5 - clock
+//pin 3 - GND
+//pin 1 - data
+//pin 4 - VCC
+
+//PIN configuration
+#define PS2_CLK PD3 /* Also INT1 */
+#define PS2_PORT PIND
+#define PS2_DATA PD4
+
+volatile uint8_t kbd_data;
+volatile uint8_t char_waiting;
+uint8_t started;
+uint8_t bit_count;
+uint8_t shift;
+uint8_t caps_lock;
+uint8_t extended;
+uint8_t release;
+
+// Interrupt vector - Triggered when there is activity on the clock line
+ISR(INT1_vect)
+{
+  PORTD ^= (1<<PD6);
+  //make sure clock line is low, if not ignore this transition
+  if(PS2_PORT & (1<<PS2_CLK)){
+    return;
+  }
+
+  //if we have not started, check for start bit on DATA line
+  if(!started){
+    if ( (PS2_PORT & (1<<PS2_DATA)) == 0 ) {
+      started = 1;
+      bit_count = 0;
+      kbd_data = 0;
+      //printf_P(PSTR("%d"),started);
+      return;
+    }
+  } else if(bit_count < 8) { //we started, read in the new bit
+    //put a 1 in the right place of kdb_data if PC2 is high, leave
+    //a 0 otherwise
+    if(PS2_PORT & (1<<PS2_DATA)){
+      kbd_data |= (1<<bit_count);
+    }
+    bit_count++;
+    return;
+  } else if(bit_count == 8){ //pairty bit 
+    //not implemented
+    bit_count++;
+    return;
+  } else {  //stop bit
+    //should check to make sure DATA line is high, what to do if not?
+    started = 0;
+    bit_count = 0;
+  }
+
+  if(kbd_data == 0xF0){ //release code
+    release = 1;
+    kbd_data = 0;
+    return;
+  } else if (kbd_data == 0x12) { //hanlde shift key
+    if(release == 0){
+      shift = 1;
+    } else {
+      shift = 0;
+      release = 0;
+    }
+    return;
+  } else { //not a special character
+    if(release){ //we were in release mode - exit release mode
+      release = 0;
+      //ignore that character
+    } else {
+      char_waiting = 1;
+    }
+  }
+}
+
+
+char render_scan_code(uint8_t data){
+  char to_ret = pgm_read_byte(&(keymap[data])); //grab character from array
+  if(shift) to_ret -= 0x20;
+  return to_ret;
+}
+
+
+uint8_t read_char(){
+  while(!char_waiting);
+  char_waiting = 0;
+  return kbd_data;
+}
+
+
+void init_keyboard(){
+  started = 0;
+  kbd_data = 0;
+  bit_count = 0;
+
+  //make PS2_CLK input pin
+  DDRD &= ~(1<<PS2_CLK);
+  //turn on pullup resistor
+  PS2_PORT |= (1<<PS2_CLK);
+
+ // PCMSK |= (1<<PIND3);
+  MCUCR |= (1<<ISC11); // Falling edge
+  MCUCR &= ~(1<<ISC10);
+  GIMSK |= (1<<INT1);
+
+  sei();
+}
+
+
Index: libs/ps2_keyboard/ps2_keyboard.h
===================================================================
--- libs/ps2_keyboard/ps2_keyboard.h	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ libs/ps2_keyboard/ps2_keyboard.h	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,9 @@
+#include <inttypes.h>
+
+
+void init_keybard();
+	// Call this to set up the I/O pins
+uint8_t read_char();
+	// Wait for a char to come from the keyboard 
+char render_scan_code(uint8_t);
+	// Convert a keycode to a printable ASCII char
Index: libs/usart/usart.c
===================================================================
--- libs/usart/usart.c	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ libs/usart/usart.c	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,80 @@
+/* AVR USART acces functions - stolen from Extreme Electronics */
+
+#include <avr/io.h>
+#include <inttypes.h>
+
+
+//This function is used to initialize the USART
+//at a given UBRR value
+void USARTInit(uint16_t ubrr_value)
+{
+
+   //Set Baud rate
+   UBRRL = ubrr_value;
+   UBRRH = (ubrr_value>>8);
+
+   /*Set Frame Format
+
+
+   >> Asynchronous mode
+   >> No Parity
+   >> 1 StopBit
+   >> char size 8
+
+   */
+
+   UCSRC=(1<<URSEL)|(3<<UCSZ0);
+
+   //Enable The receiver and transmitter
+   UCSRB=(1<<RXEN)|(1<<TXEN);
+}
+
+
+//This fuction writes the given "data" to
+//the USART which then transmit it via TX line
+void USARTWriteChar(char data)
+{
+	//Wait untill the transmitter is ready
+	while(!(UCSRA & (1<<UDRE)))
+	{
+		//Do nothing
+	}
+
+	//Now write the data to USART buffer
+
+	UDR=data;
+}
+
+
+//This function is used to read the available data
+//from USART. This function will wait untill data is
+//available.
+char USARTReadChar()
+{
+	//Wait untill a data is available
+	while(!(UCSRA & (1<<RXC)))
+	{
+		//Do nothing
+	}
+
+	//Now USART has got data from host
+	//and is available is buffer
+
+	return UDR;
+}
+
+
+void USARTWriteHex(unsigned char i)
+{
+	unsigned char k = i>>4;
+	if (k <=9) k+='0';
+	else k+=('A'-10);
+
+	USARTWriteChar(k);
+
+	k = i&0xF;
+	if (k <=9) k+='0';
+	else k+=('A'-10);
+
+	USARTWriteChar(k);
+}
Index: libs/usart/usart.h
===================================================================
--- libs/usart/usart.h	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ libs/usart/usart.h	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,7 @@
+/* USART i/o library
+ * Copyright 2010, Adrien Destugues <pulkomandy@pulkomandy.ath.cx>
+ * Distributed under the terms of the MIT Licence */
+
+void USARTInit(uint16_t ubrr_value);
+void USARTWriteChar(char data);
+void USARTWriteHex(unsigned char i);
Index: oject.config
===================================================================
--- project.config	(revision fcae2b57b2d9e13e7bbd82b3957c6db79d42002f)
+++ 	(revision )
@@ -1,15 +1,0 @@
-[access]
-	inheritFrom = All-Projects
-[submit]
-	action = inherit
-[access "refs/*"]
-	owner = group user/Adrien Destugues (pulkomandy)
-[project]
-	description = Various electronics stuff.
-[plugin "uploadvalidator"]
-	blockedContentTypeWhitelist = false
-	maxPathLength = 0
-	rejectDuplicatePathnamesLocale = en
-	rejectSubmodule = false
-	rejectSymlink = false
-	rejectWindowsLineEndings = false
Index: ps2toserial/code/Makefile
===================================================================
--- ps2toserial/code/Makefile	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ ps2toserial/code/Makefile	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,14 @@
+keyboard.hex: keyboard.bin
+	avr-objcopy -j .text -j .data -O ihex keyboard.bin keyboard.hex
+
+keyboard.bin: keyboard.o usart.o main.o
+	avr-gcc keyboard.o usart.o main.o -o keyboard.bin -mmcu=atmega8 -Os
+
+main.o: main.c usart.h keyboard.h
+	avr-gcc -c main.c -mmcu=atmega8 -Os -o main.o -mmcu=atmega8 -Os
+
+usart.o: usart.c usart.h
+	avr-gcc -c usart.c -o usart.o -mmcu=atmega8 -Os
+
+keyboard.o: keyboard.c keyboard.h keymap.h
+	avr-gcc -c keyboard.c -mmcu=atmega8 -Os -o keyboard.o
Index: ps2toserial/code/keyboard.hex
===================================================================
--- ps2toserial/code/keyboard.hex	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ ps2toserial/code/keyboard.hex	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,35 @@
+:1000000052C061C061C05FC05EC05DC05CC05BC00B
+:100010005AC059C058C057C056C055C054C053C02C
+:1000200052C051C050C03F3F3F3F3F3F3F3F3F3F27
+:100030003F3F3F3F3F3F3F3F3F3F3F71313F3F3FAC
+:100040007A736177323F3F6378646534333F3F2092
+:1000500076667472353F3F6E62686779363F3F3F20
+:100060006D6A7537383F3F3F6B696F30393F3F3FAF
+:100070003F6C3F703F3F3F3F3F3F3F3F3F3F3F3F32
+:100080003F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F80
+:100090003F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F70
+:1000A0003F3F3F3F3F3F11241FBECFE5D4E0DEBFBF
+:1000B000CDBF10E0A0E6B0E001C01D92A836B107A8
+:1000C000E1F79DD0A6C09CCF1F920F920FB60F9262
+:1000D00011242F933F938F939F9382B390E48927AA
+:1000E00082BB83994EC080916100882341F484993A
+:1000F00027C081E0809361001092650028C0309194
+:100100006500383098F4849B0DC02091630081E035
+:1001100090E0032E02C0880F991F0A94E2F7282B63
+:10012000209363003F5F309365002BC0383021F48B
+:1001300089E08093650025C01092610010926500EF
+:1001400080916300803F31F481E0809362001092DF
+:10015000630017C08091630090916200823149F47E
+:10016000992321F481E0809360000BC0109260001D
+:1001700002C0992319F01092620003C081E08093BD
+:1001800066009F918F913F912F910F900FBE0F901E
+:100190001F901895E82FF0E0EA5DFF4F9491809151
+:1001A0006000882311F4892F0895892F80520895C3
+:1001B000809166008823E1F31092660080916300CD
+:1001C00008951092610010926300109265008B9860
+:1001D000839A85B7886085BF85B78B7F85BF8BB7CE
+:1001E00080688BBF7894089589B990BD86E880BDFA
+:1001F00088E18AB908955D9BFECF8CB9089583E3A9
+:1002000090E0F2DFDEDF8E9A82E5F5DFD1DFC2DF3C
+:06021000FCCFF894FFCFC3
+:00000001FF
Index: ps2toserial/code/main.c
===================================================================
--- ps2toserial/code/main.c	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ ps2toserial/code/main.c	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,29 @@
+#include <avr/io.h>
+
+#include "keyboard.h"
+#include "usart.h"
+
+int main() {
+
+  USARTInit(51);
+  init_keyboard(); 
+  
+  //debug LED - output
+  DDRD |= (1<<PD6);
+
+  uint8_t key_code = 0;
+
+  char str_buf[21];
+  uint8_t buf_pos = 0;
+
+  str_buf[0] = str_buf[1] = 0x00;
+  USARTWriteChar('R');
+
+  while(1) {
+	key_code = read_char();
+    USARTWriteChar(render_scan_code(key_code));
+  }
+  
+  return 0;
+}
+
Index: ps2toserial/doc/scancode_table.txt
===================================================================
--- ps2toserial/doc/scancode_table.txt	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
+++ ps2toserial/doc/scancode_table.txt	(revision b82c7b30f5da4592052ad9ae450ba1fb2723631a)
@@ -0,0 +1,139 @@
+KEY	MAKE	BREAK
+
+
+F9	01	F0,01	 	
+F5	03	F0,03	 	
+F3	04	F0,04	 	
+F1	05	F0,05	 	
+F2	06	F0,06	 	
+F12	07	F0,07	 	
+F10	09	F0,09	 	
+F8	0A	F0,0A	 	
+F6	0B	F0,0B	 	
+F4	0C	F0,0C	 	
+TAB	0D	F0,0D	 	
+`	0E	F0,0E	 	
+
+L ALT	11	F0,11	 	
+L SHFT	12	FO,12	 	
+L CTRL	14	FO,14	 	
+Q	15	F0,15	 	
+1	16	F0,16	 	
+Z	1A	F0,1A	 	
+S	1B	F0,1B	 	
+A	1C	F0,1C	 	
+W	1D	F0,1D	 	
+2	1E	F0,1E	 	
+
+C	21	F0,21	 	
+X	22	F0,22	 	
+D	23	F0,23	 	
+E	24	F0,24	 	
+4	25	F0,25	 	
+3	26	F0,26	 	
+SPACE	29	F0,29	 	
+V	2A	F0,2A	 	
+F	2B	F0,2B	 	
+T	2C	F0,2C	 	
+R	2D	F0,2D	 	
+5	2E	F0,2E	 	
+
+N	31	F0,31	 	
+B	32	F0,32	 	
+H	33	F0,33	 	
+G	34	F0,34	 	
+Y	35	F0,35	 	
+6	36	F0,36	 	
+M	3A	F0,3A	 	
+J	3B	F0,3B	 	
+U	3C	F0,3C	 	
+7	3D	F0,3D	 	
+8	3E	F0,3E	 	
+
+,	41	F0,41
+K	42	F0,42	 	
+I	43	F0,43	 	
+O	44	F0,44	 	
+0	45	F0,45	 	
+9	46	F0,46	 	
+.	49	F0,49
+/	4A	F0,4A
+L	4B	F0,4B	 	
+;	4C	F0,4C
+P	4D	F0,4D	 	
+-	4E	F0,4E	 	
+
+'	52	F0,52
+[	54	FO,54
+=	55	FO,55	 	
+CAPS	58	F0,58	 	
+R SHFT	59	F0,59	 	
+ENTER	5A	F0,5A	 	
+]	5B	F0,5B
+\	5D	F0,5D	 	
+
+BKSP	66	F0,66	 	
+KP 1	69	F0,69
+KP 4	6B	F0,6B
+KP 7	6C	F0,6C
+
+KP 0	70	F0,70
+KP .	71	F0,71
+KP 2	72	F0,72
+KP 5	73	F0,73
+KP 6	74	F0,74
+KP 8	75	F0,75
+ESC	76	F0,76	 	
+NUM	77	F0,77
+F11	78	F0,78	 	
+KP +	79	F0,79
+KP 3	7A	F0,7A
+KP -	7B	F0,7B
+KP *	7C	F0,7C
+KP 9	7D	F0,7D
+SCROLL	7E	F0,7E	 	
+
+F7	83	F0,83	 	
+
+WWW Search	E0, 10	E0, F0, 10
+R ALT	E0,11	E0,F0,11	 	
+R CTRL	E0,14	E0,F0,14	 	
+Previous Track	E0, 15	E0, F0, 15
+WWW Favorites	E0, 18	E0, F0, 18
+L GUI	E0,1F	E0,F0,1F	 	
+WWW Refresh	E0, 20	E0, F0, 20
+Volume Down	E0, 21	E0, F0, 21
+Mute	E0, 23	E0, F0, 23
+R GUI	E0,27	E0,F0,27	 	
+WWW Stop	E0, 28	E0, F0, 28
+Calculator	E0, 2B	E0, F0, 2B
+APPS	E0,2F	E0,F0,2F
+WWW Forward	E0, 30	E0, F0, 30
+Volume Up	E0, 32	E0, F0, 32
+Play/Pause	E0, 34	E0, F0, 34
+Power	E0,37
+WWW Back	E0, 38	E0, F0, 38
+WWW Home	E0, 3A	E0, F0, 3A
+Stop	E0, 3B	E0, F0, 3B
+Sleep	E0,3F
+My Computer	E0, 40	E0, F0, 40
+E-Mail	E0, 48	E0, F0, 48
+KP /	E0,4A	E0,F0,4A
+Next Track	E0, 4D	E0, F0, 4D 
+Media Select	E0, 50	E0, F0, 50
+KP EN	E0,5A	E0,F0,5A
+Wake	E0,5E
+END	E0,69	E0,F0,69
+L ARROW	E0,6B	E0,F0,6B
+HOME	E0,6C	E0,F0,6C
+INSERT	E0,70	E0,F0,70
+DELETE	E0,71	E0,F0,71
+D ARROW	E0,72	E0,F0,72
+R ARROW	E0,74	E0,F0,74
+U ARROW	E0,75	E0,F0,75
+PG DN	E0,7A	E0,F0,7A
+PG UP	E0,7D	E0,F0,7D
+
+PRNT SCRN	E0,12,E0,7C	E0,F0,7C,E0,F0,12
+PAUSE	E1,14,77,E1,F0,14,F0,77	-NONE-
+
