Newserator Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Cedni propose une version modifiée de Snes9X, émulateur Super Nintendo pour PS3, apportant des retouches esthétiques (interface verte et blanche) et sur le fonctionnement de l'émulateur. Installez l'émulateur dans /dev_hdd0/game/SNES90000/USRDIR Les roms sont recherchées d'abord dans /dev_hdd0/game/SNES90000/USRDIR/Roms puis dans /dev_usb000/Roms/Snes si absence de roms dans le répertoire précédent. Pour naviguer dans le tableau : - haut et bas , pour monter ou descendre - gauche et droite , pour monter ou descendre de 5 - L1 et R1 , pour aller sur la feuille precedente ou suivante Sont inclus les tweaks pour corriger le problème avec les roms PAL ainsi que le lag de l'autosave. Cedni indique qu'il reste pas mal de travail surtout avec les évènements boutons pour ajouter des fonctions comme stopper l émulation et revenir au menu de sélection ou encore charger les paramètres depuis un fichier Snes9x White And Green by Cedni Site officiel : http://gueux-forum.net/ Lien vers article original : http://ps3.gx-mod.com/modules/news/article.php?storyid=1938 Lien vers le commentaire Partager sur d'autres sites More sharing options...
cedni Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Parcontre petite coquille quand j ai rédigé Le repertoire testé en second , c est /dev_usb000/Roms/Snes et pas dev_usb000/Roms_Snes Désolé Lien vers le commentaire Partager sur d'autres sites More sharing options...
lecareur Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Nikel, merci pour cette version cedni Lien vers le commentaire Partager sur d'autres sites More sharing options...
Ormito Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Elle ma l'air pas mal cette version un grand merci Lien vers le commentaire Partager sur d'autres sites More sharing options...
legueux Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 News corrigée cedni Lien vers le commentaire Partager sur d'autres sites More sharing options...
Ashura75013 Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Pourrait-on avoir les sources? Lien vers le commentaire Partager sur d'autres sites More sharing options...
kurtspirit Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 J'ai testé, c'est pas mal mais juste un gros défaut (chez moi du moins), l'ému est mal centré (complètement en haut a gauche de l'écran) et une fois dans le soft, plus moyen d'en sortir c'est bien dommage :/ .. Hard Reset de la console , c'est pas cool. M'enfin c'est du bon boulot tout ça Lien vers le commentaire Partager sur d'autres sites More sharing options...
Ormito Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Alors pour moi apres avoir tester pareil le menu d'affichage et mal centrer et le nom des Roms sont en tout mais tout petite faut vraiment ce raprocher pour voir quel Roms lancer sinon rien a dire fonctionne parfaitement. Lien vers le commentaire Partager sur d'autres sites More sharing options...
kurtspirit Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 pour moi non fonctionnel, les roms se chargent mais après freeze de la console. Rien à faire.. Lien vers le commentaire Partager sur d'autres sites More sharing options...
cedni Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 (modifié) Pour ceux qui ont un souci de cadrage , vous etes en 1080 ? Pouvez vous tester en 720 ? Chez moi c est centré Si c est effectivement çà j aurais juste à forcer la résolution sur 720 au lancement Ou éventuellement gèrer le code en utilisant une variable définie en fonction de la résolution Pour le freeze , je pense que çà vient du fait qu' à un moment les fonctions min et max ne gère pas bien le current_index et laisse passer une valeur negative Je pense que çà ressemble à un "index out list of bound" Solution : en étant sur la première page , utiliser , les décrémentations judicieusement pour ne pas se retrouver avant 1 en effet , si vous sélectionnez la 1ere rom et faites un up , normalement çà freeze Je ne vois pas , la dernière occurrence est bien gèrée pour moi non fonctionnel, les roms se chargent mais après freeze de la console. Rien à faire.. T aurais pas renommer des sfc en smc ? Je songe à développer un petit soft externe ( sur pc ) pour réduire le nom des roms Pour les sources , remplacer le bloc rom() dans cell.cpp par : bool needs_update = true; char *file_names[8192] = { '\0' }; bool is_dir[8192] = { false }; char path[1024]; const char *msg = NULL; int fd; int TestDirRom = 0; int num_per_page = 70, current_index = 0, file_count = 0; uint32_t buttons; const char *ROM_PATH ="/dev_hdd0/game/SNES90000/USRDIR/Roms"; //sprintf(path, ROM_PATH);//sprintf(path, "/dev_usb000/Roms/Snes"); //sprintf(path, "/dev_hdd0/game/SNES00001/USRDIR/Roms"); int longueurChaine = 0; int page_number = current_index / num_per_page; int page_base = page_number * num_per_page; char *Tempo = NULL; char *Temp[8192] = { '\0' }; void updat_list_affich (int premier) { const char *test ="I-I";; color4_t mycolor = { 0x00, 0x00, 0xff, 0x00}; color4_t white = { 0xff, 0xff, 0xFF, 0xFF }; color4_t red = { 0xFF, 0xFF, 0, 0 }; color4_t green = { 0xFF, 0, 0xFF, 0 }; for (int i = page_base; i < file_count; ++i) { if ( i>page_base && i < page_base + num_per_page ) { debugOutStr( 5+7*FONT_WIDTH , 40 + FONT_HEIGHT*FONT_SCALE*(i - page_base ) , file_names[i],i == current_index ? red : is_dir[i] ? green : white); } if ( i>=page_base + 1*num_per_page && i < page_base + 2*num_per_page ) { debugOutStr( 5+85*FONT_WIDTH , 40 + FONT_HEIGHT*FONT_SCALE*(i - page_base -1*num_per_page) , file_names[i],i == current_index ? red : is_dir[i] ? green : white); } /* // Si je veux afficher une troisieme liste if ( i>=page_base + 2*num_per_page && i < page_base + 3*num_per_page ) { color4_t white = { 0xdd, 0xaa, 0xFF, 0xFF }; color4_t red = { 0xFF, 0xFF, 0, 0 }; color4_t green = { 0xFF, 0, 0xFF, 0 }; debugOutStr(900 , 32 + FONT_HEIGHT*FONT_SCALE*(i - page_base -2*num_per_page) , file_names[i],i == current_index ? red : is_dir[i] ? green : white); } */ } for (int i = 0; i <= num_per_page; ++i) { debugOutStr( 5 , 40 + FONT_HEIGHT*FONT_SCALE*i,"I" ,mycolor ); debugOutStr( 5+1*FONT_WIDTH , 40 + FONT_HEIGHT*FONT_SCALE*i,"-" ,white ); debugOutStr( 5+2*FONT_WIDTH , 40 + FONT_HEIGHT*FONT_SCALE*i,"I" ,mycolor ); debugOutStr( 5+78*FONT_WIDTH , 40 + FONT_HEIGHT*FONT_SCALE*i,"I" ,mycolor ); debugOutStr( 5+79*FONT_WIDTH , 40 + FONT_HEIGHT*FONT_SCALE*i,"-" ,white ); debugOutStr( 5+80*FONT_WIDTH , 40 + FONT_HEIGHT*FONT_SCALE*i,"I" ,mycolor ); debugOutStr( 5+156*FONT_WIDTH , 40 + FONT_HEIGHT*FONT_SCALE*i,"I" ,mycolor ); debugOutStr( 5+157*FONT_WIDTH , 40 + FONT_HEIGHT*FONT_SCALE*i,"-" ,white ); debugOutStr( 5+158*FONT_WIDTH , 40 + FONT_HEIGHT*FONT_SCALE*i,"I" ,mycolor ); } for( int i=0; i<= 158;++i) { debugOutStr( 5 + FONT_WIDTH*FONT_SCALE*i, 13,"I" ,mycolor ); if ( i !=0 && i != 158 ) {debugOutStr( 5 + FONT_WIDTH*FONT_SCALE*i, 22,"-" ,white ); } else {debugOutStr( 5 + FONT_WIDTH*FONT_SCALE*i, 22,"I" ,mycolor );} if ( i !=1 && i != 157 && i != 79) {debugOutStr( 5 + FONT_WIDTH*FONT_SCALE*i, 31,"I" ,mycolor ); } else {debugOutStr( 5 + FONT_WIDTH*FONT_SCALE*i, 31,"-" ,white ); } if ( i !=1 && i != 157 && i != 79) {debugOutStr( 5 + FONT_WIDTH*FONT_SCALE*i, 40 +FONT_HEIGHT*num_per_page+9 ,"I" ,mycolor ); } else {debugOutStr( 5 + FONT_WIDTH*FONT_SCALE*i, 40 +FONT_HEIGHT*num_per_page+9 ,"-" ,white );} if ( i !=0 && i != 158) {debugOutStr( 5 + FONT_WIDTH*FONT_SCALE*i, 40 +FONT_HEIGHT*num_per_page+18,"-" ,white ); } else {debugOutStr( 5 + FONT_WIDTH*FONT_SCALE*i, 40 +FONT_HEIGHT*num_per_page+18,"I" ,mycolor ); } debugOutStr( 5 + FONT_WIDTH*FONT_SCALE*i, 40 +FONT_HEIGHT*num_per_page+27,"I" ,mycolor ); } render(); } void rom_menu () { while (is_running) { if (needs_update) { sprintf(path, ROM_PATH);//sprintf(path, "/dev_usb000/Roms/Snes"); //sprintf(path, "/dev_hdd0/game/SNES00001/USRDIR/Roms"); needs_update = false; current_index = 0; for (int i = 2; i < 8192; ++i) {if (file_names[i]) { free(file_names[i]); file_names[i] = NULL; } else { break; } } int i = 0; if (cellFsOpendir(path, &fd) == CELL_FS_SUCCEEDED) { uint64_t nread; CellFsDirent dirent; while (cellFsReaddir(fd, &dirent, &nread) == CELL_FS_SUCCEEDED) { if (nread == 0) break; if (dirent.d_type != CELL_FS_TYPE_DIRECTORY && dirent.d_type != CELL_FS_TYPE_REGULAR) continue; // so lazy. // Bizarrement ma liste commence par un . ou rien en premiere position // et .. en deuxieme //if (dirent.d_name != "." && dirent.d_name != ".." && dirent.d_name != " " && dirent.d_name != "") continue; // so lazy. if (dirent.d_type == CELL_FS_TYPE_REGULAR) {int namelen = strlen(dirent.d_name); if (namelen < 4) continue; char *ext = dirent.d_name + namelen - 4; // if ( namelen > longueurChaine ) {longueurChaine = namelen;} if (strcasecmp(ext, ".smc") && strcasecmp(ext, ".fig")) continue; } is_dir[i] = dirent.d_type == CELL_FS_TYPE_DIRECTORY; file_names[i] = strdup(dirent.d_name); /* // je bloque carrément ici , je seche sur les conversions en c // ^ ^ ^ heureux dans son royaume celui qui connait le c++ // tenter de reduire la taille des noms à 50 Tempo = file_names[i]; //for ( int j=0;j <50; ++j ) { Temp[j]=Tempo[j]; } for ( int j=0;j <50; ++j) { strcat( Temp[j],(char *) &Tempo[j]); } file_names[i]; // http://bytes.com/topic/c/answers/584709-how-can-i-handle-invalid-conversion-int-const-char-error // char crypted_aux[255]; int aux1; strcat(crypted_aux,(char *) &aux1); */ ++i; if (i == 8192) { msg = "Jesus, you have too many ROMs!"; break; } } cellFsClosedir(fd); } else { msg = "Directory not found . "; } file_count = i; if (file_count == 0 && TestDirRom ==2 ) msg = "No ROMs"; if (file_count == 0 && TestDirRom <2 ) { TestDirRom++; ROM_PATH = "/dev_usb000/Roms/Snes"; msg=ROM_PATH; needs_update = true; } } // reste à tester le current index pour voir si le if (read_pad_buttons(&buttons)) { { if (buttons & CTRL_DOWN) { if (current_index == page_base+ 2*num_per_page) { ++current_index;} if (current_index >= page_base+ 2*num_per_page-1) { page_base+= 2*num_per_page; } // if ( page_base > file_count/num_per_page ){ page_base = file_count/num_per_page; } //++current_index;}//= MIN(current_index + 1, file_count - 1);} current_index = MIN(current_index + 1, file_count - 1);} if (buttons & CTRL_UP) { // debugOutStr(32, 32 + FONT_HEIGHT * FONT_SCALE * (num_per_page + 1), current_index); current_index = MAX(current_index - 1, 1); if (current_index <= page_base+1) { page_base-= 2*num_per_page;} // if ( page_base < 0 ){ page_base = 0; } //--current_index;}//= MAX(current_index - 1, 0);} //current_index = MAX(current_index - 1, 0); } if (buttons & CTRL_RIGHT) { if (current_index >= page_base+ 2*num_per_page-6) { page_base+= 2*num_per_page; } //if ( page_base > file_count/num_per_page ){ page_base = file_count/num_per_page; } current_index = MIN(current_index + 6, file_count - 1);} if (buttons & CTRL_LEFT) { if (current_index <= page_base+1) { page_base-= 2*num_per_page;} //if ( page_base < 0 ){ page_base = 0; } current_index = MAX(current_index - 5, 1);} if (buttons & CTRL_R1) { if (current_index >= page_base+ 2*num_per_page-1-num_per_page) { page_base+= 2*num_per_page;} //if ( page_base > file_count/num_per_page ){ page_base = file_count/num_per_page; } current_index = MIN(current_index + num_per_page, file_count - 1); } if (buttons & CTRL_L1) { if (current_index <= page_base+1+num_per_page) { page_base-= 2*num_per_page;} //if ( page_base < 0 ){ page_base = 0; } current_index = MAX(current_index - num_per_page, 1); } /* // pour plus tard if (buttons & CTRL_R2) { if (current_index >= page_base+ 3*num_per_page+1) { page_base+= 3*num_per_page;} //if ( page_base > file_count/num_per_page ){ page_base = file_count/num_per_page; } current_index = MIN(current_index + 5*num_per_page, file_count - 1);} if (buttons & CTRL_L2) { if (current_index <= page_base-1) { page_base-= 3*num_per_page;} //if ( page_base < 0 ){ page_base = 0; } current_index = MAX(current_index - 5*num_per_page, 0); } */ //if (buttons & CTRL_R3) { Settings.Mute = false; render(false);rom_menu(); } //if (buttons & CTRL_START) Settings.Paused = false;} //if (buttons & CTRL_L3) { Settings.DisplayFrameRate=true; Settings.DisplayPressedKeys=true; } //if (buttons & CTRL_R2) { Settings.Mute = false; render(false); rom_menu(); } //if (buttons & CTRL_L2) { Settings.DisplayFrameRate=true; Settings.DisplayPressedKeys=true; } if (buttons & CTRL_CROSS) { if (is_dir[current_index]) { sprintf(path, "%s/%s", path, file_names[current_index]); needs_update = true; continue; } else { sprintf(rom_path, "%s/%s", path, file_names[current_index]); return; }}} } memset(display, 0, color_buf[0].pitch * color_buf[0].height); updat_list_affich (page_base); // pas d affichage car render() placer dans la fonction ci-dessus if (msg) debugOutStr(32, 32 + FONT_HEIGHT * FONT_SCALE * (num_per_page + 1), msg); } } Modifié 21 septembre 2010 par cedni Lien vers le commentaire Partager sur d'autres sites More sharing options...
Ameo Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Hard Reset de la console , c'est pas cool. Le soft reset passe très bien (bouton PS) Lien vers le commentaire Partager sur d'autres sites More sharing options...
lecareur Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Je songe à développer un petit soft externe ( sur pc ) pour réduire le nom des roms Salut, pour le soft, mieux vaut utiliser un qui existe déjà, tu aura juste a créer ton fichier *.dat pour gerer les noms, je vais me pencher la dessus si tu veux si cela peut aider du monde... Lien vers le commentaire Partager sur d'autres sites More sharing options...
Arnaud02301 Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Avec quel logiciel vous modifier l'émulateur et ouvrez les fichiers PKG ? Lien vers le commentaire Partager sur d'autres sites More sharing options...
Badablek Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 sachant qu'ils touchent directement la source : SDK officiel Sony. SDK qui contient bien évidemment tout le nécessaire pour compiler les sources et mettre tout ça au chaud dans un PKG. Lien vers le commentaire Partager sur d'autres sites More sharing options...
Arnaud02301 Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Sa serait magnifique si quelqu'un arrivait à compilé un émulateur N64, pour jouer à Zelda OOT et Zelda MM Lien vers le commentaire Partager sur d'autres sites More sharing options...
asmerisme Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Ca va bientot devenir une wii avec lecteur BR... Lien vers le commentaire Partager sur d'autres sites More sharing options...
DOCKY99 Posté(e) 21 septembre 2010 Share Posté(e) 21 septembre 2010 Ca va bientot devenir une wii avec lecteur BR... Avec une émulation des manettes move :b Lien vers le commentaire Partager sur d'autres sites More sharing options...
nolive72 Posté(e) 22 septembre 2010 Share Posté(e) 22 septembre 2010 marche superbement avec ps3break.cadre car je suis passe en 720p et pas de souci de freeze ou balck screen.et on peut sortir via la touche ps en effet. maintenant ou sont donc passees mes roms snes Lien vers le commentaire Partager sur d'autres sites More sharing options...
navier57bis Posté(e) 22 septembre 2010 Share Posté(e) 22 septembre 2010 marche superbement avec ps3break.cadre car je suis passe en 720p et pas de souci de freeze ou balck screen.et on peut sortir via la touche ps en effet.maintenant ou sont donc passees mes roms snes Lien vers le commentaire Partager sur d'autres sites More sharing options...
navier57bis Posté(e) 22 septembre 2010 Share Posté(e) 22 septembre 2010 Cedni propose une version modifiée de Snes9X, émulateur Super Nintendo pour PS3, apportant des retouches esthétiques (interface verte et blanche) et sur le fonctionnement de l'émulateur. Installez l'émulateur dans /dev_hdd0/game/SNES90000/USRDIR Les roms sont recherchées d'abord dans /dev_hdd0/game/SNES90000/USRDIR/Roms puis dans /dev_usb000/Roms/Snes si absence de roms dans le répertoire précédent. Pour naviguer dans le tableau : - haut et bas , pour monter ou descendre - gauche et droite , pour monter ou descendre de 5 - L1 et R1 , pour aller sur la feuille precedente ou suivante Sont inclus les tweaks pour corriger le problème avec les roms PAL ainsi que le lag de l'autosave. Cedni indique qu'il reste pas mal de travail surtout avec les évènements boutons pour ajouter des fonctions comme stopper l émulation et revenir au menu de sélection ou encore charger les paramètres depuis un fichier Snes9x White And Green by Cedni Site officiel : http://gueux-forum.net/ Lien vers article original : http://ps3.gx-mod.com/modules/news/article.php?storyid=1938 bonjour je suis un nigaut j'obtiens que la tramme verte et rien dedans je crains n'avoir pas bien compris le chemin pour mettre les roms sous une cle usb merci Lien vers le commentaire Partager sur d'autres sites More sharing options...
cedni Posté(e) 23 septembre 2010 Share Posté(e) 23 septembre 2010 (modifié) A la racine de la clé usb , creer un dossier Roms Dans celui ci , creer un dossier Snes Y placer les roms dézippées au format smc Modifié 23 septembre 2010 par cedni Lien vers le commentaire Partager sur d'autres sites More sharing options...
navier57bis Posté(e) 23 septembre 2010 Share Posté(e) 23 septembre 2010 A la racine de la clé usb , creer un dossier Roms Dans celui ci , creer un dossier Snes Y placer les roms dézippées au format smc Quand je vous disais que je n"étais pas doué (j'avais inversé les 2 clefs jail et roms ) merci au concepteur de l'ému et vivement amstrad,amiga et + Lien vers le commentaire Partager sur d'autres sites More sharing options...
cedni Posté(e) 27 septembre 2010 Share Posté(e) 27 septembre 2010 (modifié) Salut http://hotfile.com/dl/71991871/b2b257d/SNE...t_exit.pkg.html J avance aussi et je suis au même résultat , un tampon doit déborder à mon avis au chargement de la 5e rom J ai vainement fait des free , delete et new mais rien à faire Par contre j arrive à afficher des images mais , , au moins 40 fonctions pour décoder un png et l afficher Je pense que je vais m y prendre autrement , j ai déjà ma petite idée Sinon il y avait plus simple , c est bien de créer des fonctions mais ce n est pas utile lorsque l'on réplique le code seulement deux fois Dans read_pad if ( buttons & CTRL_R2) { render(false); rom_menu(); } Déclarer une variable int NbRomsloaded = 0 ; Et dans rom_menu if (buttons & CTRL_CROSS) { if (is_dir[current_index]) { sprintf(path, "%s/%s", path, file_names[current_index]); needs_update = true; continue; } else { if (NbRomsloaded == 4){ sys_process_exit(0); } else{ sprintf(rom_path, "%s/%s", path, file_names[current_index]); init_snes9x(); init_sound(); S9xSetSoundMute(FALSE); memset(display, 0, color_buf[0].height * color_buf[0].pitch); memset(display_back, 0, color_buf[0].height * color_buf[0].pitch); ++NbRomsloaded; return; } } } Sinon dans son code , Squarepusher ( pas Eiz ) devrait intégrer la persistance du rom_path http://hotfile.com/dl/71991871/b2b257d/SNE...t_exit.pkg.html Modifié 27 septembre 2010 par cedni Lien vers le commentaire Partager sur d'autres sites More sharing options...
Valiran Posté(e) 27 septembre 2010 Share Posté(e) 27 septembre 2010 un gros flushall n'aide pas? Lien vers le commentaire Partager sur d'autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant