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