1 REM Ins{nd av Gerry Eriksson <4842>    1986-02-22 01.33.57

                  OUT-kommandon f|r ABC99-tgb.
                  ============================

Koderna s{nds fr}n BASIC till tangentbordet som "OUT 34,Kod".

Kod        Funktion 

0000 0111  alarm-signal 0000 0001  sl} av larmfunktion
1000 0001      p}    -"-
0000 0010  sl} av kort tangent-klick
1000 0010      p}  -"-     -"-
0000 0100  sl} av l}ngt    -"-
1000 0100      p}  -"-     -"-
0000 0101  sl} av repetering
1000 0101      p}    -"-
0000 0110  ASCII-mode (normalt) 1000 0110  UP/DOWN-mode 
0000 1000  CAPS LOCK normalt 
1000 1000  CAPS LOCK mode 
0000 1001  INS normalt 
1000 1001  INS mode 
0000 1010  ALT normalt 
1000 1010  ALT mode 
0001 1000  s{nd identifikationskod *1 
0011 1001  skriv data till musens positionsregister 
0011 1010                         prescale register 
0011 1011                         gr{nsregister 
0011 1100  l{s data fr}n musen 
0011 1110  l{s data fr}n musen auto mode 
0011 1111  sl} av auto mode f|r musen 

0xxx 0000  t{nd lysdiod x (1=000, 2=001, 3=010 osv) 
1xxx 0000  sl{ck  -"-   x 


*1 Identifikatinskod. Tgb svarar med 7 bytes: 

Byte  Kod         Betydelse 
  1   0001 1011   ESC 
  2   001x xxxx   nationalitet version 
  3   001x xxxx   tgb-typ 
  4   0010 xxxx   LED's  5-8  1=t{nd 
  5   0010 xxxx          1-4 
  6   0010 0xxx   INS, ALT, CAPS LOCK  1=p}slagen 
  7   0010 0000   spare byte 

   Version  (byte 2) 
   0010 0001  Svenskt 
   0010 0010  Norskt 
   0010 0011  Danskt 
   0010 0100  USA 
   0010 0101  Engelskt 
   0010 0110  Spanskt 
   0010 0111  Franskt 
   0010 1000  Tyskt 
   0010 1001  Isl{ndskt 

   Tgb-typ  (byte 3) 
   001x x001  ABC 55 
   001x x010  ABC 77 
   001x x011  ABC 99 
   001x 1xxx  UP/DOWN-mode 
   001x 0xxx  ASCII-mode (normalt) 
   0011 xxxx  Mus ansluten 
   0010 xxxx      ej ansluten





                      ABC99 MUS 
                      =========

Tangentbordet avkodar pulserna fr}n musen och h}ller reda p} dess
position. 
F|ljande g{ller b}de f|r x- och y-f|rflyttning. 
Pulserna fr}n musen {r ansluten till ett prescale register. N{r
skalfaktorn {r n}dd s} adderas/subtraheras increment registret
till/fr}n positions regitret. 
Om musen g}r utanf|r gr{nserna uppdateras inte positionsregistert
f|rran man {ndrar riktning. 

Kodning: 
Alla register {r 12 bit l}nga. De delas upp i tv} bytes med off-
set 20H vid s{ndning till/fr}n tangentbordet. Varje byte har ett
v{rde mellan 20H till 5FH. Den h|gsta byten s{nds alltid f|rst. 
Puls-jitter m}ste filtreras. [ven tryckknapparna har en offset av
20H. 

   Register        Initialv{rde (hex)

   x-position          000
   y-  "               000
   x-min               000
   x-max               FFF
   y-min               000
   y-max               FFF
   x-scale             001
   y-  "               001
   x-increment         001
   y-    "             001


S{tta register:

Position: 
   0011 1001, x-pos hi, x-pos low, y-pos hi, y-pos low 

Scale & increments: 0011 1010, x-scale hi, x-scale low, y-scale
   hi, y-scale low, x-increment hi, x-inc low, y-inc hi, y-inc
   low

Limits: 
   0011 1011, x-min hi, x-min low, x-max hi, x-max low, 
   y-min hi, y-min low, y-max hi, y-max low


Avl{sning av musen: 
   Det finns tv} s{tt att l{sa data fr}n musen. 

   - N{r koden 0011 1100 s{nds till tangenbordet, s} svarar den
   EN g}ng med: 

   1001 0000, x-pos hi, x-pos low, y-pos hi, y-pos low, 
   knappstatus

   Ingen tangent f}r avbryta sekvensen. 


   - N{r koden 0011 1110 s{nds till tangenbordet, s} svarar den
   med: 

   1001 0001, x-pos hi, x-pos low, y-pos hi, y-pos low, 
   1001 0010, knappstatus

   Efter denna f|rsta sekvens s} s{nds positionsregister eller
   knappstatus endast n{r dessa f|r{ndras. De kan s{ndas separat.
   Efter varje sekvens (6 alt. 3 bytes) kan tangentbordet s{nda
   tangentkoder. 

   F|r att avsluta denna auto read kommando, s{nds koden 
   0011 1111 till tangentbordet.



Mus-kontaktens funktioner (15 pol. D-sub): 

   Pin        Funktion 

    1         5V/50 mA
    2         XA 
    3         XB 
    4         YA 
    5         YB 
    6         V{nstra knappen 
    7         Mitt       " 
    8         H|gra      " 
    9-13      NC 
   14         Mus-indikator, aktiv l}g n{r mus {r ansluten. 
   15         Jord 


\verf|rings-hastigheten |kar fr}n 600 Baud till >=4800 Baud n{r
musen {r ansluten. 





                  Koder f|r plattan p} ABC99:
                  ===========================

Koderna som plattan avger kan avkodas p} f|ljande s{tt:

    bit    7   6   5  4   3    2   1   0 

         ! 1 ! 0 ! 1 ! s ! x ! x ! y ! y ! 

           !   !   !   !   !   !   !   ! 
           ----!----   !   !   !   !   ------ Upp/Ned 
               !       !   !   !   0   1      Upp 
               !       !   !   !   1   1      Ned 
               !       !   !   ! 
               !       !   !   --- H|ger/V{nster 
               !       !   0   1   H|ger 
               !       !   1   1   V{nster 
               !       ! 
               !       ----- SHIFT 
               ! 
               ----- Kod f|r plattan 


Exempel:
  1010 1101 = upp}t, v{nster
  1011 0100 = h|ger, SHIFT nedtryckt
