示例#1
0
/* Start debugger console */
void Start_Dbg(void) {
    int cmd = 0;
    signal(SIGINT, End_Dbg);
    
    Init_Ncurses();
    Open_Log();
    
    Log_Instruction();
    
    //Accept_Dbg_Input();
    while (cmd != 'q') {
        cmd = getch();
        Log_Line("%c", cmd);
        switch (cmd) {
            case 's': 
                Cpu_Step();
                Log_Instruction();
            break;
            case 'c': {
                u8 op;
                Log_Line("Testing...");
                while (op_fn[(op = Mem_Fetch(cpu.pc))] != op_fn[0xFF]) {
                    Cpu_Step();
                    Log_Instruction();
                }
                break;
            }
            case 'r': {
                vnes_display *disp;
                if (!Open_Display(&disp, 512, 480)) {
                    Log_Line("Failed to render display.");
                    break;
                }
                Set_Display_Source(disp, Get_Render_Buffer(), NES_RES_X, NES_RES_Y);
                Display_Loop(disp);
            }
            default:
            break;
        }
    }
    End_Dbg(0);
}
示例#2
0
int main()
{
	#ifdef ENABLE_LOG
	verbose = 1;
	Open_Log(LOG_PATH);
	#endif
	//Detect startup mode
    unsigned button = 0;
    padInfo padinfo;
    padData paddata;
    ioPadInit(7);
    int n, r;
    for(r=0; r<10; r++)
    {
        ioPadGetInfo(&padinfo);
        for(n = 0; n < 7; n++)
        {
            if(padinfo.status[n])
            {
                ioPadGetData(n, &paddata);
                button = (paddata.button[2] << 8) | (paddata.button[3] & 0xff);
                break;
            }
        }
        if(button) break;
		else usleep(20000);
    }
    ioPadEnd();
	switch(button)
	{
		case BUTTON_CROSS:
			install_autoloader=1;
		break;

		case BUTTON_SQUARE:
			uninstall_autoloader=1;
		break;

		case BUTTON_R1:
			noplugins=1;
		break;

		case BUTTON_L1:
			mamba_off=1;
		break;
	}
	//Install MAMBA/PRX Autoloader if cross was hold
	if(install_autoloader)
	{
		if (run_install_autoloader() ==  SUCCESS)
		{
			#ifdef ENABLE_LOG
			CloseLog();
			#endif
			{ BEEP1 } //1 Beep
			sysLv2FsUnlink("/dev_hdd0/tmp/turnoff");
			{lv2syscall3(SC_SYS_POWER, SYS_REBOOT, 0, 0);} // Reboot
			return SUCCESS;
		}
		else
		{
			goto err_back_to_xmb;