[PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Come portare i 15khz al monitor arcade con HW o SW
demonlg
Nostalgico
Nostalgico
Messaggi: 352
Iscritto il: 15/08/2008, 22:22
Grazie Inviati: 1 volta
Grazie Ricevuti: 2 volte

Re: [PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Messaggio da demonlg »

Mi e' arrivata oggi la X550, non ho avuto pero' il piacere di dumpare il bios in quanto guarda caso di 3 pc che ho a casa nessuno ha il floppy funzionante, domani provvedo. Appena faccio il dump lo posto qui in modo tale da dare a tutti la possibilita di confrontarlo con quello della AVGA2. Ovviamente piu' cose scopriamo meglio e' !

Anche io sarei curioso di capire con quale criterio sono stati cambiati i valori nel bios della AVGA1, sarebbe troppo facile pero' sapere proprio quali valori vanno a cambiare le frequenze di uscita della scheda, mi preoccupa pero' il fatto che la AVGA2 abbia la possibilita' di funzonare a 15 25 e 31 khz, se cosi e' sara' difficile capire dove cambiare i valori sul bios originale della 550!

Credo che utilizzando un hex o bin editor sia cmq facile confrontare i due file, passo passo, sara un lavoraccio molto lungo e farticoso, intanto ho provato ad aprire il file del bios AVGA2 postato qui con il Raedit ma mi dice che non e' un file valido ATI ! Ora non ricordo se faceva cosi anche con quello della AVGA1 ma mi pare di si!

Io credo che i passi siano poi piu' o meno gli stessi, cambiare ID al file della AVGA2 e mettere quelli dell'originale X550 con un hex editor in modo da poter poi aprire il file con il raedit e modificare i valori delle frequenze come la AVGA2 !

Io alla AVGA1 che ho fatto ho addirittura aumentato un po le frequenze di clock delle RAM e della GPU in confronto a quella originale !

Domani mi metto a lavoro con un pc montato su scrivania cosi inizio a lavorare per bene su questo progetto che mi interessa moltissimo, visto che se mi abbandona la scheda madre AGP non saprei poprio dove reperirla in condizioni buone e di questi tempi!

Demon
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: [PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Messaggio da Kernel »

Ottimo!
Hai provato a vedere se qui c'è già il bios della tua x550?
Kernel ha scritto:Qui ci sono diversi bios per vari modelli della x550:
http://www.techpowerup.com/vgabios/inde ... &memSize=0
demonlg
Nostalgico
Nostalgico
Messaggi: 352
Iscritto il: 15/08/2008, 22:22
Grazie Inviati: 1 volta
Grazie Ricevuti: 2 volte

Re: [PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Messaggio da demonlg »

No kernel non ho provato, poi controllero'! Cmq ho dumpato il bios della mia X550, poi ho confrontato l'ID della vecchia scheda AVGA AGP (9200) originale e le istruzioni contenute nel file famoso ALL YOU NEED, nelle istruzioni e' scritto di modificare i file eseguibili di RAEDIT e RABIT con un hex editor e cambiare l'ID con quello per aprire il file del BIOS AVGA originale che altrimenti non si aprirebbe dando errore file non di un BIOS ATI !

Confrontando i due BIOS originali sia della versione AGP e PCIE ho notato che questo ID si trova in effetti anche all'interno del BIOS stesso, che infatti permette l'apertura del file con i suddetti programmi!

Ho notato pero che il BIOS della versione PCIE ha un ID differente da quello che nelle istruzioni viene detto di modificare nei due eseguibili. Allora cosa ho fatto, ho modificato gli ID nei file eseguibili RAEDIT e RABIT con il valore contenuto nel file del BIOS originale della AVGA PCIE, in questo modo infatto ho potuto aprire con i suddetti programmi il BIOS originale in questione che prima non poteva essere aperto !

Ho potuto quindi leggere i valori di clock della AVGA PCIE e confrontarli con quello del BIOS originale della mia X550. Sono moooooolto simili, la mia X550 ha solo le frequenze di 1-2 Mhz superiori, cosa che puo' anche essere lasciata cosi o quanto meno abbassati un pochino!

Pero' c'e' un pero' !! Nelle istruzioni della versione AGP c'e' scritto di aprire con RAEDIT e RABIT i due file dei BIOS, l'originale Ultimarc e quello della scheda da moddare dumpato, e poi di portare i valori del file Ultimarc agli stessi valori di quello dumpato dalla scheda che abbiamo, inoltre di modificare con un hex editor quei tre valori esadecimali direttamente nel BIOS della Ultimarc !Iin effetti io con la versione AGP feci proprio questi passaggi, e tutto ando' bene, ancora sta funzionando ringraziando zio! Qui mi sono fermato infatti, e voi direte perche?

Bene, noi sappiamo benissimo quali valori esadecimali andare a cambiare nel BIOS originale Ultimarc per poi portare le frequenze di clock allo stesso valore del BIOS della scheda che possediamo, ma li abbiamo per la versione AGP e non per la versione PCIE. proprio questi valori sono quelli che ci servono credo, perche' ho gia' fatto una prova. ...... e cioe':

Ho modificato i due file eseguibili cambiando gli ID con quelli del BIOS Ultimarc Originale postato qui, ho quindi aperto i due BIOS ( Originale ULTIMARC e Originale della X550 che ho) con il programma rabit, ho controllato le frequenze della GPU e delle RAM portando quelle del BIOS AVGA agli stessi valori, piu o meno, di quello Originale della mia X550, poi ho controllato CAS Latency e tutto il resto che sono risultati identici fra i due BIOS, l'uinica cosa differente che ho trovato e' stata la quantita di RAM sulla scheda, e cioe che la Ultimarc, come gia specificato, risulta da 256Mb mentre la mia era da 128, quindi ho abbassato la quantita di memoria sul file originale Ultimarc da 256 a 128 mb per portarlo allo stesso valore del mio BIOS della X550.

Ho salvato questo BIOS ULTIMARC MODIFICATO con i valori pressappoco come quelli della mia X550, quindi ho provato a flashare la scheda, ma nulla, il bios lo ha flashato senza problemi, ma il PC resta con schermata nera e dopo qualche secondo tenta di riavviarsi facendo sempre cosi all'infinito!

Suppongo quindi che siano proprio quei valori, unica cosa non modificata nel Bios Ultimarc, che noi non abbiamo e che dovremmo cercare di tirar fuori in qualche modo!
Pero' non mi spiego una cosa, se il BIOS originale della AVGA e' gia con le modifiche fatte, perche andare a cambiare quei valori? Non dovrebbero essere gia' modificati per andare a 15Khz? O quei valori non sono per abbassare la frequenza ma per qualche altra cosa che serve a far funzionare il BIOS sulle schede X550? Una ulteriore prova che faro' domani sara quella di andare a modificare quegli stessi indirizzi della versione AGP anche sul BIOS della versione PCIE, ho gia' notato che andando sugli stessi indirizzi i valori non corrispondono fra i due BIOS Ultimarc, devo controllare fra quello mio e quello Ultimarc PCIE, dopo di che modifichero' i valori in 90 anche sul bios della versione PCIE e provero' a fleshare. Sono sicuro che se si riesce a tirar fuori un BIOS funzionante sara' buono per tutte le X550 ! Devo provare provare e provare e ci devo riuscire !

A meno che il BIOS ULTIMARC originale non sia unicamente per le schede X550 con 256MB e quindi il PC non mi parte per questo motivo, anche se ho cambiato quel valore!

So di non essere stato molto chiaro ma non e' facile descrivere i vari passaggi semplicemente, specie a quest'ora, non ho ancora postato il BIOS originale della mia scheda X550 lo faro' domani, pero vorrei chiedervi se possibile, di mandarmi per mail (bemanuele@libero.it) eventuali vostri BIOS originali delle vostre X550 se ne siete in possesso, perche vorrei confrontare alcune cose, se avete delle ASUS come X550 siete pregati di farmelo sapere quando me li mandate, sempre che voi abbiate delle X550 !!

Intanto vedo su ebay se posso prendere anche una versione da 256 Mb, in modo da fare prove con tutte e due le schede!

Vi aggiorno!

Demon
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: [PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Messaggio da Kernel »

Grandissimo demonlg!
demonlg ha scritto: Pero' non mi spiego una cosa, se il BIOS originale della AVGA e' gia con le modifiche fatte, perche andare a cambiare quei valori? Non dovrebbero essere gia' modificati per andare a 15Khz? O quei valori non sono per abbassare la frequenza ma per qualche altra cosa che serve a far funzionare il BIOS sulle schede X550? Una ulteriore prova che faro' domani sara quella di andare a modificare quegli stessi indirizzi della versione AGP anche sul BIOS della versione PCIE, ho gia' notato che andando sugli stessi indirizzi i valori non corrispondono fra i due BIOS Ultimarc, devo controllare fra quello mio e quello Ultimarc PCIE, dopo di che modifichero' i valori in 90 anche sul bios della versione PCIE e provero' a fleshare. Sono sicuro che se si riesce a tirar fuori un BIOS funzionante sara' buono per tutte le X550 ! Devo provare provare e provare e ci devo riuscire !
Questo è quello che vorrei capire anche io. Da dove sono saltati fuoi quei valori per l'avga1?
demonlg ha scritto: A meno che il BIOS ULTIMARC originale non sia unicamente per le schede X550 con 256MB e quindi il PC non mi parte per questo motivo, anche se ho cambiato quel valore!
Non credo visto che con l'avga1 andava anche con differenti quantità di ram. Comunque non escludo al 100% che possa dare qualche problema...
demonlg ha scritto: vorrei chiedervi se possibile, di mandarmi per mail (bemanuele@libero.it) eventuali vostri BIOS originali delle vostre X550 se ne siete in possesso, perche vorrei confrontare alcune cose, se avete delle ASUS come X550 siete pregati di farmelo sapere quando me li mandate, sempre che voi abbiate delle X550 !!
Nel frattempo puoi guardare tra quelli che ho postato (c'è anche asus) ;)
demonlg
Nostalgico
Nostalgico
Messaggi: 352
Iscritto il: 15/08/2008, 22:22
Grazie Inviati: 1 volta
Grazie Ricevuti: 2 volte

Re: [PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Messaggio da demonlg »

Allora, oggi ho fatto altre prove, ho provato a lasciare la RAM a 256 anche avendo una x550 da 128, niente, ho provato a cambiare ID anche al BIOS AVGA2 Originale mettendo quello della mia X550, niente, ho provato anche altre cosette ma nulla da fare !

Poi mi sono andato a leggere un txt contenuto nel pacchetto all ypu need, scritto in spagnolo, poco sotto i valori da cambiare nel bios AVGA1 (9250) c'e' scritto che quei valori non sono quelli che cambiano la frequenza, ma sono altri gia contenuti e modificati nel BIOS, ed infatti con una comparazione dei due file, il mio BIOS della 550 e quello AVGA2 postato qui, e' venuto fuori che ci sono dei valori aggiunti e diversi modificati, ma non quelli citati nel TXT.

Infatti quei valori sapete cosa sono? Sono la protezione che Ultimarc ha messo nel BIOS per far si che funzionasse con la loro scheda, che poi a quanto pare sembra essere una ASUS !

I valori 90 90 90 90 da mettere nel bios tradotti in assembler equivalgono al comando NOP (non sono programmatore assembler ma mi pare di capire che significhi NOT PROCESS) ed infatti sono stati messi tra un pezzo ed un'altro di codice e contengono (diciamo cosi) il codice che testa la scheda al boot del PC, se non risponde a quei parametri il pc va in LOOP ed infatti il mio PC va in loop quando lo accendo con il BIOS AVGA2 Flashato sano sano come viene scaricato !

Ora purtroppo non sono a conoscenza della programmazione in assembler, ma con un diassembler ho aperto i due file del vecchio AVGA1 e del AVGA2 e sono andato a cercare se quella riga di codice fosse anche nel BIOS AVGA1, purtroppo non c'e' ma mi e' parso di vedere una cosa molto simile! Probabilmente in Ultimarc visto i precedenti della 9250 hanno cambiato tipo di protezione, o puo' essere che per la x550 sia differente il codice che deve essere bypassato!

Cio' significa in finale che dobbiamo riuscire in qualche modo a scovare quella parte di codice che fa il test al boot, voi direte, ma che bravo che sei hai scoperto l'acquq calda! Si in un certo senso e' vero, nell'altro invece sono soddisfatto, perche' se tutto e' come ho scritto significa che la cosa viene molto ridotta e basterebbe un buon conoscente di assembler per scovare questa protezione con un po di pazienza. Il resto del BIOS deve stare cosi come sta' al massimo cambiare i timing e il clock in base alla scheda da moddare, cosa che si puo' fare con Rabit modificato per la AVGA2, che gia' ho preparato intanto!

Ora chiedo, esiste qui qualche pazzo che mangia per colazione codici assembler e roba varia in grado di poter decifrare il codice da bypassare, come daltronde e' stato fatto per la 9250?

Intanto io mi sto leggendo un po di cosette su alcuni comandi dell'assembler, tante volte ho il c...lo del principiante e riesco a trovare il modo, una volta fatto il primo BIOS tutti gli altri vengono giu come la pioggia in pieno inverno!



Demon
demonlg
Nostalgico
Nostalgico
Messaggi: 352
Iscritto il: 15/08/2008, 22:22
Grazie Inviati: 1 volta
Grazie Ricevuti: 2 volte

Re: [PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Messaggio da demonlg »

Dimenticavo, a chi devo leccare per avere l'accesso al wikifile che mi farebbe comodo? :D

Demon
Avatar utente
McRipper
Cab-dipendente
Cab-dipendente
Messaggi: 730
Iscritto il: 09/09/2005, 23:46
Località: Varese
Grazie Ricevuti: 1 volta

Re: [PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Messaggio da McRipper »

I miei complimenti!!

Io conosco assembly, l'ho studiato in università e un po anche per passione. Sapendo di cosa si tratta la cosa potrebbe essere un po complessa, dato che il cracking di solito si fa con debugger su codice che gira, quì parliamo di andare a tentativi, e io non sono a conoscenza di strumenti per debuggare bios. l'unica cosa che mi viene in mente è provare a tradurre con un decompilatore il file. Dato che ho veramente pochissimo tempo e uso un mac non posso testare direttamente, ma w32dasm, anche conosciuto come windasm potrà di certo esservi utile, magari fatemi avere il codice decompilato che gli do un occhio :mrgreen:

Dimenticavo, chiedi a Rgbsystem memberlist.php?mode=viewprofile&u=788
Magnum: [|||||||||-] 90%
Immagine
Immagine
Avatar utente
Tox Nox Fox

BanHammer Silver Medal Donatore
Moderatore
Moderatore
Messaggi: 11788
Iscritto il: 14/01/2007, 23:35
Medaglie: 3
Grazie Inviati: 160 volte
Grazie Ricevuti: 275 volte

Re: [PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Messaggio da Tox Nox Fox »

NOP è il comando NO OPERATION
Metti tutto nel wiki che provo a darci un occhiata anche io.
Non assicuro niente ma con l'assembly ero bravo.. chissà che non mi venga un illuminazione.
WP.ARCADEITALIA.NET
La Guida al MameCab
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: [PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Messaggio da Kernel »

Che dire... grandissimo demonlg! Hai trovato un'ottima strada da seguire :)
demonlg
Nostalgico
Nostalgico
Messaggi: 352
Iscritto il: 15/08/2008, 22:22
Grazie Inviati: 1 volta
Grazie Ricevuti: 2 volte

Re: [PROGETTO] proviamo a crearci un ArcadeVGA 2 (in corso)

Messaggio da demonlg »

Mmmm, sono contento che la cosa stia suscitando interesse a piu di qualcuno, e sono contento che qui ci sia qualcuno in grado quantomeno di capire il codice!

Allora io sarei pronto a mettere tutto sul wikifile, sempre che mi spiegate come averne accesso perche con le mia id e pwd del forum non va, altrimenti posso anche postare sul mio server, pero sapete sarebbe poi alla mano di tutto il mondo, e non vorrei........... ! :D

Io ho fatto anche delle prove, da pazzo direi perche sto andando un po a caso, ho disassemblato sia il BIOS della AVGA1 (9250) e quello della AVGA2 (X550) e sono andato a vedere cosa nell' AVGA1 veniva messo in NOP disassemblando quello della AVGA1 non patchato! il comandi assembly contenuti in quei 4 offset li ho letti ed incollati nel FIND di W32dasm aprendo il BIOS disassemblato della AVGA2, ho visto che la stessa riga identica veniva ripetuta nel BIOS per 4 volte, mi sono segnati gli offset e da pazzo ho provato a metterli in NOP e a rifleshare la scheda, ma ovviamente lavoro inutile, almeno ci ho provato!

In effetti e' difficile trovare il punto esatto da modificare se il file non e' in esecuzione, in effetti i crack in fin dei conti non sono poi cosi difficili da fare.... ma per un BIOS non saprei proprio da che presupposto partire!

Se mi dite come fare a caricare i file sul wiki entro questa sera vedo di farlo, con w32dasm ho salvato i due diassemblati, e a quanto pare li ha diassemblati perfettamente visto che sono stati fatti con codice x86 intel, fortunatamente non con codici di CPU ATI!

(Da premettere che io scrivo tutte ste cose ma come potete notare di assembly non ci capisco un tubo, pero sinceramente mi sta prendendo a male sto assembly perche' mi sta piacendo una cifra smanettare co sti codici, sembra che ci capisco ma non e' cosi, quindi se scrivo boiate non prendetemi per il c..o :D )

Cmq in settimana dovrebbe arrivarmi anche una SAPPHIRE X550 da 256Mb, tante volte fosse anche la quantita' di memoria della mia scheda che la fa impazzire, in effeti quando flasho il bios sulla mia mi da come memory settings originale 0e7040 (128Mb) quello ultimarc se lo flasho senza cambiare la quantita con radit me lo ra come 0e7180 mentre se cambio con radit da 256 a 128 e poi flasho non mi da 0e7040 ma 0e7140, quindi non so se anche questa cosa comporta problematiche?

Ho fatto un' ulteriore compare con HEX EDITOR dei due BIOS, come sorgente quello ultimarc e come target quello mio originale, mi da come INSERTED su quello ultimarc 718 byte in piu del mio, allora sempre da pazzo ho copiato ed aggiunto sul mio bios questi 718byte inserendoli nella stessa zona di offset, ma se provo ad aprire il mio BIOS con radit questa volta mi dice BAD TV ZONE......probabilmente sara il codice che regola frequenze e roba varie delle uscite sulla scheda, chissa', lo penso io questo !!!

Demon
Rispondi

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