🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: dnet.atari
Article #364

Re: tastaturprobleme

#364
From: Juergen Lock
Date: Wed, 04 Sep 1991 17:12
84 lines
4221 bytes
In <2587@netmbx.UUCP> franky@netmbx.UUCP (Frank Bergemann) writes:

>hallo !
moin

>ich kriege langsam frust wegen eines programm-technischen problems, 
>dass ich hier schon mal umrissen habe (leider null resonanz)..

 hmm, dann versuch ichs mal. (hab noch sub.sys.st ins Newsgroups
gepackt, vielleicht weiss da ja jemand mehr als ich...)

>wenn ich fuer eine zeitkritische assembler-routine, die ich in C-code
>eingeklinkt habe (sozobon-inline in turbo-c .. darf man eigentlich gar keinem 
>erzaehlen...)

 :-) (hattu denn keinen `richtigen' assembler? bei sozobon sollte
uebrigens auch einer dabeisein...)

> saemtliche interrupts sperre, die routine roedeln lasse
>und dann die interrupts wieder zulasse, bekomme ich eine 
>nicht endende latte von key-klicks gemeldet, sofern ich waehrend die 
>besagte asm-routine lief, die maus bewegte oder eine taste drueckte... 
>effekt nr 2: offensichtl. versucht der tastaturprozessor reichlich was los zu 
>werden, so das er mir auch schon bei einer anschl. ausgefuehrten Fsel-fkt.
>eine eingabe "simulierte" und mir was von der platte killte (ein file
>"????????.???" wurde angelegt, ein anderes dafuer geloescht).

 ich wuerde sagen da gehen einfach irgendwelche daten vom
keyboardprozessor verloren. (was passiert eigentlich wenn du das
ganze mit abgeschaltetem repeat probierst?) waer jedenfalls kein
wunder, die serielle line vom IKBD hat ja schliesslich kein
handshake. :-) willsagen, wenn du dann die interrupts wieder
anschaltest, bekommt der keyboard/maustreiber nurnoch das letzte
byte von all den geschichten die der IKBD zwischendurch erzaehlt
hat zu sehen...

>erster ansatz meinerseits war, via IKBD $11 und $13 den ACIA lahmzulegen
>bzw neu zu "resumen"; probleme mit mausbewegungen waren damit weg. 
>allerdings "flippt" die tastatur immer noch, sofern mehr als 10 
>tastendruecke ausgefuehrt wurden zw. "pause output" und "resume" 

 naja dann ist dem IKBD wohl der buffer uebergelaufen und er will
die daten trotz `pause' befehl loswerden. ergebnis: s.o.

>auch ein "reset" IKBD $80 $01 brachte da nicht mehr erfolg.....
>weiss jmd. rat ???? 

 wozu musst du denn die interrupts unbedingt so lange abschalten?
die `feine englische' ist das ja sowiesonicht, mindestens die GEMDOS
uhr und der 200Hz zaehler gehen dann zB ja auch falsch. :-)

 also am besten du baust dein protokoll/whatever irgendwie so um,
dass du die interrupts nurnoch fuer max. vielleicht 5ms am stueck
(5ms wegen dem 200Hz interrupt) abschalten musst, dann sollte das
mit dem `pause output' ja funktionieren. (wer tippt schon 10
tasten in 5ms...)

 hmm, und ansonsten? :-) vielleicht gehts ja so...

1. `pause output' schicken, dann abwarten bis der IKBD eventuelle
mauspackets etc zuendegesendet hat (mittendrin unterbrochen gibts
sonst nachher beim wieder einschalten chaos...)

2. interrupts abschalten, routine roedeln lassen... (was tut die
eigentlich?)

3. IKBD/midi receiver interrupt vorlaeufig nach /dev/null umleiten,
dann interrupts wieder anschalten.

4. nochmal abwarten bis er irgendwelche packets fertiggesendet hat,
(also warten bis er fuer n ms (austesten...) den schnabel haelt, was
anderes geht hier ja schlecht), dann den richtigen treiber wieder
einhaengen.

 disclaimer: das hab ich mir jetzt nur grad so ausgedacht, also
wahrscheinlich funktionierts sowiesonicht. :-)

>Gruss !
>......frank 
 ebenfalls, (ist ja doch laenger geworden als ich dachte...)
	Juergen
-- 
J"urgen Lock / ..!nicedel!lynx1!jelal!nox / ** !! dead{hanseat!jelal} !! **
								...ohne Gewehr
Technical Details
Message-ID: <0246.09.91@jelal.north.de>
Path: arc1-ca.pugleaf.net!gmdzi!unido!drnhh!mcshh!artcom0!nicedel!lynx1!jelal!nox
References: <2587@netmbx.UUCP>

Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII-7-bit
X-Google-Thread: 12bdcf,fd29fc635d58c52e
X-Google-Attributes: gid12bdcf,public
X-Google-Thread: 14eee0,630f2af57a811678,start
X-Google-Attributes: gid14eee0,public
X-Google-ArrivalTime: 1991-09-05 09:34:10 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!drnhh!mcshh!artcom0!nicedel!lynx1!jelal!nox
From: nox@jelal.north.de (Juergen Lock)
Newsgroups: dnet.atari,sub.sys.st
Subject: Re: tastaturprobleme
Message-ID: <0246.09.91@jelal.north.de>
Date: 4 Sep 91 17:12:24 GMT
References: <2587@netmbx.UUCP>
Distribution: dnet,sub
Organization: home
Lines: 84
Posted: Wed Sep  4 19:12:24 1991