Autor: Jarek Lis (lis_at_ict.pwr.wroc.pl)
Data: Thu 15 Feb 1996 - 00:12:52 MET
In article <199602142211.XAA22873_at_malcolm.rmnet.it> you wrote:
: Oczywiscie i z tym mozna sobie poradzic: moge napisac driver do DOS'a
: ktory przykryje wszystkie 4 COMy i bedzie dzialal w nastepujacy sposob:
: przy wysylaniu bajtu X na port N wysle 2 byte'y: N i X na COM1,
: przerwanie obslugujace COM1 odbierze je i w zaleznosci od wartosci N
: uruchomi odpowiednie COMn z punktu widzenia programu. Troche to zawile
: napisalem ale chyba idea jest jasna: na jednym COMie fizycznym (COM1)
: uruchamiam 4 COMy virtualne. Nie jest to jednak takie proste, zauwazmy
: bowiem ze nie jedna~ a 4 VDM (Virtual DOS Machine) mam uruchomic rownoczesnie.
: Przerwanie (sprzetowe) odbierze tylko jedna z nich. Musi ona wiec odebrane
: dane wyslac znow, na ten sam port!, aby pozostale VDM mogly je odebrac.
Czy mozesz mi napisac dokladniej co chcesz osiagnac? I jakie masz mozliwosci
manewru? Jak na razie domyslam sie, ze chcialbys na jednym 486 odpalic
cztery dosowe programy (binaria czy w zrodlach?), ktore w oryginale
komunikuja sie z soba przez RS'y (a mozesz w ogole zmienic im port?)
A gdzie sa podlaczone te tajemnicze klawiatury na 6802?
: (W oryginale jeden z komputerow spelnia role mastera i przepytuje pozostale
: dzieki czemu nigdy nie ma sytuacji ze dwa komputery nadaja na tej samej linii
: rownoczesnie. Zaden z komputerow nie obsluguje wiecej niz dwie linie,
: ale output z jednego wchodzi np. jako input do trzech komputerow - czyli
: sa polaczone rownolegle na linii szeregowej [hl/e hl/e]).
Master nadaje jednym portem do trzech slave'wow na raz, to rozumiem.
A jak w druga strone? trzy wyjscia rownolegle do jednego wejcia?
: Idzmy dalej: jest mozliwe ze to przerwanie trafi znow do tej samej VDM -
: musi ona wiedziec ze ten byte juz odebrala i ze nie powinna wystawiac
: go ponownie dla programu, ale odeslac go musi. Trzeba wiec w kazdym z tych
: pierwszych byte'ow oprocz numeru "portu virtualnego" wstawiac 4 bity - flagi
: ktore mowia czy dana VDM juz odebrala ten byte czy nie. Ostatni VDM, kiedy
: juz wszystkie flagi sa wyzerowane nie odsyla wiecej tego byte'u do COM1.
Nie znam sie na OS/2. Ale czy jestes pewien, ze to przerwanie trafia do
maszyny wirtualnej od razu? A nie do jakiegos drivera, ktory dane buforuje,
a dalej pobudza VDM? moglby pobudzac trzy od razu.
Nie wiem jak to jest w OS/2, ale pod windowsem to chyba zadna sesja dos nie
rozmawia bezposrednio z portem. tylko z symulowanym..
: Mysle ze to wyjasnia dlaczego zrezygnowalem z idei uzycia prawdziwych
: portow szeregowych.
Niestety nie zrozumialem Twojego wywodu. Nadal uwazam, ze 486 z 4 portami
bedzie najprostsze do zasymulowania 4*286 z jednym portem. Fakt, ze tobie
te porty wcale nie sa potrzebne, nie zmienia faktu ze bedzie prosciej.
Laczysz kabelki na portach - i komunikacja miedzyprocesowa dziala.
Jaroslaw Lis
+------------------------------------------------------------------------+
| lis_at_ict.pwr.wroc.pl | Institute of Engineering Cybernetics |
| tel 48-71-202636 | Technical University of Wroclaw, Poland |
| fax 48-71-203408 or 517398 | |
+------------------------------------------------------------------------+
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 12:39:04 MET DST