Forums GAMERGEN
Une nouvelle version du portage de FinalBurn Alpha for PSP
Règles du forum
Si vous remarquez un message susceptible d'aller à l'encontre des recommandations dont une partie ou la totalité du contenu ne devrait pas se trouver là, signalez-le à l'équipe de modérateurs en cliquant sur
.
________________
Toute l'équipe vous souhaite la bienvenue ! Si vous repérez d'éventuelles erreurs qui se seraient glissées dans nos contenus, n'hésitez pas à le signaler dans les commentaires.
Si vous remarquez un message susceptible d'aller à l'encontre des recommandations dont une partie ou la totalité du contenu ne devrait pas se trouver là, signalez-le à l'équipe de modérateurs en cliquant sur
.________________
Toute l'équipe vous souhaite la bienvenue ! Si vous repérez d'éventuelles erreurs qui se seraient glissées dans nos contenus, n'hésitez pas à le signaler dans les commentaires.
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
"vivement l'émulation du Capcom CPS-1 et 2 complet sur psp"
Euh y a un emu qui existe pour chaque système et qui emule parfaitement tout les jeux en fullspeed
CPS1 Emulator et CPS2 Emulator.
Euh y a un emu qui existe pour chaque système et qui emule parfaitement tout les jeux en fullspeed
CPS1 Emulator et CPS2 Emulator.
-
Melkiok_1
Gamer du Dimanche
- Messages: 15
- Inscription: 20 Juin 2008, 00:00
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
Melkiok > oui mais plus mit à jour. Le site officiel a d'ailleurs disparu ....
-
NY152
Gamer Maitre
- Messages: 402
- Inscription: 16 Avr 2011, 18:05
- Localisation: Devant le PC :P
- Prénom: Gregory
- Pays: France
- Sexe: Homme
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
Hum les versions que j'ai testé emulent TOUT les jeux sortis sur chacun des systèmes en fullspeed.
Donc à ce moment la quel intérêt d'une MAJ :p
De plus un mode wifi pour jouer à 2 est dispo.
En bref 2 emu vraiment excellent que je conseil.
Donc à ce moment la quel intérêt d'une MAJ :p
De plus un mode wifi pour jouer à 2 est dispo.
En bref 2 emu vraiment excellent que je conseil.
-
Melkiok_1
Gamer du Dimanche
- Messages: 15
- Inscription: 20 Juin 2008, 00:00
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
Melkiok > Tous les jeux XPS1/CPS2 ne sont pas emulés sur PSP crois-moi ^^
-
NY152
Gamer Maitre
- Messages: 402
- Inscription: 16 Avr 2011, 18:05
- Localisation: Devant le PC :P
- Prénom: Gregory
- Pays: France
- Sexe: Homme
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
J'ai essayé un par un chacun des jeux composant les listes de ref aux adresses suivantes :
http://en.wikipedia.org/wiki/CPS-2
http://en.wikipedia.org/wiki/CPS-1
Ils tournent tous sur psp à part je te l'accorde les jeux de shoot CPS2 sorti à partir de 1999 :).
Ce qui fait environ 7 jeux :s
http://en.wikipedia.org/wiki/CPS-2
http://en.wikipedia.org/wiki/CPS-1
Ils tournent tous sur psp à part je te l'accorde les jeux de shoot CPS2 sorti à partir de 1999 :).
Ce qui fait environ 7 jeux :s
-
Melkiok_1
Gamer du Dimanche
- Messages: 15
- Inscription: 20 Juin 2008, 00:00
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
le site de nj est la
http://nj-emu.tfact.net/
et pour info, pas mal de jeu du domaine arcade sont tombé dans le domaine libre
mais c'est juste une info
tant qu'une liste officielle n'existe pas, il est vrai que prudence est mere de sureté
désolé pour les liens, j'ai pas fait attention dans mon élan d'aide lol :P
[quote="Melkiok"]J'ai essayé un par un chacun des jeux composant les listes de ref aux adresses suivantes :
http://en.wikipedia.org/wiki/CPS-2
http://en.wikipedia.org/wiki/CPS-1
Ils tournent tous sur psp à part je te l'accorde les jeux de shoot CPS2 sorti à partir de 1999 :).
Ce qui fait environ 7 jeux :s[/quote]
tu aurais la liste ?
.
http://nj-emu.tfact.net/
et pour info, pas mal de jeu du domaine arcade sont tombé dans le domaine libre
mais c'est juste une info
tant qu'une liste officielle n'existe pas, il est vrai que prudence est mere de sureté
désolé pour les liens, j'ai pas fait attention dans mon élan d'aide lol :P
[quote="Melkiok"]J'ai essayé un par un chacun des jeux composant les listes de ref aux adresses suivantes :
http://en.wikipedia.org/wiki/CPS-2
http://en.wikipedia.org/wiki/CPS-1
Ils tournent tous sur psp à part je te l'accorde les jeux de shoot CPS2 sorti à partir de 1999 :).
Ce qui fait environ 7 jeux :s[/quote]
tu aurais la liste ?
.
-
OOKAMI
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
La liste des jeux ne tournant pas ?
Tous à partir de :
1999-02-22 Takumi Giga Wing Giga Wing
(ギガウイング) Shoot 'em up
http://en.wikipedia.org/wiki/CPS-2
Sinon ceux qui tournent c'est tout les autres lol
CPS1 aucune exception
Tous à partir de :
1999-02-22 Takumi Giga Wing Giga Wing
(ギガウイング) Shoot 'em up
http://en.wikipedia.org/wiki/CPS-2
Sinon ceux qui tournent c'est tout les autres lol
CPS1 aucune exception
-
Melkiok_1
Gamer du Dimanche
- Messages: 15
- Inscription: 20 Juin 2008, 00:00
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
[quote="Melkiok"]La liste des jeux ne tournant pas ?
Tous à partir de :
1999-02-22 Takumi Giga Wing Giga Wing
(ギガウイング) Shoot 'em up
http://en.wikipedia.org/wiki/CPS-2
Sinon ceux qui tournent c'est tout les autres lol
CPS1 aucune exception[/quote]
le gigawing tourne sur fat et slim
ca doit etre un clone
sinon les autres je vois pas
19xx ok
mars matrix ok
progear ok
eco fighter ok
1944 the loop master ok
bref, quasiment tout les shoot
je voulais voir la liste complete sur http://cps2emu.emuhelp.com/home.php mais non dispo depuis un long moment
.
Tous à partir de :
1999-02-22 Takumi Giga Wing Giga Wing
(ギガウイング) Shoot 'em up
http://en.wikipedia.org/wiki/CPS-2
Sinon ceux qui tournent c'est tout les autres lol
CPS1 aucune exception[/quote]
le gigawing tourne sur fat et slim
ca doit etre un clone
sinon les autres je vois pas
19xx ok
mars matrix ok
progear ok
eco fighter ok
1944 the loop master ok
bref, quasiment tout les shoot
je voulais voir la liste complete sur http://cps2emu.emuhelp.com/home.php mais non dispo depuis un long moment
.
-
OOKAMI
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
ookami edites ton post et retires les liens de ROMs (j'ai pas dis que c'etait illegal pour faire beau) et concernant le domaine publique le delai est de plusieurs décénie apres le décès des ayants droits et/ou l'arret d'exploitation (ex : mario est encore à 0 année de délai) donc faut arreter avec ces excuses à 2 balles !
-
NY152
Gamer Maitre
- Messages: 402
- Inscription: 16 Avr 2011, 18:05
- Localisation: Devant le PC :P
- Prénom: Gregory
- Pays: France
- Sexe: Homme
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
[quote="ricosuavez"]@max-ax:P En tt cas c'est super ce Fba&Mame psp :) trop cool.
j ai pas bien compris les roms Mame marche sur FBA ou tu parle de l autre emulateur mame pour psp ??
@+rico[/quote]
oui certaines Roms ,c'est ecrit dans le menu de l'emu "FB Alpha contains parts of Mame & Final burn."
"Fb Alpha contient des parties de Mame et Final burn"
et non,je parle de cette emulateur :)
[IMG]http://images.imagup.com/06/1223495387_FinaBurn-5.png[/IMG]
Le cps3 marche seulement avec les slim (psp 2000) c'est ecrit dans le "cps3.txt"
Perso pour faire tourner MarsMatrix,1941,Mslug,etc..
je prends les supers emu. Psp ( Cps1psp/Cps2psp et Mvspsp _2.3.1 )
edit: ah ok,le BBcode,(citer et les balises),ca marche plus!?
j ai pas bien compris les roms Mame marche sur FBA ou tu parle de l autre emulateur mame pour psp ??
@+rico[/quote]
oui certaines Roms ,c'est ecrit dans le menu de l'emu "FB Alpha contains parts of Mame & Final burn."
"Fb Alpha contient des parties de Mame et Final burn"
et non,je parle de cette emulateur :)
[IMG]http://images.imagup.com/06/1223495387_FinaBurn-5.png[/IMG]
Le cps3 marche seulement avec les slim (psp 2000) c'est ecrit dans le "cps3.txt"
Perso pour faire tourner MarsMatrix,1941,Mslug,etc..
je prends les supers emu. Psp ( Cps1psp/Cps2psp et Mvspsp _2.3.1 )
edit: ah ok,le BBcode,(citer et les balises),ca marche plus!?
-
max-ax
Gamer Averti
- Messages: 75
- Inscription: 21 Déc 2005, 01:00
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
[quote="NY152"]ookami edites ton post et retires les liens de ROMs (j'ai pas dis que c'etait illegal pour faire beau) et concernant le domaine publique le delai est de plusieurs décénie apres le décès des ayants droits et/ou l'arret d'exploitation (ex : mario est encore à 0 année de délai) donc faut arreter avec ces excuses à 2 balles ![/quote]
ok
je vais les retirer
mais parle moi autrement et je ferais ce que tu me demande
tu m'enerve avec tes paroles a deux balles et un petit s'il vous plait passe mieu que ce genre de phrase débile
merci
.
EDIT
comme je n'ai plus de psp slim pour faire les test et comme j'ai formaté mon pc et donc, n'a plus le toolchain psp pour le moment, je vous laisse en txt le fichier source et si quelqu'un se sent l'ame de faire la compile.....
******************************************************************************
#include <pspkernel.h>
#include <pspctrl.h>
#include <pspgu.h>
#include <psppower.h>
#include <stdio.h>
#include <string.h>
#include "psp.h"
#include "font.h"
#include "burnint.h"
#define find_rom_list_cnt 10
static int find_rom_count = 0;
static int find_rom_select = 0;
static int find_rom_top = 0;
char ui_current_path[MAX_PATH];
static unsigned int nPrevGame = ~0U;
static int ui_mainmenu_select = 0;
static int ui_process_pos = 0;
static unsigned short set_ui_main_menu_item_color(int i)
{
if (ui_mainmenu_select == i) return UI_BGCOLOR;
return UI_COLOR;
}
static struct {
int cpu, bus;
} cpu_speeds[] = { { 222, 111}, { 266, 133}, { 300, 150}, { 333, 166} };
static int cpu_speeds_select = 3;
char game_reset = 0;
#define ROTATE_FLAG BDF_ORIENTATION_VERTICAL
int screen_rotate = ROTATE_FLAG;
int frameskip_lv = 0;
char *frameskip_str[] = {
"AUTO", "OFF ",
"LV 1", "LV 2", "LV 3", "LV 4", "LV 5",
"LV 6", "LV 7", "LV 8", "LV 9", "LV10",
"LV11"
};
static char *ui_main_menu[] = {
"Lancer ROM",
"Charger Jeu",
"Sauvegarder Jeu",
"Réglages Dip Switch",
"Reset Jeu",
"< Frame Skip : %4s >",
"< Rotation Jeux Verticaux : %3s >",
"< Vitesse du CPU %3dMHz >",
"Revenir dans le jeu",
"Quitter l'émulateur FinaBurn Alpha",
};
void draw_ui_main()
{
char buf[320];
drawRect(GU_FRAME_ADDR(work_frame), 0, 0, 480, 272, UI_BGCOLOR);
drawString("FinalBurn Alpha for PSP (ver: 0.01+)", GU_FRAME_ADDR(work_frame), 10, 10, UI_COLOR);
unsigned int kdv = sceKernelDevkitVersion();
sprintf(buf, "FW: %X.%X%X.%02X", kdv >> 24, (kdv&0xf0000)>>16, (kdv&0xf00)>>8, kdv&0xff);
drawString(buf, GU_FRAME_ADDR(work_frame), 470 - getDrawStringLength(buf), 10, UI_COLOR);
drawRect(GU_FRAME_ADDR(work_frame), 8, 28, 464, 1, UI_COLOR);
drawRect(GU_FRAME_ADDR(work_frame), 10, 40+ui_mainmenu_select*18, 460, 18, UI_COLOR);
for(int i=0; i<10; i++) {
unsigned short fc = set_ui_main_menu_item_color(i);
switch ( i ) {
case 5:
sprintf( buf, ui_main_menu[i], frameskip_str[frameskip_lv] );
drawString(buf,
GU_FRAME_ADDR(work_frame),
240 - getDrawStringLength(buf) / 2,
44 + i * 18, fc);
break;
case 6:
if (screen_rotate) {
sprintf( buf, ui_main_menu[i], "ON " );
} else {
sprintf( buf, ui_main_menu[i], "OFF" );
}
drawString(buf,
GU_FRAME_ADDR(work_frame),
240 - getDrawStringLength(buf) / 2,
44 + i * 18, fc);
break;
case 7:
sprintf( buf, ui_main_menu[i], cpu_speeds[cpu_speeds_select].cpu );
drawString(buf,
GU_FRAME_ADDR(work_frame),
240 - getDrawStringLength(buf) / 2,
44 + i * 18, fc);
break;
default:
drawString(ui_main_menu[i],
GU_FRAME_ADDR(work_frame),
240 - getDrawStringLength(ui_main_menu[i]) / 2,
44 + i * 18, fc);
}
}
drawRect(GU_FRAME_ADDR(work_frame), 8, 230, 464, 1, UI_COLOR);
drawString("FB Alpha contains parts of MAME & Final Burn. (C) 2004, Team FB Alpha.", GU_FRAME_ADDR(work_frame), 10, 238, UI_COLOR);
drawString("FinalBurn Alpha for PSP (C) 2008, OopsWare.", GU_FRAME_ADDR(work_frame), 10, 255, UI_COLOR);
}
void draw_ui_browse(bool rebuiltlist)
{
unsigned int bds = nBurnDrvSelect;
char buf[1024];
drawRect(GU_FRAME_ADDR(work_frame), 0, 0, 480, 272, UI_BGCOLOR);
find_rom_count = findRomsInDir( rebuiltlist );
strcpy(buf, "PATH: ");
strcat(buf, ui_current_path);
drawString(buf, GU_FRAME_ADDR(work_frame), 10, 10, UI_COLOR, 460);
drawRect(GU_FRAME_ADDR(work_frame), 8, 28, 464, 1, UI_COLOR);
for(int i=0; i<find_rom_list_cnt; i++) {
char *p = getRomsFileName(i+find_rom_top);
unsigned short fc, bc;
if ((i+find_rom_top) == find_rom_select) {
bc = UI_COLOR;
fc = UI_BGCOLOR;
} else {
bc = UI_BGCOLOR;
fc = UI_COLOR;
}
drawRect(GU_FRAME_ADDR(work_frame), 10, 40+i*18, 230, 18, bc);
if (p) {
switch( getRomsFileStat(i+find_rom_top) ) {
case -2: // unsupport
case -3: // not working
drawString(p, GU_FRAME_ADDR(work_frame), 12, 44+i*18, R8G8B8_to_B5G6R5(0x808080), 180);
break;
case -1: // directry
drawString("<DIR>", GU_FRAME_ADDR(work_frame), 194, 44 + i*18, fc);
default:
drawString(p, GU_FRAME_ADDR(work_frame), 12, 44+i*18, fc, 180);
}
}
if ( find_rom_count > find_rom_list_cnt ) {
drawRect(GU_FRAME_ADDR(work_frame), 242, 40, 5, 18 * find_rom_list_cnt, R8G8B8_to_B5G6R5(0x807060));
drawRect(GU_FRAME_ADDR(work_frame), 242,
40 + find_rom_top * 18 * find_rom_list_cnt / find_rom_count , 5,
find_rom_list_cnt * 18 * find_rom_list_cnt / find_rom_count, UI_COLOR);
} else
drawRect(GU_FRAME_ADDR(work_frame), 242, 40, 5, 18 * find_rom_list_cnt, UI_COLOR);
}
drawRect(GU_FRAME_ADDR(work_frame), 8, 230, 464, 1, UI_COLOR);
nBurnDrvSelect = getRomsFileStat(find_rom_select);
strcpy(buf, "Game Info: ");
if ( nBurnDrvSelect < nBurnDrvCount)
strcat(buf, BurnDrvGetTextA( DRV_FULLNAME ) );
drawString(buf, GU_FRAME_ADDR(work_frame), 10, 238, UI_COLOR, 460);
strcpy(buf, "Released by: ");
if ( nBurnDrvSelect < nBurnDrvCount ) {
strcat(buf, BurnDrvGetTextA( DRV_MANUFACTURER ));
strcat(buf, " (");
strcat(buf, BurnDrvGetTextA( DRV_DATE ));
strcat(buf, ", ");
strcat(buf, BurnDrvGetTextA( DRV_SYSTEM ));
strcat(buf, " hardware)");
}
drawString(buf, GU_FRAME_ADDR(work_frame), 10, 255, UI_COLOR, 460);
nBurnDrvSelect = bds;
}
static void return_to_game()
{
if ( nPrevGame < nBurnDrvCount ) {
get_screen_mode();
autoframeskip_reset();
scePowerSetClockFrequency(
cpu_speeds[cpu_speeds_select].cpu,
cpu_speeds[cpu_speeds_select].cpu,
cpu_speeds[cpu_speeds_select].bus );
nGameStage = 0;
}
}
static void process_key( int key, int down, int repeat )
{
if ( !down ) return ;
switch( nGameStage ) {
/* ---------------------------- Main Menu ---------------------------- */
case 1:
//ui_mainmenu_select
switch( key ) {
case PSP_CTRL_UP:
if (ui_mainmenu_select <= 0)
ui_mainmenu_select = 9;
else
ui_mainmenu_select--;
draw_ui_main();
break;
case PSP_CTRL_DOWN:
if (ui_mainmenu_select >=9 )
ui_mainmenu_select = 0;
else
ui_mainmenu_select++;
draw_ui_main();
break;
case PSP_CTRL_LEFT:
switch(ui_mainmenu_select) {
case 5:
if ( frameskip_lv > 0 ) {
frameskip_lv--;
if(frameskip_lv == 0) {
option_autoframeskip = 1;
option_frameskip = 0;
} else {
option_autoframeskip = 0;
option_frameskip = frameskip_lv - 1;
}
draw_ui_main();
}
break;
case 6:
screen_rotate ^= ROTATE_FLAG;
if ( nPrevGame != ~0U ) {
DoInputBlank(0);
get_screen_size();
}
draw_ui_main();
break;
case 7:
if ( cpu_speeds_select > 0 ) {
cpu_speeds_select--;
draw_ui_main();
}
break;
}
break;
case PSP_CTRL_RIGHT:
switch(ui_mainmenu_select) {
case 5:
if ( frameskip_lv < 12 ) {
frameskip_lv++;
option_autoframeskip = 0;
option_frameskip = frameskip_lv - 1;
draw_ui_main();
}
break;
case 6:
screen_rotate ^= ROTATE_FLAG;
if ( nPrevGame != ~0U ) {
DoInputBlank(0);
get_screen_size();
}
draw_ui_main();
break;
case 7:
if ( cpu_speeds_select < 3 ) {
cpu_speeds_select++;
draw_ui_main();
}
break;
}
break;
case PSP_CTRL_CIRCLE:
switch( ui_mainmenu_select ) {
case 0:
nGameStage = 2;
strcpy(ui_current_path, szAppRomPath);
//ui_current_path[strlen(ui_current_path)-1] = 0;
draw_ui_browse(true);
break;
case 4: // Reset Game
if ( nPrevGame != ~0U ) {
game_reset = 1;
return_to_game();
}
break;
case 8: // Return to Game
return_to_game();
break;
case 9: // Exit
if ( nPrevGame != ~0U ) {
nPrevGame = ~0U;
DrvExit();
InpExit();
}
bGameRunning = 0;
break;
}
break;
case PSP_CTRL_CROSS:
return_to_game();
break;
}
break;
/* ---------------------------- Rom Browse ---------------------------- */
case 2:
switch( key ) {
case PSP_CTRL_UP:
if (find_rom_select == 0) break;
if (find_rom_top >= find_rom_select) find_rom_top--;
find_rom_select--;
draw_ui_browse(false);
break;
case PSP_CTRL_DOWN:
if ((find_rom_select+1) >= find_rom_count) break;
find_rom_select++;
if ((find_rom_top + find_rom_list_cnt) <= find_rom_select) find_rom_top++;
draw_ui_browse(false);
break;
case PSP_CTRL_CIRCLE:
switch( getRomsFileStat(find_rom_select) ) {
case -1: // directry
{ // printf("change dir %s\n", getRomsFileName(find_rom_select) );
char * pn = getRomsFileName(find_rom_select);
if ( strcmp("..", pn) ) {
strcat(ui_current_path, getRomsFileName(find_rom_select));
strcat(ui_current_path, "/");
} else {
if (strlen(strstr(ui_current_path, ":/")) == 2) break; // "ROOT:/"
for(int l = strlen(ui_current_path)-1; l>1; l-- ) {
ui_current_path[l] = 0;
if (ui_current_path[l-1] == '/') break;
}
}
//printf("change dir to %s\n", ui_current_path );
find_rom_count = 0;
find_rom_select = 0;
find_rom_top = 0;
draw_ui_browse(true);
}
break;
default: // rom zip file
{
nBurnDrvSelect = (unsigned int)getRomsFileStat( find_rom_select );
if (nPrevGame == nBurnDrvSelect) {
// same game, reture to it
return_to_game();
break;
}
if ( nPrevGame < nBurnDrvCount ) {
nBurnDrvSelect = nPrevGame;
nPrevGame = ~0U;
DrvExit();
InpExit();
}
nBurnDrvSelect = (unsigned int)getRomsFileStat( find_rom_select );
if (nBurnDrvSelect <= nBurnDrvCount && BurnDrvIsWorking() ) {
nGameStage = 3;
ui_process_pos = 0;
scePowerSetClockFrequency(333, 333, 166);
if ( DrvInit( nBurnDrvSelect, false ) == 0 ) {
BurnRecalcPal();
clear_gui_texture(0, 512, 512);
get_screen_size();
get_screen_mode();
autoframeskip_reset();
scePowerSetClockFrequency(
cpu_speeds[cpu_speeds_select].cpu,
cpu_speeds[cpu_speeds_select].cpu,
cpu_speeds[cpu_speeds_select].bus );
nGameStage = 0;
} else {
nBurnDrvSelect = ~0U;
nGameStage = 2;
scePowerSetClockFrequency(222, 222, 111);
}
} else
nBurnDrvSelect = ~0U;
nPrevGame = nBurnDrvSelect;
//if (nBurnDrvSelect == ~0U) {
// bprintf(0, "unkown rom %s", getRomsFileName(find_rom_select));
//}
}
}
break;
case PSP_CTRL_CROSS: // cancel
nGameStage = 1;
draw_ui_main();
break;
}
break;
/* ---------------------------- Loading Game ---------------------------- */
case 3:
break;
}
}
int do_ui_key(unsigned int key)
{
// mask keys
key &= PSP_CTRL_UP | PSP_CTRL_DOWN | PSP_CTRL_LEFT | PSP_CTRL_RIGHT | PSP_CTRL_CIRCLE | PSP_CTRL_CROSS;
static int prvkey = 0;
static int repeat = 0;
static int repeat_time = 0;
if (key != prvkey) {
int def = key ^ prvkey;
repeat = 0;
repeat_time = 0;
process_key( def, def & key, 0 );
if (def & key) {
// auto repeat up / down only
repeat = def & (PSP_CTRL_UP | PSP_CTRL_DOWN);
} else repeat = 0;
prvkey = key;
} else {
if ( repeat ) {
repeat_time++;
if ((repeat_time >= 32) && ((repeat_time & 0x3) == 0))
process_key( repeat, repeat, repeat_time );
}
}
return 0;
}
void ui_update_progress(float size, char * txt)
{
drawRect( GU_FRAME_ADDR(work_frame), 10, 238, 460, 30, UI_BGCOLOR );
drawRect( GU_FRAME_ADDR(work_frame), 10, 238, 460, 12, R8G8B8_to_B5G6R5(0x807060) );
drawRect( GU_FRAME_ADDR(work_frame), 10, 238, ui_process_pos, 12, R8G8B8_to_B5G6R5(0xffc090) );
int sz = (int)(460 * size + 0.5);
if (sz + ui_process_pos > 460) sz = 460 - ui_process_pos;
drawRect( GU_FRAME_ADDR(work_frame), 10 + ui_process_pos, 238, sz, 12, R8G8B8_to_B5G6R5(0xc09878) );
drawString(txt, GU_FRAME_ADDR(work_frame), 10, 255, UI_COLOR, 460);
ui_process_pos += sz;
if (ui_process_pos > 460) ui_process_pos = 460;
update_gui();
show_frame = draw_frame;
draw_frame = sceGuSwapBuffers();
}
void ui_update_progress2(float size, const char * txt)
{
static int ui_process_pos2 = 0;
int sz = (int)(460.0 * size + 0.5);
if ( txt ) ui_process_pos2 = sz;
else ui_process_pos2 += sz;
if ( ui_process_pos2 > 460 ) ui_process_pos2 = 460;
drawRect( GU_FRAME_ADDR(work_frame), 10, 245, ui_process_pos2, 3, R8G8B8_to_B5G6R5(0xf06050) );
if ( txt ) {
drawRect( GU_FRAME_ADDR(work_frame), 10, 255, 460, 13, UI_BGCOLOR );
drawString(txt, GU_FRAME_ADDR(work_frame), 10, 255, UI_COLOR, 460);
}
update_gui();
show_frame = draw_frame;
draw_frame = sceGuSwapBuffers();
}
******************************************************************************
ok
je vais les retirer
mais parle moi autrement et je ferais ce que tu me demande
tu m'enerve avec tes paroles a deux balles et un petit s'il vous plait passe mieu que ce genre de phrase débile
merci
.
EDIT
comme je n'ai plus de psp slim pour faire les test et comme j'ai formaté mon pc et donc, n'a plus le toolchain psp pour le moment, je vous laisse en txt le fichier source et si quelqu'un se sent l'ame de faire la compile.....
******************************************************************************
#include <pspkernel.h>
#include <pspctrl.h>
#include <pspgu.h>
#include <psppower.h>
#include <stdio.h>
#include <string.h>
#include "psp.h"
#include "font.h"
#include "burnint.h"
#define find_rom_list_cnt 10
static int find_rom_count = 0;
static int find_rom_select = 0;
static int find_rom_top = 0;
char ui_current_path[MAX_PATH];
static unsigned int nPrevGame = ~0U;
static int ui_mainmenu_select = 0;
static int ui_process_pos = 0;
static unsigned short set_ui_main_menu_item_color(int i)
{
if (ui_mainmenu_select == i) return UI_BGCOLOR;
return UI_COLOR;
}
static struct {
int cpu, bus;
} cpu_speeds[] = { { 222, 111}, { 266, 133}, { 300, 150}, { 333, 166} };
static int cpu_speeds_select = 3;
char game_reset = 0;
#define ROTATE_FLAG BDF_ORIENTATION_VERTICAL
int screen_rotate = ROTATE_FLAG;
int frameskip_lv = 0;
char *frameskip_str[] = {
"AUTO", "OFF ",
"LV 1", "LV 2", "LV 3", "LV 4", "LV 5",
"LV 6", "LV 7", "LV 8", "LV 9", "LV10",
"LV11"
};
static char *ui_main_menu[] = {
"Lancer ROM",
"Charger Jeu",
"Sauvegarder Jeu",
"Réglages Dip Switch",
"Reset Jeu",
"< Frame Skip : %4s >",
"< Rotation Jeux Verticaux : %3s >",
"< Vitesse du CPU %3dMHz >",
"Revenir dans le jeu",
"Quitter l'émulateur FinaBurn Alpha",
};
void draw_ui_main()
{
char buf[320];
drawRect(GU_FRAME_ADDR(work_frame), 0, 0, 480, 272, UI_BGCOLOR);
drawString("FinalBurn Alpha for PSP (ver: 0.01+)", GU_FRAME_ADDR(work_frame), 10, 10, UI_COLOR);
unsigned int kdv = sceKernelDevkitVersion();
sprintf(buf, "FW: %X.%X%X.%02X", kdv >> 24, (kdv&0xf0000)>>16, (kdv&0xf00)>>8, kdv&0xff);
drawString(buf, GU_FRAME_ADDR(work_frame), 470 - getDrawStringLength(buf), 10, UI_COLOR);
drawRect(GU_FRAME_ADDR(work_frame), 8, 28, 464, 1, UI_COLOR);
drawRect(GU_FRAME_ADDR(work_frame), 10, 40+ui_mainmenu_select*18, 460, 18, UI_COLOR);
for(int i=0; i<10; i++) {
unsigned short fc = set_ui_main_menu_item_color(i);
switch ( i ) {
case 5:
sprintf( buf, ui_main_menu[i], frameskip_str[frameskip_lv] );
drawString(buf,
GU_FRAME_ADDR(work_frame),
240 - getDrawStringLength(buf) / 2,
44 + i * 18, fc);
break;
case 6:
if (screen_rotate) {
sprintf( buf, ui_main_menu[i], "ON " );
} else {
sprintf( buf, ui_main_menu[i], "OFF" );
}
drawString(buf,
GU_FRAME_ADDR(work_frame),
240 - getDrawStringLength(buf) / 2,
44 + i * 18, fc);
break;
case 7:
sprintf( buf, ui_main_menu[i], cpu_speeds[cpu_speeds_select].cpu );
drawString(buf,
GU_FRAME_ADDR(work_frame),
240 - getDrawStringLength(buf) / 2,
44 + i * 18, fc);
break;
default:
drawString(ui_main_menu[i],
GU_FRAME_ADDR(work_frame),
240 - getDrawStringLength(ui_main_menu[i]) / 2,
44 + i * 18, fc);
}
}
drawRect(GU_FRAME_ADDR(work_frame), 8, 230, 464, 1, UI_COLOR);
drawString("FB Alpha contains parts of MAME & Final Burn. (C) 2004, Team FB Alpha.", GU_FRAME_ADDR(work_frame), 10, 238, UI_COLOR);
drawString("FinalBurn Alpha for PSP (C) 2008, OopsWare.", GU_FRAME_ADDR(work_frame), 10, 255, UI_COLOR);
}
void draw_ui_browse(bool rebuiltlist)
{
unsigned int bds = nBurnDrvSelect;
char buf[1024];
drawRect(GU_FRAME_ADDR(work_frame), 0, 0, 480, 272, UI_BGCOLOR);
find_rom_count = findRomsInDir( rebuiltlist );
strcpy(buf, "PATH: ");
strcat(buf, ui_current_path);
drawString(buf, GU_FRAME_ADDR(work_frame), 10, 10, UI_COLOR, 460);
drawRect(GU_FRAME_ADDR(work_frame), 8, 28, 464, 1, UI_COLOR);
for(int i=0; i<find_rom_list_cnt; i++) {
char *p = getRomsFileName(i+find_rom_top);
unsigned short fc, bc;
if ((i+find_rom_top) == find_rom_select) {
bc = UI_COLOR;
fc = UI_BGCOLOR;
} else {
bc = UI_BGCOLOR;
fc = UI_COLOR;
}
drawRect(GU_FRAME_ADDR(work_frame), 10, 40+i*18, 230, 18, bc);
if (p) {
switch( getRomsFileStat(i+find_rom_top) ) {
case -2: // unsupport
case -3: // not working
drawString(p, GU_FRAME_ADDR(work_frame), 12, 44+i*18, R8G8B8_to_B5G6R5(0x808080), 180);
break;
case -1: // directry
drawString("<DIR>", GU_FRAME_ADDR(work_frame), 194, 44 + i*18, fc);
default:
drawString(p, GU_FRAME_ADDR(work_frame), 12, 44+i*18, fc, 180);
}
}
if ( find_rom_count > find_rom_list_cnt ) {
drawRect(GU_FRAME_ADDR(work_frame), 242, 40, 5, 18 * find_rom_list_cnt, R8G8B8_to_B5G6R5(0x807060));
drawRect(GU_FRAME_ADDR(work_frame), 242,
40 + find_rom_top * 18 * find_rom_list_cnt / find_rom_count , 5,
find_rom_list_cnt * 18 * find_rom_list_cnt / find_rom_count, UI_COLOR);
} else
drawRect(GU_FRAME_ADDR(work_frame), 242, 40, 5, 18 * find_rom_list_cnt, UI_COLOR);
}
drawRect(GU_FRAME_ADDR(work_frame), 8, 230, 464, 1, UI_COLOR);
nBurnDrvSelect = getRomsFileStat(find_rom_select);
strcpy(buf, "Game Info: ");
if ( nBurnDrvSelect < nBurnDrvCount)
strcat(buf, BurnDrvGetTextA( DRV_FULLNAME ) );
drawString(buf, GU_FRAME_ADDR(work_frame), 10, 238, UI_COLOR, 460);
strcpy(buf, "Released by: ");
if ( nBurnDrvSelect < nBurnDrvCount ) {
strcat(buf, BurnDrvGetTextA( DRV_MANUFACTURER ));
strcat(buf, " (");
strcat(buf, BurnDrvGetTextA( DRV_DATE ));
strcat(buf, ", ");
strcat(buf, BurnDrvGetTextA( DRV_SYSTEM ));
strcat(buf, " hardware)");
}
drawString(buf, GU_FRAME_ADDR(work_frame), 10, 255, UI_COLOR, 460);
nBurnDrvSelect = bds;
}
static void return_to_game()
{
if ( nPrevGame < nBurnDrvCount ) {
get_screen_mode();
autoframeskip_reset();
scePowerSetClockFrequency(
cpu_speeds[cpu_speeds_select].cpu,
cpu_speeds[cpu_speeds_select].cpu,
cpu_speeds[cpu_speeds_select].bus );
nGameStage = 0;
}
}
static void process_key( int key, int down, int repeat )
{
if ( !down ) return ;
switch( nGameStage ) {
/* ---------------------------- Main Menu ---------------------------- */
case 1:
//ui_mainmenu_select
switch( key ) {
case PSP_CTRL_UP:
if (ui_mainmenu_select <= 0)
ui_mainmenu_select = 9;
else
ui_mainmenu_select--;
draw_ui_main();
break;
case PSP_CTRL_DOWN:
if (ui_mainmenu_select >=9 )
ui_mainmenu_select = 0;
else
ui_mainmenu_select++;
draw_ui_main();
break;
case PSP_CTRL_LEFT:
switch(ui_mainmenu_select) {
case 5:
if ( frameskip_lv > 0 ) {
frameskip_lv--;
if(frameskip_lv == 0) {
option_autoframeskip = 1;
option_frameskip = 0;
} else {
option_autoframeskip = 0;
option_frameskip = frameskip_lv - 1;
}
draw_ui_main();
}
break;
case 6:
screen_rotate ^= ROTATE_FLAG;
if ( nPrevGame != ~0U ) {
DoInputBlank(0);
get_screen_size();
}
draw_ui_main();
break;
case 7:
if ( cpu_speeds_select > 0 ) {
cpu_speeds_select--;
draw_ui_main();
}
break;
}
break;
case PSP_CTRL_RIGHT:
switch(ui_mainmenu_select) {
case 5:
if ( frameskip_lv < 12 ) {
frameskip_lv++;
option_autoframeskip = 0;
option_frameskip = frameskip_lv - 1;
draw_ui_main();
}
break;
case 6:
screen_rotate ^= ROTATE_FLAG;
if ( nPrevGame != ~0U ) {
DoInputBlank(0);
get_screen_size();
}
draw_ui_main();
break;
case 7:
if ( cpu_speeds_select < 3 ) {
cpu_speeds_select++;
draw_ui_main();
}
break;
}
break;
case PSP_CTRL_CIRCLE:
switch( ui_mainmenu_select ) {
case 0:
nGameStage = 2;
strcpy(ui_current_path, szAppRomPath);
//ui_current_path[strlen(ui_current_path)-1] = 0;
draw_ui_browse(true);
break;
case 4: // Reset Game
if ( nPrevGame != ~0U ) {
game_reset = 1;
return_to_game();
}
break;
case 8: // Return to Game
return_to_game();
break;
case 9: // Exit
if ( nPrevGame != ~0U ) {
nPrevGame = ~0U;
DrvExit();
InpExit();
}
bGameRunning = 0;
break;
}
break;
case PSP_CTRL_CROSS:
return_to_game();
break;
}
break;
/* ---------------------------- Rom Browse ---------------------------- */
case 2:
switch( key ) {
case PSP_CTRL_UP:
if (find_rom_select == 0) break;
if (find_rom_top >= find_rom_select) find_rom_top--;
find_rom_select--;
draw_ui_browse(false);
break;
case PSP_CTRL_DOWN:
if ((find_rom_select+1) >= find_rom_count) break;
find_rom_select++;
if ((find_rom_top + find_rom_list_cnt) <= find_rom_select) find_rom_top++;
draw_ui_browse(false);
break;
case PSP_CTRL_CIRCLE:
switch( getRomsFileStat(find_rom_select) ) {
case -1: // directry
{ // printf("change dir %s\n", getRomsFileName(find_rom_select) );
char * pn = getRomsFileName(find_rom_select);
if ( strcmp("..", pn) ) {
strcat(ui_current_path, getRomsFileName(find_rom_select));
strcat(ui_current_path, "/");
} else {
if (strlen(strstr(ui_current_path, ":/")) == 2) break; // "ROOT:/"
for(int l = strlen(ui_current_path)-1; l>1; l-- ) {
ui_current_path[l] = 0;
if (ui_current_path[l-1] == '/') break;
}
}
//printf("change dir to %s\n", ui_current_path );
find_rom_count = 0;
find_rom_select = 0;
find_rom_top = 0;
draw_ui_browse(true);
}
break;
default: // rom zip file
{
nBurnDrvSelect = (unsigned int)getRomsFileStat( find_rom_select );
if (nPrevGame == nBurnDrvSelect) {
// same game, reture to it
return_to_game();
break;
}
if ( nPrevGame < nBurnDrvCount ) {
nBurnDrvSelect = nPrevGame;
nPrevGame = ~0U;
DrvExit();
InpExit();
}
nBurnDrvSelect = (unsigned int)getRomsFileStat( find_rom_select );
if (nBurnDrvSelect <= nBurnDrvCount && BurnDrvIsWorking() ) {
nGameStage = 3;
ui_process_pos = 0;
scePowerSetClockFrequency(333, 333, 166);
if ( DrvInit( nBurnDrvSelect, false ) == 0 ) {
BurnRecalcPal();
clear_gui_texture(0, 512, 512);
get_screen_size();
get_screen_mode();
autoframeskip_reset();
scePowerSetClockFrequency(
cpu_speeds[cpu_speeds_select].cpu,
cpu_speeds[cpu_speeds_select].cpu,
cpu_speeds[cpu_speeds_select].bus );
nGameStage = 0;
} else {
nBurnDrvSelect = ~0U;
nGameStage = 2;
scePowerSetClockFrequency(222, 222, 111);
}
} else
nBurnDrvSelect = ~0U;
nPrevGame = nBurnDrvSelect;
//if (nBurnDrvSelect == ~0U) {
// bprintf(0, "unkown rom %s", getRomsFileName(find_rom_select));
//}
}
}
break;
case PSP_CTRL_CROSS: // cancel
nGameStage = 1;
draw_ui_main();
break;
}
break;
/* ---------------------------- Loading Game ---------------------------- */
case 3:
break;
}
}
int do_ui_key(unsigned int key)
{
// mask keys
key &= PSP_CTRL_UP | PSP_CTRL_DOWN | PSP_CTRL_LEFT | PSP_CTRL_RIGHT | PSP_CTRL_CIRCLE | PSP_CTRL_CROSS;
static int prvkey = 0;
static int repeat = 0;
static int repeat_time = 0;
if (key != prvkey) {
int def = key ^ prvkey;
repeat = 0;
repeat_time = 0;
process_key( def, def & key, 0 );
if (def & key) {
// auto repeat up / down only
repeat = def & (PSP_CTRL_UP | PSP_CTRL_DOWN);
} else repeat = 0;
prvkey = key;
} else {
if ( repeat ) {
repeat_time++;
if ((repeat_time >= 32) && ((repeat_time & 0x3) == 0))
process_key( repeat, repeat, repeat_time );
}
}
return 0;
}
void ui_update_progress(float size, char * txt)
{
drawRect( GU_FRAME_ADDR(work_frame), 10, 238, 460, 30, UI_BGCOLOR );
drawRect( GU_FRAME_ADDR(work_frame), 10, 238, 460, 12, R8G8B8_to_B5G6R5(0x807060) );
drawRect( GU_FRAME_ADDR(work_frame), 10, 238, ui_process_pos, 12, R8G8B8_to_B5G6R5(0xffc090) );
int sz = (int)(460 * size + 0.5);
if (sz + ui_process_pos > 460) sz = 460 - ui_process_pos;
drawRect( GU_FRAME_ADDR(work_frame), 10 + ui_process_pos, 238, sz, 12, R8G8B8_to_B5G6R5(0xc09878) );
drawString(txt, GU_FRAME_ADDR(work_frame), 10, 255, UI_COLOR, 460);
ui_process_pos += sz;
if (ui_process_pos > 460) ui_process_pos = 460;
update_gui();
show_frame = draw_frame;
draw_frame = sceGuSwapBuffers();
}
void ui_update_progress2(float size, const char * txt)
{
static int ui_process_pos2 = 0;
int sz = (int)(460.0 * size + 0.5);
if ( txt ) ui_process_pos2 = sz;
else ui_process_pos2 += sz;
if ( ui_process_pos2 > 460 ) ui_process_pos2 = 460;
drawRect( GU_FRAME_ADDR(work_frame), 10, 245, ui_process_pos2, 3, R8G8B8_to_B5G6R5(0xf06050) );
if ( txt ) {
drawRect( GU_FRAME_ADDR(work_frame), 10, 255, 460, 13, UI_BGCOLOR );
drawString(txt, GU_FRAME_ADDR(work_frame), 10, 255, UI_COLOR, 460);
}
update_gui();
show_frame = draw_frame;
draw_frame = sceGuSwapBuffers();
}
******************************************************************************
Dernière édition par tamu le 09 Oct 2008, 09:23, édité 1 fois.
-
OOKAMI
Re: Une nouvelle version du portage de FinalBurn Alpha for PSP
Donc tu me dis que mêmes ces shoot fonctionnent ?
Si oui je vais m'empresser de me procurer les PCB puis les roms bien sur car sinon c'est illégal ^^
Si oui je vais m'empresser de me procurer les PCB puis les roms bien sur car sinon c'est illégal ^^
-
Melkiok_1
Gamer du Dimanche
- Messages: 15
- Inscription: 20 Juin 2008, 00:00
26 messages
• Page 2 sur 3 • 1, 2, 3
