Exemple #1
0
void FileDialog::ListCallback(aui_Control *control, uint32 action, uint32 data, void *cookie)
{
	if(action != AUI_LISTBOX_ACTION_SELECT && action != AUI_LISTBOX_ACTION_DOUBLECLICKSELECT) {
		return;
	}

	FileDialog *di = (FileDialog *)cookie;
	Assert(di);
	if(!di) return;

	Assert(di->m_list);
	if(!di->m_list) return;

	ctp2_ListItem *item = (ctp2_ListItem *)di->m_list->GetSelectedItem();
	if(!item) return;

	ctp2_Static *box = (ctp2_Static *)item->GetChildByIndex(0);
	Assert(box);
	if(!box) return;

	Assert(di->m_field);
	if(!di->m_field) return;

	di->m_field->SetFieldText(box->GetText());

	if(action == AUI_LISTBOX_ACTION_DOUBLECLICKSELECT) {
		if(di->m_mode == FILE_DIALOG_LOAD) {
			LoadCallback(control, AUI_BUTTON_ACTION_EXECUTE, data, cookie);
		} else {
			SaveCallback(control, AUI_BUTTON_ACTION_EXECUTE, data, cookie);
		}
	}
}
Exemple #2
0
static int DrvInit(int (*LoadCallback)(), int type, int gfx_max, int gfx_min)
{
	AllMem = NULL;
	MemIndex(gfx_max - gfx_min);
	int nLen = MemEnd - (unsigned char *)0;
	if ((AllMem = (unsigned char *)malloc(nLen)) == NULL) return 1;
	memset(AllMem, 0, nLen);
	MemIndex(gfx_max - gfx_min);

	{
		if (LoadCallback) {
			if (LoadCallback()) return 1;
		}

		BurnSwap32(DrvSh2ROM, 0x100000);
		BurnSwapEndian(0x200000);
		DrvGfxDecode(gfx_max - gfx_min);
		graphics_min_max[0] = gfx_min;
		graphics_min_max[1] = gfx_max;
	}

	if (type == 0) 
	{
		Sh2Init(1);
		Sh2Open(0);
		Sh2MapMemory(DrvSh2ROM,			0x00000000, 0x000fffff, SM_ROM);
		Sh2MapMemory(DrvSh2ROM + 0x100000,	0x02000000, 0x020fffff, SM_ROM);
		Sh2MapMemory(DrvSprRAM,			0x03000000, 0x0300ffff, SM_RAM);
		Sh2MapMemory(DrvPalRAM,			0x03040000, 0x0304ffff, SM_RAM);
		Sh2MapMemory(DrvZoomRAM,		0x03050000, 0x0305ffff, SM_ROM);
		Sh2MapMemory(DrvSh2RAM,			0x06000000, 0x060fffff, SM_RAM);
		Sh2SetReadByteHandler (0,		ps3v1_read_byte);
		Sh2SetWriteByteHandler(0,		ps3v1_write_byte);
		Sh2SetWriteWordHandler(0,		ps3v1_write_word);
		Sh2SetWriteLongHandler(0,		psx_write_long);
	} else {
		Sh2Init(1);
		Sh2Open(0);
		Sh2MapMemory(DrvSh2ROM,			0x00000000, 0x000fffff, SM_ROM);
		Sh2MapMemory(DrvSprRAM,			0x04000000, 0x0400ffff, SM_RAM);
		Sh2MapMemory(DrvPalRAM,			0x04040000, 0x0404ffff, SM_RAM);
		Sh2MapMemory(DrvZoomRAM,		0x04050000, 0x0405ffff, SM_ROM);
		Sh2MapMemory(DrvSh2ROM + 0x100000,	0x05000000, 0x0507ffff, SM_ROM);
		Sh2MapMemory(DrvSh2RAM,			0x06000000, 0x060fffff, SM_RAM);
		Sh2SetReadByteHandler (0,		ps5_read_byte);
		Sh2SetWriteByteHandler(0,		ps5_write_byte);
		Sh2SetWriteWordHandler(0,		ps5_write_word);
		Sh2SetWriteLongHandler(0,		psx_write_long);
	}

	Sh2MapHandler(1, 0x06000000 | speedhack_address, 0x0600ffff | speedhack_address, SM_ROM);
	Sh2SetReadByteHandler (1,		hack_read_byte);
	Sh2SetReadWordHandler (1,		hack_read_word);
	Sh2SetReadLongHandler (1,		hack_read_long);

	BurnYMF278BInit(0, DrvSndROM, &DrvIRQCallback, DrvSynchroniseStream);
	BurnTimerAttachSh2(28636350);

	EEPROMInit(&eeprom_interface_93C56);

	PsikyoshVideoInit(gfx_max, gfx_min);

	DrvDoReset();

	return 0;
}
Exemple #3
0
void System_OnStrg_DownloadFW(UINT32* SecOrderTable, void (*LoadCallback)(const UINT32 Idx))
{
    BOOL bEnablePartload = FALSE;
    int nSect = 0;
    DBG_MSG("Init!\r\n");

    DBG_DUMP("^G[LOAD-FW]\r\n");
    nSect = OS_GetMemSectionCount(MEM_CODE);  //How to get last section ZI
    DBG_DUMP("^GTotal Sections = %d\r\n", nSect);
    if(LoadCallback)
        LoadCallback(CODE_SECTION_01);
    DBG_IND("^M P1_LOAD_SIZE=%08X, TIME=%d\r\n", gBinInfo.ld.LdLoadSize, gBinInfo.ld.LdLoadTime);

    DBG_IND("^MPL_check_Ld:\r\n");
    DBG_IND("^M PL_EN=%08X\r\n", gBinInfo.ld.LdCtrl & LDCF_PARTLOAD_EN);
    DBG_IND("^M LZ_EN=%08X\r\n", gBinInfo.head.BinCtrl & HDCF_LZCOMPRESS_EN);
    bEnablePartload = ((gBinInfo.ld.LdCtrl & LDCF_PARTLOAD_EN)!=0);

    if(!bEnablePartload)
        return;

    DBG_IND("^MPL_validate-p1-range:");
    //ValidatePartOne
    {
        // Make Sure: Partloader start (PART-2 start) <= Loader loaded end
        int i;
        UINT32 FwSize = 0;
        UINT32 uiDestAddress = OS_GetMemAddr(MEM_CODE)+gBinInfo.ld.LdLoadSize;
        if((uiDestAddress != 0) && (uiDestAddress < OS_GetMemAddr(1)))
        {
            DBG_FATAL("PART_TWO start (%08x) > PART_ONE loaded end (%08x)!\r\n",
                OS_GetMemAddr(1), uiDestAddress );
        }

        // Make Sure: Partloader end (PART-last end) <= MEM_CODE end
        for(i=0;i<nSect;i++)
        {
            DBG_IND("Sect%d: Addr:%08X, Size:%08X\r\n",i,OS_GetMemAddr(i),OS_GetMemSize(i));
            FwSize += OS_GetMemSize(i);
        }
        if (OS_GetMemAddr(0)+FwSize > OS_GetMemAddr(MEM_CODE)+OS_GetMemSize(MEM_CODE))
        {
            DBG_FATAL("PART_LAST end (%08x) > MEM_CODE end (%08x)!\r\n",
                OS_GetMemAddr(0)+FwSize, OS_GetMemAddr(MEM_CODE)+OS_GetMemSize(MEM_CODE));
        }
    }
    DBG_IND("^M ok\r\n");

    DBG_DUMP("^MPL_begin\r\n");
    {
        ER er;
        gPL_In.puiIdxSequence = SecOrderTable;
        gPL_In.fpLoadedCb = LoadCallback;
        gPL_Cmd.Idx = FWSRV_CMD_IDX_PL_LOAD_BURST; //continue load
        gPL_Cmd.In.pData = &gPL_In;
        gPL_Cmd.In.uiNumByte = sizeof(gPL_In);
        gPL_Cmd.Prop.bExitCmdFinish = TRUE;
        er = FwSrv_Cmd(&gPL_Cmd);
        if(er != FWSRV_ER_OK)
        {
            DBG_ERR("Process failed!\r\n");
        }
    }
    DBG_DUMP("^MPL_end\r\n");
}
Exemple #4
0
LRESULT WINAPI KLE_AvpCallback(WPARAM wParam,LPARAM lParam)
{
	LRESULT ret=0;
	AVPScanObject* so=(AVPScanObject*)lParam;


	switch(wParam){
	case AVP_CALLBACK_PUT_STRING:
		break;
	case AVP_CALLBACK_ASK_DELETE:
		switch((so->MFlags) & MF_D_)
		{
			case MF_D_ASKCURE:
			case MF_D_ASKCUREDEBUG:
			case MF_D_CUREALL:
				if(so->MFlags & MF_FPI_MODE
					|| (!(so->MFlags & MF_APC_CURE_REQUEST)
					&& (so->SType == OT_FILE)))
				{
					so->RFlags|=RF_CURE_FAIL;
					break;
				}
				ret=2;
				break;
			case MF_D_DELETEALL:
				ret=2;
				break;
			case MF_D_DENYACCESS:
			default:
				break;
		}
		break;

	case AVP_CALLBACK_ASK_CURE:
		{
			switch((so->MFlags) & MF_D_)
			{
			case MF_D_ASKCURE:
			case MF_D_ASKCUREDEBUG:
				break;
			case MF_D_CUREALL:
				ret=1;
				break;
			case MF_D_DELETEALL:
				ret=2;
				break;
			case MF_D_DENYACCESS:
			default:
				break;
			}
		}
		break;

	case AVP_CALLBACK_LOAD_PROGRESS:
        break;

	case AVP_CALLBACK_LOAD_BASE:
		if(LoadCallback)	LoadCallback(0,KLE_CALLBACK_BASE_LOAD_BEGIN,lParam,"Loading");
		break;

	case AVP_CALLBACK_LOAD_BASE_DONE:
		if(LoadCallback)	LoadCallback(0,KLE_CALLBACK_BASE_LOAD_DONE,lParam,"Loading");
		break;
		
	case AVP_CALLBACK_OBJECT_WARNING:
		KLEObjectCallback(so,KLE_CALLBACK_OBJECT_INFECTED,wParam,"SUSP_MODIFICATION");
		break;

	case AVP_CALLBACK_OBJECT_SUSP:
		KLEObjectCallback(so,KLE_CALLBACK_OBJECT_INFECTED,wParam,"SUSPECTED");
		break;
	
	case AVP_CALLBACK_OBJECT_DETECT:
		KLEObjectCallback(so,KLE_CALLBACK_OBJECT_INFECTED,wParam,"INFECTED");
        break;

	case AVP_CALLBACK_OBJECT_CURE:
        break;

	case AVP_CALLBACK_OBJECT_DELETE:
        break;

	case AVP_CALLBACK_OBJECT_CURE_FAIL:
        break;

	case AVP_CALLBACK_OBJECT_ARCHIVE_NAME:
		KLESetPropString((KLE_SCAN_OBJECT*)(so->RefData),KLE_PROP_ARCHIVE_NAME_STRING,so->VirusName,0);
		KLEObjectCallback(so,KLE_CALLBACK_ARCHIVE_NEXT_NAME,wParam,"ARCHIVE_NEXT_NAME");
		break;
		
	case AVP_CALLBACK_OBJECT_ARCHIVE:
		KLEObjectCallback(so,KLE_CALLBACK_ARCHIVE_BEGIN,wParam,"ARCHIVE_BEGIN");
        break;

	case AVP_CALLBACK_OBJECT_ARCHIVE_DONE:
		KLEObjectCallback(so,KLE_CALLBACK_ARCHIVE_DONE,wParam,"ARCHIVE_DONE");
        break;
		
	case AVP_CALLBACK_OBJECT_BEGIN:
		KLEObjectCallback(so,KLE_CALLBACK_OBJECT_BEGIN,wParam,"OBJECT_BEGIN");
        break;
		
	case AVP_CALLBACK_OBJECT_DONE:
		KLEObjectCallback(so,KLE_CALLBACK_OBJECT_DONE,wParam,"OBJECT_DONE");
        break;


	case AVP_CALLBACK_CHECK_FILE_INTEGRITY:
		ret=sign_check_file( (char*)lParam, 1, 0, 0, 0);
//		ret=sign_check_file( (char*)lParam, 1, vndArray, vndArrayCount, 0);
		break;

	case AVP_CALLBACK_ERROR_FILE_OPEN:
	case AVP_CALLBACK_ERROR_SET:
//		GkSendErrorMessage((char *)lParam, Trap_FSAV_missingDatabaseFile);
		break;


	case AVP_CALLBACK_ERROR_KERNEL_PROC:
	case AVP_CALLBACK_ERROR_LINK:
	case AVP_CALLBACK_ERROR_SYMBOL_DUP:
	case AVP_CALLBACK_ERROR_SYMBOL:
	case AVP_CALLBACK_ERROR_FIXUPP:
//		GkSendErrorMessage((char *)lParam, Trap_FSAV_cannotOpenFile);
		break;

		
	case AVP_CALLBACK_SETFILE_INTEGRITY_FAILED:
//		GkSendErrorMessage((char *)lParam, Trap_FSAV_databaseFileCorrupt);
		break;

	case AVP_CALLBACK_FILE_INTEGRITY_FAILED:
//		GkSendErrorMessage((char *)lParam, Trap_FSAV_databaseFileCorrupt);
		break;
	
	case AVP_CALLBACK_ERROR_BASE:
//		GkSendErrorMessage((char *)lParam, Trap_FSAV_notADatabaseFile);
		break;

	case AVP_CALLBACK_ROTATE: 
	case AVP_CALLBACK_ROTATE_OFF:
		if(so){
			KLE_SCAN_OBJECT* kso=(KLE_SCAN_OBJECT*)(so->RefData);
			if(kso->fnCallback)	kso->fnCallback(kso,KLE_CALLBACK_YIELD,0,"Rotate");
			if(kso->StopScan)	BAvpCancelProcessObject(1);
		}
		break;

	default:
//	        _DebugTrace(TraceInfo,"AvpCallback %X \n",wParam);
        break;
	}
    return ret;
}