sensibilita' della variazine degli assi molto alta. Inoltre nel
cfg_std_pad.c ho eliminato l'uso delle direct input 8 per riuscire ad
ottenere i nomi dei device collegati, sostituendolo con la lettura della
chiave di registro corrispondente. Questo l'ho fatto perche' l'enum
della DI8 non garantiva l'esattezza dell'ordine dei device che
esaminava. Prendiamo ad esempio uno scenario con due pad collegati:
un "XBOX 360 controller" e un "Game USB Pad". Potevo ritrovarmi nella
combo dei device collegati un js0 con il nome "XBOX 360 controller"
mentre in realta' si trattava del pad "Game USB PAD".
sensibilita' della variazine degli assi molto alta. Inoltre nel
cfg_std_pad.c ho eliminato l'uso del thread separato per la lettura del
valore del joystick/gamepad.
"Tetris 2 + BomBliss (J) [!].nes". Questa utilizza la ram extra per
eseguire codice tra cui l'accesso ai registri della PPU quindi, utilizzo
il lend_word() e quindi devo controllare se mi trovo alla lettura del
secondo BYTE e se si non devo eseguire il tick_hw() esattamente come
faccio quando eseguo codice dal 0x8000 in su.
all'inizio del rendering. Temo che in presto apportero' altre modiche
che riguardano l'OAM visto che l'utente lidnariq su nedev sta
effettuando altri test e scoprendo altre cose
(http://forums.nesdev.com/viewtopic.php?f=2&t=10189)
come risultato il funzionamento corretto di rom come:
"scanline.nes"
"Micro Machines (Camerica) [!].nes"
tutti i test_apu di x0000
"dpcmletter.nes"
inoltre ho implementato quello riscontrato in questo post
http://forums.nesdev.com/viewtopic.php?f=3&t=465
permettendo il corretto funzionamento della rom "Huge Insect (Sachen)
[!].nes". Questo, inoltre, ha fatto sparire la pallina nella rom
"Escape_from_pong" che a quanto sembra, e' il reale comportamaneto su un
autentico NES!!.
Corretto qualche sciocchezza nella mapper 31.
lista delle rom recenti compariva anche il file temporaneo decompresso.
Per sicurezza ho aggiunto anche un controllo pere cui se il file non
esiste non appare piu' nella lista.
scanline.nes adesso funziona. Al $2006 ho aggiunto il solito delay di un
ciclo (questo mi ha permesso di eliminare l'uso del 2006.changed_from_op
per la rom "Cosmic Wars (J) [!].nes", inoltre adesso con le rom
"full_palette*.nes" l'immagine e' centrata nello schermo). Le modifiche
per il $2001 non mi convincono troppo. Ho fatto diversi test con altre
rom e sembra che questi cambiamenti non abbiano portato problemi
altrove, staremo a vedere. Inoltre ho eliminato la gestione del flag_sp
e flag_bg per le rom "nmy_sync/demo_ntsc.nes" e "nmy_sync/demo_pal.nes".
macchinosa. Rinominata l'opzione DSR in "GLSL/HLSL soft stretch" perche'
rende meglio l'idea di quello che realmente fa. Eliminati tutti gli
shaders inutili e non piu' utilizzati.
dove sono gestiti i tre formati "1:1", "5:4" (che corrispende all'aspect
ratio dell'immagine "4:3") e "8:7" che e' il PAR delle TV NTSC.
Corretto un degli errori che mi portavo dietro da sempre e cioe' quando
nel fullscreen mode andavo a calcolarmi le coordinate dove piazzare la
texture, essendo di tipo float, le lasciamo con il resto invece che
approssimarle all'intero piu' vicono. Questo mi portava a glitch grafici
sia con le shaders che senza. Adesso invece le trunc().
Corretto le shaders DBL e Phosphore riusciendo ad ottenere finalmente
gli effetti desiderati.
Aggiunto i filtri "Dark Room" e "Phosphor2".
Semplificato la gestione delle shaders spacchettandole ognuna in un file
di tipo ".h".
mai zero anche quando l'overscan era disabilitato.
Corretto il nome di "Posphor" in "Phosphor".
Aggiunta la gestione dell'aspect ratio nello shader del "Phosphor".
scelta uan qualsiasi modalita' di gioco dal menu iniziale, veniva
visualizzato un intermezzo simpatico (casuale tra tre disponibili),
prima di arrivare alla richiesta del cambio di lato del floppy. Con due
di questi intermezzi (quelli che utilizzavano l'IRQ timer) la richiesta
di cambio di lato era piena di glitch grafici e questo perche' la
generazione dell'IRQ continuava anche quando ormai non era piu'
necessaria. Azzerando il registro di reload del counter una volta
generato l'IRQ, l'IRQ verrà nuovamente generato quando solo quando il
reload verra' valorizzato attraverso i registri $4020 e $4021 e caricato
nel contatore attraverso la scrittura del $4022.
screen_emu allo shaders (questo portava ad una distorsione dell'immagine
con molti filtri come ad esempio il "CRT with Curve"). Finalmente l'ho
corretto.