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?

Elenco 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]-[/boxcell]-> Apre/chiude una cella

  • [boxrow]-[/boxrow]-> Inizializza/chiude una linea di celle

  • [quote]-[/quote]Url banner:

  • [quote=titolo]-[/quote]-> Come il precedente quote, ma è possibile specificare un titolo

  • [size=valore]-[/size]-> Imposta la grandezza del carattere del testo, 'valore' è la grandezza scelta. E' possibile anche specificare un 'valore' aggiuntivo alla grandezza attuale '[size=+2]'.

  • [color=valore]-[/color]-> Imposta il colore per il testo. 'Valore' è sempre esadecimale e varia da '000000' (nero) a 'ffffff' (bianco). Alcuni esempi:
    'ff0000' = Rosso
    '00ff00' = Verde
    '0000ff' = Blu
    'ffff00' = Giallo
    '00ff00' = Azzurro

  • [url=indirizzo]-[/url]-> Attiva una porzione di testo come link ad un determinato indirizzo, ad esempio [url=http://www.amigapage.it/]Amigapage[/url] renderà la parola 'Amigapage' come un link che rimanda a 'http://www.amigapage.it'

  • [img]indirizzo[/img]-> Visualizza l'immagine indicata in 'indirizzo'. E' possibile usare anche la versione [img;w=pixel;h=pixel;mini=valore]indirizzo[/img], il parametro 'w' specifica la lunghezza in pixel da usare
    il parametro 'h' specifica l'altezza in pixel da usare
    il parametro 'mini' specifica il livello di riduzione dell'immagine in percentuale

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

Benvenuto all'ultimo utente registrato: zulu

Buon Compleanno a and19sp - 

© 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.099630117416382 secondi