@@ -383,7 +383,7 @@ static void Show_About_uLE(void)
383383#define SET_NEXT_CARD 1
384384#define SET_PREV_CARD 2
385385#define BUILD_SETCARD (param , type , mode , num ) param = type << 24; param |= mode << 16; param |= num;
386-
386+ #define BUILD_SETCHANNEL ( param , mode , num ) param = mode << 16; param |= num;
387387enum mmceman_cmds {
388388 MMCE_CMD_PING = 0x1 ,
389389 MMCE_CMD_GET_STATUS ,
@@ -429,9 +429,10 @@ static void refresh_mmceman_data(struct cardinfo_t* CardInfo) {
429429 } else CardInfo [i ].validcard = FALSE;
430430 }
431431}
432-
432+ #define INFORM_ERR ( res , cause ) if (res == -1) snprintf(Notifs, MAX_TEXT_LINE, cause": %s", LNG(Failed))
433433static void Show_MMCEManager (void )
434434{
435+ char Notifs [MAX_TEXT_LINE ] = "MMCE Manager" ;
435436 int event = 1 , post_event = 0 , curcard = 0 , res , i ;
436437 int hpos [2 ] = {2 , 40 };
437438 char TextRow [256 ];
@@ -459,17 +460,29 @@ static void Show_MMCEManager(void)
459460 } else if (new_pad & PAD_CROSS ) {
460461 curcard ^= 1 ;
461462 event |= 2 ;
462- } else if (new_pad & PAD_R1 || new_pad & PAD_R2 ) {
463- u32 param ;
464- BUILD_SETCARD (param , VMC_NORMAL , (new_pad & PAD_R1 ) ? SET_PREV_CARD : SET_NEXT_CARD , 0 )
465- res = fileXioDevctl (mmce , MMCE_CMD_SET_CARD , & param , sizeof (param ), NULL , 0 );
466- event |= 2 ;
467463 } else if (new_pad & PAD_SELECT ) {
468464 refresh_mmceman_data (CardInfo );
469465 event |= 2 ;
470- } else if (new_pad & PAD_START ) {
471- if (keyboard (TextRow , 36 ) > 0 ) {
472- fileXioDevctl (mmce , MMCE_CMD_SET_GAMEID , TextRow , 255 , NULL , 0 );
466+ strcpy (Notifs , "MMCE Manager" );
467+ }
468+ if (CardInfo [curcard ].validcard ) {
469+ if (new_pad & PAD_START ) {
470+ if (keyboard (TextRow , 36 ) > 0 ) {
471+ res = fileXioDevctl (mmce , MMCE_CMD_SET_GAMEID , TextRow , 255 , NULL , 0 );
472+ event |= 2 ;
473+ INFORM_ERR (res , "SetGameID" );
474+ }
475+ } else if (new_pad & PAD_R1 || new_pad & PAD_R2 ) {
476+ u32 param ;
477+ BUILD_SETCARD (param , VMC_NORMAL , (new_pad & PAD_R1 ) ? SET_PREV_CARD : SET_NEXT_CARD , 0 )
478+ res = fileXioDevctl (mmce , MMCE_CMD_SET_CARD , & param , sizeof (param ), NULL , 0 );
479+ INFORM_ERR (res , "SetCard" );
480+ event |= 2 ;
481+ } else if (new_pad & PAD_L1 || new_pad & PAD_L2 ) {
482+ u32 param ;
483+ BUILD_SETCHANNEL (param , (new_pad & PAD_L1 ) ? SET_PREV_CARD : SET_NEXT_CARD , 0 )
484+ res = fileXioDevctl (mmce , MMCE_CMD_SET_CHANNEL , & param , sizeof (param ), NULL , 0 );
485+ INFORM_ERR (res , "SetChannel" );
473486 event |= 2 ;
474487 }
475488 }
@@ -489,17 +502,17 @@ static void Show_MMCEManager(void)
489502 if (CardInfo [i ].validcard ) {
490503 sprintf (TextRow , " Device: %s" , CardInfo [i ].product );
491504 PrintPos (02 , hpos [i ], TextRow , COLOR_TEXT );
492- sprintf (TextRow , " Revision : %d, Protocol: %d" , CardInfo [i ].revision , CardInfo [i ].protocol );
505+ sprintf (TextRow , " Rev : %d, Protocol: %d" , CardInfo [i ].revision , CardInfo [i ].protocol );
493506 PrintPos (03 , hpos [i ], TextRow , COLOR_TEXT );
494- snprintf (TextRow , 36 , " GameId '%s'" , CardInfo [i ].gid );
507+ snprintf (TextRow , 36 , " GameID '%s'" , CardInfo [i ].gid );
495508 PrintPos (04 , hpos [i ], TextRow , COLOR_TEXT );
496509 } else {
497- sprintf (TextRow , "%s" , "No device Found " );
510+ sprintf (TextRow , "%s" , " No device found " );
498511 PrintPos (02 , hpos [i ], TextRow , COLOR_GRAPH3 );
499512 }
500513 }
501514
502- setScrTmp ("MMCE Manager" , "R1/R2:card L1/L2:chan START:SetGameID " FNCH_CROSS ":card slot " FNCH_CIRCLE ":Back SELECT:Refresh" );
515+ setScrTmp (Notifs , "R1/R2:card L1/L2:chan START:SetGameID " FNCH_CROSS ":card slot " FNCH_CIRCLE ":Back SELECT:Refresh" );
503516 }
504517 drawScr ();
505518 post_event = event ;
0 commit comments