Ho testato i CRT Emudriver per windows 7

Come portare i 15khz al monitor arcade con HW o SW
Avatar utente
biasini

Silver Medal
God of Arcade
God of Arcade
Messaggi: 2645
Iscritto il: 11/04/2013, 11:17
Medaglie: 1
Città: Roma
Grazie Inviati: 86 volte
Grazie Ricevuti: 48 volte

Re: Ho testato i CRT Emudriver per windows 7

Messaggio da biasini »

nushuth ha scritto:In linea di massima, qualsiasi software a 32 bit, se eseguito su un OS a 64, risulta essere piu lento che su un OS a 32 bit nativo.
E perchè mai, scusa? <-think->
quindi un test corretto dovrebbe essere eseguito su un hardware adatto (meno di 4GB di RAM) e con mame64 su windows x64 e mame32 su windows x86.
credo che facendo un test del genere, le prestazioni tra le due versioni diventerebbero molto simili...
La ram c'entra poco, poichè l'emulatore mame ne fa davvero un uso limitato. A memoria uno dei giochi che utilizzano più ram è Street Fighter 3. Averne 3 o 4 gb fa lo stesso per l'utilizzo con l'emulatore.

Anni fa perdevo più tempo a fare test con vario hardware, oggi molto meno ma posso portare questo esempio:

Ho provato un annetto fa una soluzione con motherboard All in one di Sapphire, sia con Windows 7 x86 che x64.
Questa la configurazione hardware:
CPU integrata AMD E-350 (dual core 1.6ghz, 2x1mb di cache L2)
2x2 gb DDR3 1300mhz
SSD da 120gb
Monitor LCD

Ebbene, non ricordo con esattezza i risultati nel dettaglio ma attivando il tasto F11 che indica la percentuale dei frame, i risultati erano sempre a favore del mame x64 in accoppiata a W7x64 in valori variabili a seconda dei giochi solitamente dal 15 al 30%.
Radiant Silvergun in particolare si attestava sul 50-60% su mamex86 e W7x86, mentre con emulatore e sistema a 64 bit era tra l'80 ed il 90%. Risultati non da poco...
Su hardware molto più performanti lo scarto è invece piuttosto ridotto...non saprei fare una stima e non ricordo esattamente, ma dire sull'ordine del 5-10%, se non addirittura nullo in alcuni casi. Ci sarebbe poi da verificare il funzionamento legato ad un monitor arcade (o una TV a tubo), cosa che certamente darebbe risultati differenti in base alle risoluzioni e per via delle diverse impostazioni.
Avatar utente
nushuth
Newbie
Newbie
Messaggi: 95
Iscritto il: 15/12/2012, 10:57
Città: Bologna

Re: Ho testato i CRT Emudriver per windows 7

Messaggio da nushuth »

biasini ha scritto:
nushuth ha scritto:In linea di massima, qualsiasi software a 32 bit, se eseguito su un OS a 64, risulta essere piu lento che su un OS a 32 bit nativo.
E perchè mai, scusa? <-think->
perche il software compilato a 32 bit, su un OS a 64 bit, non gira "nativo", ma dentro una sorta di layer di emulazione chiamato WoW (Windows on Windows).
noi appassionati di emulazione sappiamo che non è una vera e propria emulazione (perche la CPU esegue codice x86 nativo, non viene emulata una CPU x86) tuttavia questo "layer" rallenta l'esecuzione del codice a 32 bit.
La ram c'entra poco, poichè l'emulatore mame ne fa davvero un uso limitato. A memoria uno dei giochi che utilizzano più ram è Street Fighter 3. Averne 3 o 4 gb fa lo stesso per l'utilizzo con l'emulatore.
d'accordissimo con te. io ho indicato "3GB di RAM" come ambiente di test per non falsare eventuali prove.
come sai windows x86 indirizza max 4GB teorici, nella pratica 3 e spiccioli. Se sull'hardware di test monti 8GB di ram, windows x64 ne ottiene un "indebito" vantaggio in termini di prestazioni globali del sistema operativo, e quindi anche l'emulatore ne potrebbe ricavare un vantaggio indiretto, cosa che invece windows x86 sullo stesso hardware non avrebbe.

credo che le prove che tu hai fatto (di certo piu approfondite delle mie) fondamentalmente convergono almeno in parte con le mie teorie: qualcuno infatti parlava della necessità di usare windows 7 e i CRT emu driver per poter sfruttare l'hardware piu performante disponibile sul mercato, perche non possiamo andare avanti con schede video obsolete...

unito alla scarsa necessità di RAM del mame, e unito al fatto che se usi CRT emu driver hai necessariamente un monitor arcade o tubo ( e come dici tu in queste condizioni se esiste differenza è impercettibile), di fatto mi stai confermando che non esiste un reale, tangibile motivo (per gli obiettivi che mi sono prefisso) per usare windows a 64 bit piuttosto che a 32.

la versione x86, invece, potrebbe essere in grado di lavorare con driver di schede obsolete (che invece la versione x64 non consente di fare).

tutto questo discorso per dire che, mettendo i pro e i contro di ciascuna delle due soluzioni sulla bilancia, windows 7 x86 per un mamecab e monitor arcade dovrebbe essere il compromesso migliore e piu compatibile all'indietro. certo, non la soluzione perfetta.
Avatar utente
biasini

Silver Medal
God of Arcade
God of Arcade
Messaggi: 2645
Iscritto il: 11/04/2013, 11:17
Medaglie: 1
Città: Roma
Grazie Inviati: 86 volte
Grazie Ricevuti: 48 volte

Re: Ho testato i CRT Emudriver per windows 7

Messaggio da biasini »

nushuth ha scritto:perche il software compilato a 32 bit, su un OS a 64 bit, non gira "nativo", ma dentro una sorta di layer di emulazione chiamato WoW (Windows on Windows).
Non ero a conoscenza di questo aspetto. Sapevo che assolutamente non in tutte le condizioni i sistemi operativi a 64 bit sono più vantaggiosi rispetto a quelli a 32, ma sotto windows ho sempre pensato che fosse un pò come quando ai tempi di win98 si eseguiva software 16/32 bit in modo più o meno indifferente.

Per esperienza pratica però, in effetti posso confermare che su diverse macchine i sistemi operativi windows 32 bit sono più scattanti delle controparti a 64. Mi viene in mente che questa condizione è molto frequente nei notebook...magari per via di un discorso legato alla cache del processore? I processori mobile sono sempre più "debolucci" e certamente più limitati in fatto di quantitativo di cache disponibile.
Probabile quindi che un'istruzione 32 bit su OS x64 occupi un array più grande del necessario, con conseguente "furto" di cache.
Ad ogni modo con processori desktop più recenti e performanti (...e accompagnati da generosi quantitativi di ram) le differenze sono pressochè nulle...
A questo punto credo di poter dire che MAME è l'unico emulatore che sfrutta con un certo riscontro il discorso del vantaggio di istruzioni x64, tanto più che per fare tutto il lavoro utilizza la sola CPU.

Comunque, come sottolinei giustamente tu, il vero nodo resta l'utilizzo di un hardware più moderno, in particolar modo il discorso delle schede video, per le quali si è giunti molto al limite per mancanza di driver delle nuove: il funzionamento è quasi del tutto limitato a windows XP 32, ma mi sembra che anche i driver beta di calamity per Win7 non supportino per ora schede più nuove della serie 4xxx e che dal fronte soft15khz la situazione sia più o meno la stessa.
Resta da capire se è solo questione di tempo, o se più in generale le schede video più recenti non siano in grado a livello fisico di scendere con le risoluzioni oltre un tot.
L'ho già detto in un altro thread, ma ad esempio la ArcadeVGA 5000 di Ultimarc, funzionante a 15khz, altro non è che una AMD (exATI) HD 5450 con firmware modificato. Sarebbe interessante a questo punto comprendere il comportamento di questa scheda, relativamente recente e acquistabile nuova davvero a buon mercato, con le risoluzioni native su mame.
Se ci fosse qualcuno che potesse testarla con risoluzioni native critiche per diverse schede video (molte geforce per esempio) tipo Ghosts'n Goblins (256x224) o Kung Fu Master (256x256), sarebbe di buona indicazione rispetto alla strada possibile da intraprendere.
Personalmente non metto nel cab nulla che non sia arcade ma, volendolo fare, ad oggi più di un emulatore "soffre" hardware datati e soprattutto la mancanza di un ricambio di schede video che supportino anche directx più recenti.
La mia sfida è quasi sempre orientata ad ottimizzare configurazioni su hardware di recupero...se in tutti i cab che ho preparato c'era di mezzo una PCI-Express, era già un pc di lusso! :-D
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3272
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 32 volte
Contatta:

Re: Ho testato i CRT Emudriver per windows 7

Messaggio da motoschifo »

Sentir parlare di 32 e 64 bit mi porta alla mente i miei primi esperimenti con l'informatica "seria" ad 8 bit....... <-give_heart->

In realtà il discorso 32/64 bit è parecchio complesso e arriva dopo anni di continue estensioni rispetto ai primissimi processori x86 (e limiti impostati per mantenere la compatibilità binaria).
Ad esempio il limite di utilizzo dei 4GB di Windows è solo teorico ed è un limite fissato da Microsoft: con il sistema PAE, quindi una funzionalità del processore, si riescono ad indirizzare fino a 64GB totali anche su sistemi a 32 bit (Windows, Linux, ecc):
http://it.wikipedia.org/wiki/Physical_Address_Extension
Questo limite assomiglia parecchio a quello di non dotare i sistemi XP di un gestore raid, che però guardacaso si abilita cambiando due soli byte di un paio di file .sys che si trovano in system32... quindi credo proprio che sia un comportamento voluto per evitare di usare XP su ambienti server o con risorse più potenti (idem per i limiti dei core/cpu nell'hardware smp).

Poi ci sono un sacco di altri limiti (sotto Windows) come i 2GB max per il kernel e i 2GB max per le applicazioni, quindi anche se ho 64GB di memoria il mio processo non potrà mai indirizzare più di 2GB, e la memoria condivisa del kernel ad ogni modo non potrà oltrepassare i primi 2GB. E c'è pure quello dei 3.2GB max totali assoluti, quindi ben al di sotto dei 4GB.
Ci sono diversi modi per ottimizzare la gestione della memoria ma qui entriamo in un argomento complesso e sconfinato... io al tempo avevo fatto qualcosina poi però non ho potuto più dedicarci risorse. Passando ai 64 bit con Linux i limiti sono quasi del tutto scomparsi, con Windows alcuni ne sono rimasti ma comunque direi del tutto accettabili per un desktop.

I sistemi 64 bit "maneggiano" dei dati che sono grandi il doppio, quindi potrebbero impiegare di più a processare la coda delle istruzioni e per salvare i registri (e non potrà salvarne mezzo alla volta, anzi dovrà usare qualche multiplo legato al bus che ci sta attorno).
Poi alcuni processori avevano un sistema di ottimizzazione fantastico per cui potevano eseguire contemporaneamente due set di istruzioni 32-bit (o per meglio dire, potevano evitare di andare a recuperare i dati perchè li avevano già a disposizione) ma ovviamente qui entrano in gioco anche problemi di sincronizzazione e multitasking (non dei programmi, ma delle singole istruzioni macchina processate). Con il multicore la complicazione è aumentata drasticamente, tanto che iniziavano a comparire i primi algoritmi di predizione del codice, che quindi eseguivano in parallelo alcuni pezzi di codice successivi perchè probabilmente li avrebbe incontrati alla fine di quell'esecuzione, cosa che poteva anche non capitare ovviamente facendo sprecare un sacco di risorse :)
Scrivendo programmi in maniera particolare potevi quindi ottimizzare parecchio il caricamento dei dati e riuscivi ad avere un guadagno in termini di prestazioni molto alto.

Dato però che Windows va sul dual core/i3/i5 di Intel o Amd, in genere i kernel hanno cercato di non ottimizzare troppo ed usato le istruzioni comuni un po' a tutti (i requisiti minimi servono anche per capire quali istruzioni avanzate si potevano usare). Anche con Linux è così, ma basta ricompilare ed ottimizzare il kernel per avere un pochino più di prestazioni.

Ovviamente il kernel è solo uno dei tanti programmi in esecuzione, poi ci sono i mille programmi/servizi accessori che lo rendono funzionante ed interattivo (sistema operativo, driver grafici, driver di rete, processi in background, risoluzione nomi, ecc) e poi il programma utente. Tutto gestito da interrupt (che interrompono appunto la normale elaborazione) o schedulatori.

Io sinceramente non ho notato miglioramenti apprezzabili fra 32 e 64 bit, magari parliamo di 1 secondo su 20 e il disco fisso potrebbe invalidare qualsiasi ottimizzazione perchè ogni volta che si sale in complessità e dimensioni i tempi cambiano di un ordine di grandezza (cpu -> cache primo livello -> cache secondo livello -> ram -> controller -> dischi).
I miglioramenti in genere arrivano se il programmatore ha previsto l'utilizzo dell'architettura a 64 bit e agito di conseguenza, ma non si ottengono magicamente ricompilando (anzi, spesso alcuni programmi non si ricompilano nemmeno per via di limiti strutturali... ma qui la cosa meriterebbe un discorso più ampio).

Tutto questo per dire che bisogna semplicemente provarlo, ovvero se il sistema funziona bene a 32 non aspettiamoci un incremento significativo a 64 bit, anzi in alcune condizioni potrebbe essere peggio (troppe variabili in gioco).
Viceversa, se l'utilizzo dei 32 bit non è molto diffuso ed il programmatore cercherà di avvantaggiarsi della nuova architettura ottimizzando all'estremo il programma e sfruttando istruzioni disponibili solo per quel tipo di processore, allora vedrai le prestazioni aumentare sensibilmente. Ad esempio le istruzioni MMX che erano disponibili nei primi Pentium a 166Mhz (se ricordo bene) hanno prodotto incrementi davvero notevoli per l'epoca. A quelle sono state aggiunte nel tempo nuove istruzioni sempre più complesse, in genere ad ogni cpu nuova corrispondeva un set esteso specifico. Ovviamente se usi quelle istruzioni nuove il programma non girerà mai sui vecchi processori. L'estensione exe è un po' fuorviante perchè il programma è legato all'architettura e quindi sarebbe il caso di parlare di exe32, exe64, ecc.

La cache del processore invece è molto importante, ma è un componente costosissimo e porta ad avere cpu gigantesche, con problemi di riscaldamento e tutto il resto.
E' per quello che ne mettono sempre pochissimo/nessuna nelle cpu meno performanti (ad es. i Celeron erano Pentium con pochissima cache). Mi riferisco alla cache di primo, secondo e terzo livello (in ordine di importanza), mentre la ram viene considerata di quarto livello. La L3 a volte non era presente e nei nuovi processori tipo l'i7 ormai esiste una cache unica più "intelligente", ma credo che alla fine ci sia la stessa differenza di una scheda grafica con ram dedicata super veloce ed una che utilizza quella di sistema (lentissima... almeno per la cpu :) )

Sul discorso dei monitor arcade invece è sempre più difficile trovare schede video in grado di supportarli perchè semplicemente è un settore nel quale non si investe più.
Ora ci sono risoluzioni 4-5K con gli 8K all'orizzonte, o magari 2-4 monitor, quindi servono veri e proprio mostri anche solo per disegnare il desktop.
La risoluzione di 320x200 pixel è praticamente scomparsa e quella 640x480 rimane per compatibilità... purtroppo :(

Mamma mia quanto ho scritto... argomento interessantissimo quello dei processori.... ma qui siamo in un forum arcade... <-lol->
Spero non ci siano troppi errori e di aver confuso ancor di più le idee <-think->
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
biasini

Silver Medal
God of Arcade
God of Arcade
Messaggi: 2645
Iscritto il: 11/04/2013, 11:17
Medaglie: 1
Città: Roma
Grazie Inviati: 86 volte
Grazie Ricevuti: 48 volte

Re: Ho testato i CRT Emudriver per windows 7

Messaggio da biasini »

Tutto chiaro moto...almeno per chi è in ascolto.
In realtà Le schede video sono state solamente adattate alla causa, non nascono per lavorare con risoluzioni bassissime, da quando c'è in giro lo standard VGA.
Resta da vedere se le nuove o comunque quelle non troppo datate sono in grado di scendere in basso. Per logica, vista la rincorsa ai nuovi standard, si direrebbe di no, ma chissà...
Per quanto riguarda la cache dei processori: con mame è un altro aspetto più che fondamentale, io feci prove che indicavano palesemente l'importanza della presenza di un maggiore quantitativo. Il celeron era proprio uno di quelli che deludeva notevolmente a parità di frequenza lavorativa
Avatar utente
Kernel
God of Arcade
God of Arcade
Messaggi: 6794
Iscritto il: 25/07/2005, 10:54
Grazie Inviati: 2 volte
Grazie Ricevuti: 2 volte

Re: Ho testato i CRT Emudriver per windows 7

Messaggio da Kernel »

Gran bell'intervento motoschifo.
Ricordo che avevo visto qualche anno fa dei benchmark con il raffronto delle prestazioni di giochi fatti girare su win7 a 32 e 64. Con mia sorpresa su win 7 a 64 andavano più veloci, anche se di poco.
Si parlava di giochi recenti, quindi entravano in gioco anche le schede grafiche.
Avatar utente
genius77

Donatore
Nostalgico
Nostalgico
Messaggi: 338
Iscritto il: 02/02/2012, 11:13
Medaglie: 1
Città: Milano
Grazie Inviati: 2 volte
Grazie Ricevuti: 2 volte

Re: Ho testato i CRT Emudriver per windows 7

Messaggio da genius77 »

Finalmente ho avuto il tempo di installare il crt 15khz (anche se ancora non l'ho acceso 8-) ) ...

Stasera penso di provare con l'installazione degli Emudriver su Windows 7

Stay tuned

(se sentite imprecazioni in lontananza probabilmente sono io <-lol-> )
Avatar utente
genius77

Donatore
Nostalgico
Nostalgico
Messaggi: 338
Iscritto il: 02/02/2012, 11:13
Medaglie: 1
Città: Milano
Grazie Inviati: 2 volte
Grazie Ricevuti: 2 volte

Re: Ho testato i CRT Emudriver per windows 7

Messaggio da genius77 »

ci ho passato tutta la serata di ieri ma sono uscito vincitore!!! <-lol->

Ad un certo punto stavo per rimettere XP ma improvvisamente ha cominciato a funzionare tutto.

Installato correttamente gli emudriver su Windows 7, settato le Super resolution e Groovymame funziona perfettamente.

Nota negativa:
-Prima dell'avvio di Hyperspin che ho messo come shell, per un paio di secondi si vede una schermata nera con la scritta "Windows Test mode" in piccolo in basso a destra nello schermo. Mi pare di aver capito che' e' il "tweak" utilizzato dagli Emudriver per uscire a risoluzioni basse. Credo sia inevitabile e mi accontento, passa quasi inosservato.

Da risolvere:

-zsnes che prima funzionava correttamente ora funziona solo fuori da Hyperspin...
-trovare i settaggi giusti per un paio di giochi particolari come Punch Out e Run & Gun che in origine hanno i due monitor perche' come li fa uscire groovymame non mi soddisfano (immagini strechate in orizzontale)
-il Dolphin mi funziona solo in Direct3d e non piu' col plugin OpenGL. E' giocabile ugualmente ma mi sembrava che con l'opengl fosse appena appena piu' veloce


Se qualcuno vuole che faccia qualche prova chiedete pure
Avatar utente
biasini

Silver Medal
God of Arcade
God of Arcade
Messaggi: 2645
Iscritto il: 11/04/2013, 11:17
Medaglie: 1
Città: Roma
Grazie Inviati: 86 volte
Grazie Ricevuti: 48 volte

Re: Ho testato i CRT Emudriver per windows 7

Messaggio da biasini »

Beh...ora che sono disponibili i Crt Emu Driver per Win7 x64 in versione non più beta, immagino che tutto funzioni regolarmente.
La delusione di questi nuovi driver di calamity è stato il mancato supporto a schede più moderne rispetto alla serie HD 4xxx. In questo senso purtroppo non cambia nulla...

La domanda invece è: quanto e fino dove si può arrivare a nascondere un sistema operativo come Windows 7? Può sparire totalmente o ci si deve obbligatoriamente beccare screen di caricamento/chiusura o qualche passaggio indesiderato? Tu a parte il "windows test mode" (che lo ammetto, già mi fa storcere il naso <-on_rolleye-> ) hai altra presenza a video?
Avatar utente
adolfo69
Cab-dipendente
Cab-dipendente
Messaggi: 786
Iscritto il: 03/06/2013, 11:08
Città: Napoli
Grazie Ricevuti: 10 volte

Re: Ho testato i CRT Emudriver per windows 7

Messaggio da adolfo69 »

Potresti fare,quando hai tempo e voglia,una guida passo-passo delle varie applicazioni che hai usato fino al raggiungimento del risultato finale? Che si veda solo la scritta test mode di windows ritengo sia un gran bel risultato!
Rispondi

Torna a “Software e metodi per forzatura video a 15-25-31Khz”