Precedente :: Successivo |
Autore |
Messaggio |
johnbrown Cavallo di Troia *


Registrato: 19/07/07 08:12 Messaggi: 56
|
Inviato: 11 Giu 2009 17:13 Oggetto: Input mouse in accesso diretto |
|
|
salve, ecco un nuovo problemino che
ho incontrato nel mio cammino da
programmatore.....
Non potendo usare i driver per mouse
ora esistenti, ed usare le chiamate
all'interrupt 33 che installano, mi
servirebbe il modo di accedere alla
porta del mouse per leggere
direttamente i dati...
Purtroppo girando in rete le info
sono poche, confuse e poco chiare...
Non ci sarebbe la possibilità di
ricevere una spiegazione più
dettagliata??? grazie a tutti
Ciao JOhn |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11806 Residenza: Tokelau
|
Inviato: 12 Giu 2009 09:32 Oggetto: Re: Input mouse in accesso diretto |
|
|
open source mouse driver, vedi qui |
|
Top |
|
 |
johnbrown Cavallo di Troia *


Registrato: 19/07/07 08:12 Messaggi: 56
|
Inviato: 12 Giu 2009 21:37 Oggetto: |
|
|
grazie Sverx...
Ho dato un'okkiata al codice, però è molto difficile da interpretare poiché essendo un driver deve fare anche altro oltre a leggere il mouse...
E questo mi rende difficile l'interpretazione...
Mica mi puoi dare una mano a capire quale parti del codice mi servono davvero???
grazie..
John Brown |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11806 Residenza: Tokelau
|
Inviato: 15 Giu 2009 12:03 Oggetto: |
|
|
johnbrown ha scritto: | Mica mi puoi dare una mano a capire quale parti del codice mi servono davvero? |
e come faccio a saperlo?
In ogni caso il mouse è una periferica seriale, quindi si tratta di leggere dei byte da una porta seriale e capire cosa ti sta dicendo. Ci sono due standard: uno ha 3 byte per pacchetto e l'altro ha 5 byte per pacchetto, come puoi vedere qui |
|
Top |
|
 |
johnbrown Cavallo di Troia *


Registrato: 19/07/07 08:12 Messaggi: 56
|
Inviato: 16 Giu 2009 10:17 Oggetto: |
|
|
Ok.... Grazie 1000... Ora do una sfoltita al codice e vedo di trovare le parti che mi servono davvero...
ah... un'altra domanda...
Mica sai qualcosa sulla possibilità di comunicare col mouse tramite l'int 0x15 del bios???
Grazie a presto
John |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11806 Residenza: Tokelau
|
Inviato: 16 Giu 2009 11:48 Oggetto: |
|
|
johnbrown ha scritto: | Mica sai qualcosa sulla possibilità di comunicare col mouse tramite l'int 0x15 del bios? |
L' INT 15h è una disgrazia, anche se funzionasse su un PC probabilmente avresti problemi su un altro... e in ogni modo non ho informazioni |
|
Top |
|
 |
johnbrown Cavallo di Troia *


Registrato: 19/07/07 08:12 Messaggi: 56
|
Inviato: 16 Giu 2009 14:23 Oggetto: |
|
|
ah questo non lo sapevo... grazie per l'informazione..
allora vedrò bene per l'accesso diretto che mi pare l'unica soluzione..
grazie ancora
John |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11806 Residenza: Tokelau
|
Inviato: 16 Giu 2009 15:37 Oggetto: |
|
|
johnbrown ha scritto: | vedrò bene per l'accesso diretto che mi pare l'unica soluzione |
in pratica devi scriverti un tuo interrupt handler legato all'IRQ collegato alla porta COM dove è attaccato il mouse. Quando arriva l'interrupt fai girare il tuo codice che aggiornerà la posizione del mouse sullo schermo, in un modo o nell'altro... |
|
Top |
|
 |
johnbrown Cavallo di Troia *


Registrato: 19/07/07 08:12 Messaggi: 56
|
Inviato: 17 Giu 2009 18:03 Oggetto: |
|
|
Senti, na curiosità... Prima hai detto che l'int 0x15 è una disgrazia... Ma pensavo che gli interrupt standard fossero standard nel vero senso della parola...
Cioè come hai detto tu è come se fosse che ogni bios ha un proprio int 0x15 e non dispongono tutti delle stesse funzioni...
mi puoi spiegare meglio..
grz |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11806 Residenza: Tokelau
|
Inviato: 18 Giu 2009 09:48 Oggetto: |
|
|
johnbrown ha scritto: | Senti, na curiosità... Prima hai detto che l'int 0x15 è una disgrazia... Ma pensavo che gli interrupt standard fossero standard nel vero senso della parola... |
Penso che nelle moderne implementazioni dei BIOS certi servizi non siano per niente implementati. Ad esempio qui leggo:
Citazione: | Originally, int 15h provided cassette tape read and write services[1]. Almost immediately, everyone realized that cassettes were history, so IBM began using int 15h for many other services. Today, int 15h is used for a wide variety of function including accessing expanded memory, reading the joystick/game adapter card, and many, many other operations. Except for the joystick calls, most of these services are beyond the scope of this text. Check on the bibliography if you interested in obtaining information on this BIOS call. |
quindi se questo interrupt è nato per leggere e scrivere dalla cassetta(!!!) direi che facilmente molti dei servizi di questo interrupt non saranno implementati. Comunque se vuoi in ogni modo provarci (e perchè non dovresti comunque?), qui trovi un po' di spiegazione su come usarlo (nei commenti) e un sorgente in C++
 |
|
Top |
|
 |
johnbrown Cavallo di Troia *


Registrato: 19/07/07 08:12 Messaggi: 56
|
Inviato: 18 Giu 2009 10:45 Oggetto: |
|
|
Ok grazie 1000... Ora provo a scrivere qualche routine basilare per vedere se il BIOS rileva il mio mouse PS/2 e se lo legge tramite l'int 0x15...
Poi farò sapere l'esito dei miei tentativi....
grazie ancora
john brown |
|
Top |
|
 |
|