Autore Topic: Penna Ottica  (Letto 3089 volte)

Cbm

  • Utente
  • **
  • Post: 423
  • Gioco Preferito: Wonderboy
Penna Ottica
« il: 09 Febbraio 2007, 23:50:43 »
 Ciao, in preda ad un attacco di curiosità o poco più e non trovando informazioni soddisfacenti in giro, mi trovo a disturbare chi di voi possiede o ha posseduto ed usato una penna ottica (o semplicemente ha conoscenze in merito) e se la sente di fare una lista di programmi che supportano tale periferica. Per esempio programmi di grafica (a parte koala paint), applicazioni geos (il driver apposito c'è ma non conosco applicazioni) o altro se ne siete a conoscenza. Magari potete dare anche un giudizio circa l'effettiva produttività dell'utilizzo della penna.

In ultimo, pongo un'altra domanda circa i dati raccolti dal sensore della penna; non ho mai capito se a gestirli ci pensa direttamente il VIC o se invece se ne fa carico la CPU.
Grato a chi saprà illuminarmi.
C= - Dal 1985! Lunga vita e prosperità.

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Penna Ottica
« Risposta #1 il: 10 Febbraio 2007, 00:17:32 »
 Per mi quanto riguarda, io ne comprai una per poche migliaia di lire, e arrivo' con la cassetta contenente KoalaPaint modificato per la light pen, lo provai per 10 minuti e a quel punto non so cosa mi fermo' dal buttare via tutto. Era totalmente inutilizzabile da quanto era sempre tremolante il tratto. Non ho mai visto altro software che ne facesse uso, se non recentemente, quando ho letto di un demo che nasconde una hiddenpart attivabile puntando con la light pen in un punto preciso in un dato momento.

Per la programmazione, leggendo la programmers reference guide, saltano subito all'occhio una serie di registri del VIC
Codice: [Seleziona]
 D013       53267                 Light-Pen Latch X Pos
  D014       53268                 Light-Pen Latch Y Pos

  D019       53273                 VIC Interrupt Flag Register (Bit = 1:
                                     IRQ Occurred)
                            7      Set on Any Enabled VIC IRQ Condition
                            3      Light-Pen Triggered IRQ Flag
                            2      Sprite to Sprite Collision IRQ Flag
                            1      Sprite to Background Collision IRQ Flag
                            0      Raster Compare IRQ Flag
e l'input in porta 2
Codice: [Seleziona]
 DC00       56320                 Data Port A (Keyboard, Joystick,
                                     Paddles, Light-Pen)

Da cui si puo' dedurre che quando l'irq arriva da una light pen inserita nella porta 2, i registri d013/14 vengono aggiornati con le coordinate puntate in quel momento. Soffrira' sicuramente dello stesso problema del mouse, di dover cioe' rappresentare 2 pixel per ogni valore, perche' sono valori a 8 bit quindi da 0 a 255, mentre di bit ne sarebbero necessari 9 per valori superiori (400 circa per l'asse X, 300 circa per l'asse Y).
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Cbm

  • Utente
  • **
  • Post: 423
  • Gioco Preferito: Wonderboy
Penna Ottica
« Risposta #2 il: 10 Febbraio 2007, 19:37:33 »
Citazione da: "iAN CooG/HF"
lo provai per 10 minuti e a quel punto non so cosa mi fermo' dal buttare via tutto.
hehe, questo può spiegare perchè non ha mai avuto successo... scherzi a parte, grazie per le abbondanti informazioni.
Sai ho fatto caso che su gamebase64, nella pagina della ricerca avanzata è possibile fare una ricerca per tipologia di controllo utilizzato, e con penna ottica vengono fuori una dozzina di giochini, in maggioranza da scacchiera. Certo che non è l'uso migliore per una penna. Quella demo che dici sarebbe da provare, peccato che gli emulatori soliti non supportino la periferica; Power64 a parte che pare lo emuli tramite il mouse del computer, ma per ovvi motivi credo che windows si rifiuterebbe di farlo girare  :mattsid:

Ah, mentre facevo ricerche ho trovato un progettino (nella pagina dei progetti di hdd64.com) per un ibrido penna-pistola, forse sarebbe stato più produttivo questo come accessorio.
C= - Dal 1985! Lunga vita e prosperità.

Commodore

  • Neo-iscritto
  • *
  • Post: 48
Penna Ottica
« Risposta #3 il: 11 Marzo 2007, 10:44:52 »
 Ne ho una della Flashfire con apposito programma su cassetta e va abbastanza bene! Tuttavia il cursore è leggermente tremolante.......

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Penna Ottica
« Risposta #4 il: 11 Marzo 2007, 13:53:18 »
 Come si fa a dire che va bene se il cursore e' tremolante? :huh:
E' proprio quello il principale problema.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Commodore

  • Neo-iscritto
  • *
  • Post: 48
Penna Ottica
« Risposta #5 il: 24 Marzo 2007, 15:26:55 »
 Infatti ho detto che va abbastanza bene!

Nonostante il cursore sia a volte poco preciso il programma è ben realizzato, peccato però non si possa stampare!

mces

  • Utente
  • **
  • Post: 339
  • Gioco Preferito: fort apocalypse
Penna Ottica
« Risposta #6 il: 10 Luglio 2007, 18:07:22 »
 Salve.
Il principio della penna ottica è semplice e rozzo, e quindi soffre di limitazioni e non è emulabile....
La penna è composta da un fototransistor e da alcune porte logiche che ne ripuliscono il segnale.
Lo schemo televisivo, anche per il VIC, è disegnato sul tubo catodico attraverso un unico "pennello elettronico" o "raster" che dallo spigolo in alto sx si muove verso dx disegnando una riga, quindi ricomincia da sx ma un pò più in basso e così via fino alla fine del quadro TV.
Modulando la luminosità del raster in accordo con la sua posizione sullo schermo si riescono a visualizzare le figure ed i colori.

Fatta la stucchevole premessa, ricordo che la penna ottica semplicemente rilevava il passaggio del raster sul punto dello schermo fisicamente puntato dalla stessa generando un impulso che veniva, nel VIC, posto in relazione con le coordinate istantanee X e Y del raster stesso che sempre il VIC genera.
Questo sistema si espone alle limitazioni ottiche del sensore, all'impossibilità di stabilire se il grado di luce rivelata fosse un bianco adiacente o un grigio esattameente sotto il sensore (stessa luce sul fototransistor!), senza contare le varibilità di risposta del sistema anche in base alla figura rappresentata....  pensate che basta cambiare la luminosità o il contrasto del TV, oppure mettere un B/N al posto di un TVcolor (che ha la maschera colori INVAR sul tubo a moltiplicare i problemi di rappresentazione microgeometrica del raster..), a volte bastava pulire dalle ditate il monitor...
Insomma se funzionava, anche male, era un mezzo miracolo!

Sulle riviste di elettronica dell'epoca era pieno di penne ottiche e interfaccie cassette.

Vista l'integrazione hardware che questo sistema aveva nel VIC, e che non mi pare abbia nessun CHIP grafico per schede VGA, ritengo non direttamente emulabile la penna ottica, ma simulabile sì (punti con il mouse del PC e per simulazione ti cambiano i valori nei registri X e Y.... è un'idea?)

A presto!
Non esistono problemi, solo soluzioni.

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Penna Ottica
« Risposta #7 il: 10 Luglio 2007, 21:17:10 »
 
Citazione da: "mces"
ritengo non direttamente emulabile la penna ottica, ma simulabile sì (punti con il mouse del PC e per simulazione ti cambiano i valori nei registri X e Y.... è un'idea?)
 
Non avrebbe senso, perche' se un programma controlla i registri della Lightpen, funzionera' solo se questi vengono aggiornati dall'hardware, che io sappia poi quei 2 registri non sono accedibili in scrittura ma solo in lettura. Il mouse invece agisce sui registri del paddle. E' piu' fattibile una modifica del programma per farlo andare con un mouse, riscrivendo le routine di input.
PS: Vice ha il supporto completo per i registri della light pen (in src\vicii\vicii.c e src\vicii\vicii-irq.c), come si faccia a verificarlo non ne ho idea, mai vista di persona un light pen per PC :)
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

mces

  • Utente
  • **
  • Post: 339
  • Gioco Preferito: fort apocalypse
Penna Ottica
« Risposta #8 il: 10 Luglio 2007, 22:21:48 »
 veramente....
io dicevo che un emulatore per PC di C64 potrebbe usare il mouse del PC per simulare il puntamento della penna ottica.

D'altronde se hai il C64 ci attacchi una penna ottica vera!
Non esistono problemi, solo soluzioni.

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Penna Ottica
« Risposta #9 il: 10 Luglio 2007, 23:18:31 »
Citazione da: "mces"
veramente....
io dicevo che un emulatore per PC di C64 potrebbe usare il mouse del PC per simulare il puntamento della penna ottica.
 
Ok, ora mi e' chiaro cosa intendevi dire. Non resta che implementare l'idea nei sorgenti e mandare la patch al Viceteam, sperando interessi :)
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -