Citation:
Envoyé par Squaresoft74
Avec quoi les compiles tu ?
|
Avec PsyQ. En fait j'avais oublié de virer les paramètres d'optimisations lol, ce qui faussait complétement la fonction DelayMs. Ça semble fonctionner maintenant.
Mais je n'ai pas testé plus que ça. Faut que je remonte mon PC WinME pour pouvoir débricker la cartouche en cas de pépin.
Citation:
Envoyé par Squaresoft74
|
Ouais j'avais vu ça. J'ai rejoins Redump il y a quelques temps et je suis en contact avec la personne qui a partagé ça.
Citation:
Envoyé par Squaresoft74
Sinon mon Xploder Classic est arrivé et coté logiciel rien de neuf dessus que l'on n'ait pas déjà : Xploder V3 (Germany) r3.20 LIT 1999-07-30.
|
Perso je n'ai plus les moyens de m'acheter de cartouches. Et comme t'as dit, les prix des Xploders sont obscènes maintenant.
Récemment j'ai corrigé les offsets de l'image disque du Xplorer Expansion CD, pour pouvoir enfin le graver avec mon matos et le tester.
De mémoire, ça a upgradé un r2.005 UK en r2.008 UK. J'avais vérifié dans ton fullset et c'était bien une ROM que tu avais archivé. Pas testé avec une ROM US ou JAP. J'ai essayé avec une ROM FR et ça m'avait donné un beau "Cannot change territory". J'imagine donc que c'est un disque UK ne contenant que la ROM UK.
================================
EDIT : Hmmm, je pige pas. La détection postée au dessus est mauvaise. Mauvais IDs, mauvais type d'Xplorer. La j'ai réessayé avec LA MÊME cartouche, et :
Là ça me semble exact.
Ou bien j'ai encore des problèmes de jus sur ma console à cause du bordel soudé dessus, ou bien X-Flash échoue aléatoirement à détecter le type d'Xplorer.
================================
EDIT2 :
Le check de la 2ème bank, qui permet de reconnaitre les FX :
Code:
int EepromDetect3rdGenFX()
{
char *Temp,txt[50];
u_char found,xid1,xid2;
char *src1 = (char*)0x1F000000;
char *src2 = (char*)0x1F040000;
int diff = FALSE, ret = FALSE;
unsigned long i;
for (i=0;(i<0x20000) && (!diff);i++)
if ( (*src1++) != (*src2++)) diff=TRUE;
if (diff)
{
WaitScreen("First 3rd gen Xplorer check OK");
Temp = (char*)0x1F045555; *Temp = 0xAA;
Temp = (char*)0x1F042AAA; *Temp = 0x55;
Temp = (char*)0x1F045555; *Temp = 0x90;
DelayMs(100);
Temp = (char*)0x1F040000; xid1 = *Temp;
Temp = (char*)0x1F040001; xid2 = *Temp;
Temp = (char*)0x1F045555; *Temp = 0xAA;
Temp = (char*)0x1F042AAA; *Temp = 0x55;
Temp = (char*)0x1F045555; *Temp = 0xF0;
DelayMs(100);
sprintf(txt,"EEPROM %02X %02X",xid1,xid2);
WaitScreen(txt);
if ( (xid1==SST_ID) && (xid2==SST_29xE020) ) ret = TRUE;
if ( (xid1==SST_ID) && (xid2==SST_29EE020) ) ret = TRUE;
if (ret==TRUE) WaitScreen("Second 3rd gen Xplorer check OK");
}
return ret;
}
C'est une comparaison des données des deux banks.
Si les données sont identiques, X-Flash interprète ça comme un miroir, donc comme un non-FX de 2M (256K)
Si les données sont différentes, alors il voit que c'est une capacité supérieure à 2M, et obtient l'ID de la seconde EEPROM.
Ce qui veut dire qu'un Wipe EEPROM 512K fausse le check. Vu que le contenu des deux banks sont identiques au final (remplies de FFh), X-Flash y verra une cartouche 2M au lieux d'un FX. Démonstration en vidéo :
https://youtu.be/qzslZgcm4sE
La solution est de créer une différence de contenu dans les deux banks, en flashant une autre ROM de 2M ou plus petite, et ensuite de flasher la bonne ROM FX.
Donc, la reprogrammation de cet Xplorer FX est OK
. Je vais tester le deuxième FX qui posait problème autrefois. Il a un autre modèle de SST. Je n'ai ni Atmel, ni Winbond chez moi.
================================
EDIT3 : Mon 2ème FX m'a fait un not successful, mais après avoir réessayé, ça fonctionne. Wipe 512, écriture de la dernière ROM FX, écriture de versions FX antérieures, tout fonctionne. Pas d'erreur.
Si tu veux tester une build précompilée :
http://aybabtu.chez.com/RANDOMPIX/04...builds_srcs.7z
Je n'ai rien trafiqué dans BL4ZE.DAT_xflash-v12-b5.exe. J'ai juste changé le chemin de ROMFILE.DAT pour qu'il pointe vers le BL4ZE.DAT de Cheat Engine Compilation. Ça me permet d'envoyer l'EXE à la console via PSXSERIAL, d'avoir les ROMs de Cheat Engine Compilation, et de ne pas devoir cramer un autre CDR.