Menů principale
 Notizie
 Grafica
 Forum
 Links
 Retro Trailer
 Recensioni
 Modelli Amiga
 Storia Amiga
 Retro-Gamers
 Lista Utenti
 Contatti
 Policy sito
Ricerca Google

Login

Nick


Password


Comandi

[b]-[/b]
Attiva/disattiva il neretto

[i]-[/i]
Attiva/disattiva l'italico

[br]
Inserisce un a capo

[p]
Inserisce un interruzzione di paragrafo

[center]-[/center]
Attiva/disattiva allineamento centrato

[justify]-[/justify]
Attiva/disattiva allineamento giustificato

[box]-[/box]
Apre/chiude una tabella

[boxcell] o [boxcell=n]-[/boxcell]
Apre/chiude una cella

[boxrow]-[/boxrow]
Apre/chiude una linea di celle

[quote]-[/quote]
Crea un box per quotare commenti.

[quote=titolo]-[/quote]
Come Quote ma con titolo.

[size=valore]-[/size]
Imposta la grandezza del carattere

[color=valore]-[/color]
Imposta il colore del testo.

[url=indirizzo]-[/url]
Attiva una porzione di testo

[img]indirizzo[/img]
Visualizza l'immagine indicata in 'indirizzo'.

[img;w=px;h=px;mini=%]indirizzo[/img]
Come sopra, w ed h sono base e altezza in pixel o mini č la percentuale di riduzione dell'immagine. Con mini=std l'immagine avrŕ una grandezza predefinita

Rispondi ad un commento
Regolamento Commenti e Topic

Tutti gli utenti che usufruisco di questo servizio sono pregati di rispettare poche semplici regole:

- Non e' possibile inserire commenti/topic contenenti volgarita', torpiloquio e/o offese di vario genere.

- E' assolutamente vietato inserire immagini e/o link a sfondo pornografico.

- Sarebbe preferibile evitare commenti mirati alla polemica e alla provocazione.

- Si ricorda che per netiquette, scrivere maiuscolo equivale a "URLARE", non va quindi bene scrivere tutto un post in maiuscolo.

- E' necessario ricordare che non e' bene fare commenti sprezzanti riguardo argomenti quali: religione, politica e la multietnia

- Non sono molto tollerati commenti/topic con eccessive abbreviazioni stile SMS.

- Eventuali critiche all'operato dei moderatori saranno punite a discrezione degli stessi.

- E' consigliabile rileggere sempre i commenti/topic prima di postarli, onde evitare lo spopolare di commenti ricchi di errori che potrebbero anche essere fraintesi o non compresi da utenti non italiani che sono alle prime armi con la lingua.

- E' buona cosa inserire i Topic nelle corrette sezioni, nell'indice delle stesse e' presente una breve descrizione sul contenuto, in caso di errore i Topic possono essere spostati nella sezione corretta dagli admin (Mak73) I commenti/topic che non rispettano tali regole verranno eliminati.

I gestori del sito non si assumono nessuna responsabilita' sul contenuto dei commenti riportati.

Risposta

Stile Testo
Dimensione:  Colore:  Allinea: 

Altri comandi
Emoticons
Clicca per riportare il codice nell'area di testo oppure posizionati su un'immagine per vederne il relativo comando.
:) :( :D ;) :P Oo -.- :O :ok: :pugni: :sedia: :tsk: :morto: :vietato: :superman: :sbav: :guardati: :rolleyes: :ghgh: :asd: :specchio: :migira: :incazz: :svitato: :sese: :° :uhm: :eheh: :fii: :muro: :goccia: :clap: :wuatta: :boom: :angelo: :brill: :mhua: :rotfl: :huh: ^^ :nono: :rosso: :azz: :lol: :dmon: :dance: :cool: :bleah: :...: :cuori: :yeah: :alien:
Testo
formattazione
   

04 Febbraio 2018 Postato da: Ozzyboshi_2
Come funziona il db9 delle Amiga con il mouse?
Mi sono imbattuto in questo progetto

https://github.com/BleuLlama/AmigaInputToUSB< br />
ad un certo punto leggo...

Amiga and Atari mice output quadrature for X and Y using two lines each in gray code. As you move positive X or Y, it outputs on two data lines the gray code sequence over time: 00 01 11 10 00 and so on. for negative movement, it outputs the sequence 00 10 11 01 00 etc. By sitting in a tight loop, we can determine these X and Y movements...

Andando ad indagare, questo "gray code" mi sembra di capire che è solamente un modo differente per contare in binario, la sua peculiarità è che può cambiare al massimo un bit alla volta.
Da una mia analisi del sorgente https://github.com/BleuLlama/AmigaInputToUSB/blob/ master/Arduino/AmigaInputDevice/AmigaInputDevice.i no mi sembra di capire che l'amiga riconosce gli spostamenti del mouse andando a combinare il pin 1 e 2 per l'asse verticale e il 3 e 4 per l'orizzontale. Quando trova un ciclo completo di questo gray code esegue uno spostamento del cursore (di un pixel???).

Se cosi fosse io potrei dire per esemipio al mio arduino/raspberry pi di impostare 2 pins digitali in output che collegherò alla base di altrettanti transistors NPN, poi prendo ad esempio il pin 1 e 2 del db9 dell'amiga e li collego all'emettitore dei 2 transistors, poi collego i collettori dei transistors a massa.

Ora io penserei che, quando il raspberry/arduino da tensione sufficiente alla base del transistors, questo funziona da switch e crea corto circuito tra pin 1/8 e 2/8 del db9, in questo modo forse potrei riuscire ad inviare le sequenze del gray code per far muovere il mouse.Nella mia testa lo 0 del gray code è uguale alla tensione a 0 sulla base del transistor mentre l'1 è il transistor in saturazione.Ripetendo ad intervalli regolari i codice determino la velocita di spostamento, piu gli intervalli sono brevi piu il puntatore del mouse si muove velocemente.
Secondo voi può funzionare o sto dicendo castronerie? Ha una logica? Ma sopratutto quanto è alto il rischio di danneggiare l'amiga facendo questi giochetti?
Commenti: 28  Aggiungi - Pagine: 1-2

Post inviati: 590

Visulizza profilo Messaggio Personale
62.94.49.*** Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
Commento
Ozzyboshi_2 7 Febbraio 2018    22:12:37
Citazione

Innanzitutto, non devi solo generare un segnale alto, ma un'onda quadra (in realtà 2 sfasate di mezzo periodo) con un certo duty cycle, se guardi bene il codice dovresti capire.

So di stare abusando di amigapage perché a questo punto più che una richiesta di aiuto diventa una vera e propria lezione comunque ci provo...

Il codice lo ho letto e mi sembra piuttosto semplice a dire il vero e dovrebbe funzionare cosi, il programma in python che trovi nella repository penso sia pensato per girare su di un pc e legge continuamente i movimenti del mouse attraverso pygame.mouse.get_rel() che ritorna una tupla su dx e dy.
quando dx è minore di zero il mouse si è spostato verso sinistra e manda sulla seriale dove è connesso arduino il valore 6
quando dx è maggiore di zero il mouse si è spostato verso destra e manda sulla seriale dove è connesso arduino il valore 5
quando dy è minore di zero il mouse si è spostato verso l'alto e manda sulla seriale dove è connesso arduino il valore 7
quando dy è maggiore di zero il mouse si è spostato verso il basso e manda sulla seriale dove è connesso arduino il valore 8

A questo punto la palla passa al microcontrollore che sta in continuazione ad ascoltare cosa gli arriva nella seriale e in base ai valori sopra elencati fa delle operazioni, ad esempio quando gli arriva il valore "8" che è il mouse spostato verso il basso manda ad intervalli di un millisecondo il codice 10 11 01 00 rispettivamente sul pin 5 e 4, entrambi riferiti al digital ground di arduino, cosi come riportato in figura qua sotto

Immagine
Fino a che arduino non ha terminato la generazione di queste 4 combinazioni non legge ulteriori input in seriale.

Quando invece il mouse va su esegue la stessa operazione a pin invertiti. Stessa zuppa per l'orizzontale, se prendiamo per buono che arduino riesce a passare da 0v a 5v sui pin digitali istantaneamente allora si ha una onda quadra sfasata come dici te, il duty cicle dovrebbe essere intorno al 50%.
Ti prego di correggere le informazioni qua sopra se non sono esatte.
Citazione


Poi, non succede niente, perché metti 5V in parallelo ad altri 5V, non in serie. I 5V già presenti sono dovuti alla rete di resistori RP401, montata per pull-uppare le 4 linee di direzione di joystick e mouse. Se anche la tensione che applichi non è esattamente uguale a quella presente, la differenza va a cadere sui resistori, per cui la situazione è perfettamente sicura.

Qui inizio ad andare in difficoltà, ho guardato lo schema della mia motherboard che è di una A600 rev 1.5 e non esistono resistori RP401, penso tu ti riferissi a R370, sono resistenze da 4,7Kohm che ho cerchiato in rosso nella immagine sotto, è cosi?
Immagine
Se si mi spieghi come mai vedo 9 resistori? Uno che cacchio ci fa? Ma poi non è collegato a nulla, non ci passa corrente, è un ramo morto, secondo me i progettisti Amiga han bevuto...
Un'altra cosa curiosa è come i pull up siano collegati solo ai pin 1,2,3,4 delle porte joystick, insomma ai direzionali e non ai pulsanti di fuoco, questo vuol dire che i pulsanti di fuoco non funzionano con i pull up?

Citazione

Comunque, se la cosa proprio ti dà fastidio, è facilmente evitabile sfruttando i resistori presenti per emulare ingressi open-collector. In sostanza, invece di switchare i pin di Arduino tra HIGH e LOW, li si switcha tra INPUT e OUTPUT. Infatti, quando li configuri come ingressi, i pin presentano un'impedenza molto alta: di fatto è come se fossero scollegati, per cui Amiga legge un livello alto, grazie al pull-up RP401. Quando li passi in output, i pin di default vanno a livello basso, e Amiga legge un livello basso.

Questa è a mio avviso una soluzione molto piu elegante, alla fine se come dici te metto 5v in parallelo è vero che la tensione rimane 5v ma si può dire altrettanto della corrente? Non è che ai pin dell'amiga arriva piu corrente?

Citazione

PS: Quelle linee vanno a Paula, non a Denise.

In realtà guardando lo schema quelle linee vanno prima ad un integrato che è 74ls157 il quale poi manda in output a M0V e M0H che io ho interpretato fossero collegamenti a Denise, vedi screenshot qui sotto, ho sbagliato?
Immagine

Ultima cosa, ma quelle resistenze E355, E356 ecc sono a 68ohm? Cosi piccole? Ma a che servono a proteggere l'integrato?

Utenti Online
Utenti registrati: 1206 dal 1 Gennaio 2006
di cui online: 0 registrati - 
69 non registrati

Benvenuto all'ultimo utente registrato: zulu

Buon Compleanno a funkytarro87 - 

© Amigapage 1998 - 2007 - Sito italiano dedicato alla piattaforma Amiga ed evoluzioni varie.
Struttura del sito interamente ideata e realizzata da Marco Lovera e Alessandra Lovera - Tutto il materiale inserito all'interno del sito č dei rispettivi autori/creatori.
E' assolutamente vietata la riproduzione o la manipolazione di tutti i contenuti o parte di essi senza l'esplicito consenso degli amministratori e degli autori/creatori.

Eseguito in 0.10028600692749 secondi