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.
(come nella versione D3D9) utilizzando il "Multi-Pass Texturing".
Per entrambe le versioni (OpenGL e D3D9) alla texture del testo applico
il filtro lineare in modo che che lo rende più accattivante sia quando
vado in fullscreen che quando abilito l'aspect ratio.
Ho utilizzato un workaround per risolvere il problema della risoluzione
a schermo intero di 1920x1080 (vedere le note per una spiegazione piu'
dettagliata).
Aggiunto il supporto del "Border Color Texture Address Mode" (per il
workaround visto che adesso lo screen del nes non occupa più l'intera
zona di visualizzazione ma un pixel un meno sia in altezza che in
larghezza).
Aggiunto la pulizia delle superficie appena create per non correre il
richio di avere della sporcizia a video.
modalitò fullscreen non funzionavano correttamente questo perche' quando
applicavo il filtro, non tenevo in considerazione le dimensioni reali
della superficie di destinazione. Corretto.
versioni di windows (quella giapponese ad esempio) e il fatto che non si
popolasse la finestra dell'open_event(). Sembra proprio che con windows
xp (32 o 64 bit) il "CoInitializeEx(NULL, COINIT_MULTITHREADED)" ne
blocchi il refresh quindi disabilito l'audio (in modo da fare il
"CoUninitialize()") e lo riabilito quando esco dall'open_event().
visto che ora la dimensione della texture del testo può variare
(gfx.w[CURRENT e gfx.h[CURRENT]).
Inoltre non rilasciavo la surface map0 della texture quando rilasciavo
le risorse. Questo non permetteva di liberare la memoria video
utilizzata che a lungo a dare si riempiva mandando in crash l'emulatore.
supportino solo texture powerate. Visto che la texture del testo
"d3d9.text" che creavo era non powerata, quando selezionavo la
dimensione X3, l'emulatore crashava. Adesso uso solo texture "power of
two".
screensaver o quando, con il puNES in finestra e senza focus, si rientra
dal fullscreen di un'altra applicazione), il contesto D3D9 non veniva
piu' aggiornato mostrando o l'ultmima immagine disponibile oppure un
quadrato biano. In questo caso il contesto deve essere resettato (ma io
preferisco ricrearlo completamente).