Commit graph

  • c6bf1a9b46 Ho modificato la gestione del $2001 e $2006 ed in questo modo la rom 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". 0.84 FHorse 2014-04-30 15:08:35 +02:00
  • 1ee61c3f11 rinominata l'opzione "lost_focus_pause" in "background_pause" FHorse 2014-04-30 14:44:27 +02:00
  • 1e9095d82d aggiunto il supporto per la mapper 31 (2a03puritans.nes) FHorse 2014-04-29 23:13:56 +02:00
  • 6705f8ad01 typo FHorse 2014-04-27 12:00:55 +02:00
  • e248c9d41b con layout di tastiera "particolari" (tipo il russo) il VkKeyScan restituiva sempre "-1". Per i caratteri ASCII normali adesso imposto sempre la decodifica con il layout "Inglese (Stati Uniti)". FHorse 2014-04-26 19:11:04 +02:00
  • dd259103b1 aggiunto l'opzione per mettere automaticamente in pausa l'emulatore quando perde il focus. FHorse 2014-04-24 22:52:11 +02:00
  • 7be7339af5 Ripulita tutta la gestione degli shaders rendendola piu' semplice e meno 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. 0.83 FHorse 2014-04-22 15:22:49 +02:00
  • 894101c19d avevo dimenticato di aggiungere la creazione della directory "tmp" nella directory base e questo poteva portare al crash dell'emulatore quando tentava di caricare una rom zippata. FHorse 2014-04-17 11:39:12 +02:00
  • 2710591389 con il game genie attivo, la rom non veniva caricata perche' il file decompresso veviva cancellato prima di essere caricato. Corretto. FHorse 2014-04-16 13:01:31 +02:00
  • da54f7c69b corretto il solito errore della disabilitazione del sottomenu "CRT". FHorse 2014-04-09 11:56:37 +02:00
  • 8d7399ed28 ultimi ritocchi allo shader dello scanline. FHorse 2014-04-09 11:46:14 +02:00
  • fa9e37c700 preparazione alla release FHorse 2014-04-08 21:16:08 +02:00
  • daeb7b2579 nell'eincertezza di quale versione minima di OpenGL sia necessaria per il glGenerateMipmap() utilizzo quella che da sempre uso. FHorse 2014-04-08 21:15:51 +02:00
  • ff151b10f6 eliminato dall'enum lo SHADER_DARKSCREEN, non mi serve. FHorse 2014-04-08 21:02:35 +02:00
  • ab3a0a4b57 corretto la shader della scanline. FHorse 2014-04-08 20:54:28 +02:00
  • a3d7133e3c aggiunta l'icona per il sottomenu. FHorse 2014-04-08 20:54:10 +02:00
  • 95f35923dd tra le tante prove effettuate avevo dimenticato di eliminare una sottrazione inutile. FHorse 2014-04-08 20:53:47 +02:00
  • 8d9a11a9e2 sostituito il "tv aspect ratio" con un sottomenu "pixel aspect ratio" 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". FHorse 2014-04-07 13:06:12 +02:00
  • 155b1c161c aggiornata la glew alla 1.10.0. FHorse 2014-04-05 15:27:42 +02:00
  • 1b2d18c07a corretto un bug nella gestione dell'aspect ratio. Il "float ar" non era 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". FHorse 2014-04-05 13:09:23 +02:00
  • c4f7bca806 Revert "corretto l'aspect ratio nello shader "Phosphor"." FHorse 2014-04-05 12:42:07 +02:00
  • 663ea9b80d corretto l'aspect ratio nello shader "Phosphor". FHorse 2014-04-05 12:41:20 +02:00
  • 3703d7257b Typo 0.82 FHorse 2014-04-03 11:44:22 +02:00
  • dad432e916 con l'FDS "Kaettekita Mario Bros. (1988)(Nintendo)(J).fds" accadeva che, 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. FHorse 2014-04-03 11:43:43 +02:00
  • 7f091cfb56 con l'overscan attivo non passavo mai le dimensioni corrette dello 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. FHorse 2014-03-31 12:20:02 +02:00
  • 41fdf0451d quando compilavo pixel e vertex shader non passavo i valori di "size_video_mode" corretti. FHorse 2014-03-31 11:28:45 +02:00
  • debe48bd85 ho eliminato il sottomenu del vsync rendendolo uno switch come l'interpolazione o l'aspect ratio FHorse 2014-03-30 13:07:49 +02:00
  • 00f3a5498b aggiornata l'icona del "Set borders" FHorse 2014-03-30 12:03:27 +02:00
  • 873bbe99cb introdotta la possibilita' di modificare le dimensioni dei bordi dell'overscan FHorse 2014-03-30 11:54:05 +02:00
  • 7318f52bf2 l'opzione non ha uno shortcut. FHorse 2014-03-22 15:47:31 +01:00
  • 61e25e1154 aggiunta un'opzione per abilitare o disabilitare i messaggi a video. FHorse 2014-03-22 15:21:02 +01:00
  • 344e86a980 ho riabilitato l'interpolazione anche nelle modalità "OpenGL". FHorse 2014-03-20 15:59:54 +01:00
  • 576081dea7 con l'aggiunta dell'aspect ratio, il "set mode" devo farlo anche quando sono in fullscreen. FHorse 2014-03-20 15:52:45 +01:00
  • f68967979d typo FHorse 2014-03-20 15:49:40 +01:00
  • 4aa5cc1d5c per sicurezza ricalcolo le dimensioni della finestra perchè potrebbe essere cambiata dall'ingresso nel fullscreen per la modifica dell'opzione "TV Aspect Ratio". FHorse 2014-03-20 15:49:07 +01:00
  • 1cd0ba77f5 come nella versione D3D9 il wrap della texture è settato sulla visualizzazione del colore nero. 0.81 FHorse 2014-03-19 16:17:33 +01:00
  • e33e9f697c con l'opzione "interpolation" attiva, se passavo da un filtro che la disabilita automaticamente (DBL ad esempio) ad una dove l'interpolazione e' permessa, l'opzione non si riattivava. FHorse 2014-03-19 15:21:07 +01:00
  • a8933eb63e nella versione D3D9 corretto un memoty leak e impostato il filtro software dell'Hq2x quando l'interpolazione è abilitata. Ho riportato gli stessi settaggi nella versione OpenGL. FHorse 2014-03-19 14:18:53 +01:00
  • cd8728819e riaminato nei menu "Aspect Ratio" in "TV Aspect Ratio". FHorse 2014-03-19 14:17:10 +01:00
  • d890207845 aggiunto gli shortcut "0" e "9" rispettivamente per l'aspect ratio e l'interpolation. FHorse 2014-03-19 11:41:02 +01:00
  • 6f1e187a8b aumentata l'altezza della finestra dell'help. FHorse 2014-03-19 00:51:31 +01:00
  • 21a62064f9 non gestico correttamente la chiusura dalla "X". FHorse 2014-03-18 23:57:59 +01:00
  • f2d6bbe0af adesso i file prb vengono creati e letti da una cartella apposita. FHorse 2014-03-18 19:40:11 +01:00
  • ab150b803b corretta la disabilitazione e l'abilitazione di alcune voci del menu. FHorse 2014-03-18 19:19:09 +01:00
  • f03b04c227 ho corretto un errore nello shader "don't BLOOM". Ho implemento l'utilizzo del filtro lineare indipendentemente dal filtro utilizzato (nelle OpenGL solo quando si usano il GLSL e sempre nel D3D9) FHorse 2014-03-18 18:58:35 +01:00
  • 9c5e887108 avevo dimenticato di eliminare un printf() FHorse 2014-03-18 14:55:39 +01:00
  • 7c882001ea in windows xp con alcuni driver il filtro lineare sul testo lo rende sfocato tanto da renderlo illeggibile, quidnif solo con questo sistema operativo lo disabilito. FHorse 2014-03-18 14:55:20 +01:00
  • b01599b1ac corretto il fattore di blending della destinazione FHorse 2014-03-18 14:04:58 +01:00
  • 7cc3f8de32 nella versione OpenGL ora uso sempre e comunque una texture per il testo (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. FHorse 2014-03-18 13:41:03 +01:00
  • c6ab5f6730 implementato l'aspect ratio 4:3 . FHorse 2014-03-18 03:06:30 +01:00
  • 3717c194f2 impostato "1" come valore di default per il delay dei turbo buttons. FHorse 2014-03-17 11:47:20 +01:00
  • 0050b1d517 corretto un segmentation fault che avveniva quando caricavo l'emulatore senza rom e modificavo l'impostazione "Mode" su "Auto". FHorse 2014-03-17 11:16:51 +01:00
  • e466fb7aac impostato il valore minimo per il turbo delay a 1 invece che 0. In questo modo la versione windows e quella linux sono uniformate. FHorse 2014-03-16 20:21:21 +01:00
  • 540972bb53 ho ripristinato il titolo della finestra 0.80 FHorse 2014-03-14 13:18:59 +01:00
  • 2698bfde58 ho eliminato un po' di messaggi inutili FHorse 2014-03-14 13:12:15 +01:00
  • 03cf08a6e3 mi preparo alla release. FHorse 2014-03-14 10:48:32 +01:00
  • 77a69c7e57 ho ripulito un po' di codice eliminando alcune chiamate ripetute piu' volte. FHorse 2014-03-14 09:46:22 +01:00
  • 29e312cc5d appena superavo il limite delle TXT_MAX_LINES (nelle info), veviva disegnate a video del garbage perche' non azzerravo mai ele->w di ogni nuovo elemento. Ho corretto anche il conteggio degli elementi attivi. FHorse 2014-03-14 09:43:42 +01:00
  • b3c1d735bb eliminato al possibilià di switchare allo scqle X1 in modalita' fullscreen (devo disabilitare proprio l'opportunita' di cambiare scale in fullscreen?). FHorse 2014-03-13 09:33:27 +01:00
  • a1b4022bbb Ho uniformato la gestione della telecamera con la versione OpenGL. 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. FHorse 2014-03-13 02:02:11 +01:00
  • a8ef127450 in modalità D3D9/HLSL o OpenGL/GLSL la modalità Hq4x in finestra e la modalitò fullscreen non funzionavano correttamente questo perche' quando applicavo il filtro, non tenevo in considerazione le dimensioni reali della superficie di destinazione. Corretto. FHorse 2014-03-09 22:48:24 +01:00
  • 2cea42a2f0 spero di aver definitavamente corretto il problema del crash su alcune 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(). FHorse 2014-03-09 10:43:59 +01:00
  • 0ff217b249 quando in modalità finestra passavo da X2 a X3 con il filtro Hqx attivo, l'Hqx3 non funzionava. FHorse 2014-03-08 21:59:02 +01:00
  • 73525a9492 il set_mode() lo devo eseguire sempre anche quando sono in fullscreen 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. FHorse 2014-03-08 21:04:27 +01:00
  • dcc8e45af1 sembra proprio che molti driver di schede video, in windows XP, non 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". FHorse 2014-03-08 14:38:00 +01:00
  • 851d1ea9d9 la rom "Pegasus 4-in-1 (Unl) [!].nes" non funzionava correttamente, il secondo ed il terzo gioco non venivano caricati correttamente. FHorse 2014-03-08 13:40:40 +01:00
  • cf679d6bbe qnon venivano caricati i file fds contenuti in archivi compressi perche' in uscita dal uncomp_ctrl() non reinizializzavo la variabile "ext" che rimaneva impostata con l'estensione del file compresso. FHorse 2014-03-08 02:15:50 +01:00
  • 1786f852c5 come default utilizzavo il BXROM con il "bus conflict", adesso invece uso quello senza. FHorse 2014-03-07 13:17:40 +01:00
  • 71cd700e10 nel caso di "Lost Device" (quando, per esempio, si rientra dallo 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). FHorse 2014-03-06 09:32:24 +01:00
  • 5be2545211 ho aggiunto al database "Hogan's Alley (W) [!].nes" forzandogli il mirroring verticale perche' sul web girano rom con l'header corrotto. FHorse 2014-03-04 19:27:36 +01:00
  • f2feb256df "Cybernoid - The Fighting Machine (U) [!].nes" ha bisogno del bus conflict per funzionare correttamente. FHorse 2014-03-02 13:43:32 +01:00
  • b3e4aa4c03 ho aggiunto come commento la descrizione della funzione. FHorse 2014-03-02 12:07:24 +01:00
  • aad3ff882f se la finestra dell'emulatore non ha il focus, lo screensaver parte e al rientro il contesto D3D9 rimane bloccato anche se l'emulazione continua correttamente. Disabilito completamente lo screensever. FHorse 2014-03-02 05:41:06 +01:00
  • 0a6a5431c3 se dopo aver caricato una rom caricavo un fds, la vde del emnu "Switch Sides (Alt+S)" rimaneva non selezionabile anche se erano presenti piu' sides di floppy. FHorse 2014-03-02 03:23:38 +01:00
  • 366476e4a9 quando passavo la finestra dell'emulatore da un monitor ad un altro, la scena D3D9 diventava nera anche se l'emulazione continuava correttamente. Se passavo al fullscreen tutto riprendeva a funzionare a dovere. Corretto. FHorse 2014-03-02 03:19:59 +01:00
  • 7c728ee888 eliminato una #include che non serve. FHorse 2014-02-28 12:49:17 +01:00
  • 03c1694dac uniformato. FHorse 2014-02-28 12:18:41 +01:00
  • ef19037a4b uniformato. FHorse 2014-02-28 12:00:58 +01:00
  • dd9ebe2342 ho uniformato gli "#ifdef" e gli "#ifndef". FHorse 2014-02-28 11:56:24 +01:00
  • df55f0a619 aggiunta la versione a 64bit della D3D9. FHorse 2014-02-28 01:49:06 +01:00
  • c758312dc8 corretto un problema per cui il cursore veniva visualizzato (in modalità fullscreen) ugualmente una volta rimosso la zapper dalla configurazione dell'input. FHorse 2014-02-27 17:40:51 +01:00
  • 10217c0df2 aggiunto il supporto al fullscreen. FHorse 2014-02-27 17:01:13 +01:00
  • 871dae0b1e continuo ad uniformare e in piu' ho aggiunto il supporto per lo zapper. FHorse 2014-02-27 12:19:13 +01:00
  • 526c644d53 come nel commit precedente. FHorse 2014-02-27 11:07:50 +01:00
  • ca486c4ea8 continuo il lavoro di adeguamento tra le due versioni. FHorse 2014-02-27 01:54:02 +01:00
  • 83737337d6 implementato il savestate e la timeline e ho unifirmato (per quanto possibile) il codice delle versione SDL e D3D9 di win.c e win.h. FHorse 2014-02-27 00:23:07 +01:00
  • 1616929b7c continua la condivisione del codice. Implementato la gestione della configurazione dell'input e dei canali dell'APU. FHorse 2014-02-26 20:32:09 +01:00
  • 6e23b2a972 continuo a condividere codice tra le due versioni windows. FHorse 2014-02-26 17:53:31 +01:00
  • b56557e2b9 ho eliminato delle include che non servivano. FHorse 2014-02-26 17:45:54 +01:00
  • 3e56403153 implementata la gestione dei file di configurazione nella versione D3D9 e uniformato il codice tra tutte le versioni. FHorse 2014-02-26 17:26:00 +01:00
  • cee772a8d0 ho corretto la visualizzazione del testo anche con il filtro NTSC. Lo stesso fix l'ho riportato anche nell'OpenGL (devo stare attentoa che questo non comporti qualche problema). FHorse 2014-02-26 14:57:18 +01:00
  • 76ba9c52b5 ho riordinato un po' il codice. FHorse 2014-02-26 14:01:19 +01:00
  • bbc25ffa0e nella versione D3D9 il filtro ntsc non funzionava perche' la paletta interna utilizzata dal filtro stesso poneva sempre a 0 il canale alpha e questo non permetteva di visualizzare correttamente i colori a video. Ho fatto qualche verifica e sembra che la modificata fatto non comporta problemi anche nelle altre versioni. FHorse 2014-02-26 14:00:50 +01:00
  • e6e29d1f56 quando finisco di far fare l'effetto fade out di una linea di testo, prima di rilasciare le risorse utilizzate, eseguo un text_clear() azzerando (nel caso di OpenGL e D3D9) dalla texture del testo i pixel prima utilizzati dalla linea stessa. FHorse 2014-02-26 11:18:12 +01:00
  • 9a7fe5038a corretto un segmentation fault nel caso in cui veniva effettuato un text_clear() prima di aver creato la texture del testo. FHorse 2014-02-26 11:15:15 +01:00
  • 71237530d9 ho implementato il testo a video nella versione D3D9 ed ho uniformato text.c e text.h in modo da poterli utilizzare in tutte le versioni. Ci sono ancora problemi (tipo il filtro NTSC che non funziona) ma li risolverò. FHorse 2014-02-26 02:26:51 +01:00
  • 485fc69edf typo. FHorse 2014-02-26 01:08:17 +01:00
  • c36d8b3e07 eliminato un warning del compilatore (non veniva utilizzato il codice di ritorno dell'fread) ed corretto la mancata chiusura della rom in caso di errore. FHorse 2014-02-26 00:53:24 +01:00
  • cf7fe041eb typo FHorse 2014-02-25 20:51:11 +01:00
  • 629a1175e3 ho riportato molto del codice della versione sdl in quella d3d9 riuscendo nuovamente a compilare e ad avere un eseguibile funzionante. FHorse 2014-02-20 12:30:50 +01:00