Beispiel #1
0
void main(void)
{
#ifdef SystemCoreClockUpdate_ENABLED
	SystemCoreClockUpdate();
#endif

	ticks_init();
	usart_init();

#ifdef SystemCoreClockUpdate_ENABLED
	printf("SystemCoreClock\t%i\r\n", SystemCoreClock);
#endif

	recive_packets_init();
	sfu_command_init();

	while (1)
	{
		stat_error_timeout = 0;
		while ((stat_error_timeout * PACKET_TIMEOUT_mS) < 2000)
		{
			recive_packets_worker();
			recive_packets_print_stat();
		}
		main_start();
	}
}
Beispiel #2
0
static int usf_startup(usf_state_t * state)
{
    if (state->g_rom == NULL)
    {
        state->g_rom_size = 0;
    }
    
    if (state->save_state == NULL)
    {
        DebugMessage(state, 1, "Save State is missing\n");
        return -1;
    }
	
    // Detect the Ramsize before the memory allocation
	if(get_le32(state->save_state + 4) == 0x400000) {
        void * savestate;
		savestate = realloc(state->save_state, 0x40275c);
        if ( savestate )
            state->save_state = savestate;
        state->save_state_size = 0x40275c;
	}
    
    open_rom(state);

    if (main_start(state) != M64ERR_SUCCESS)
    {
        DebugMessage(state, 1, "Invalid Project64 Save State\n");
        return -1;
    }
    
    if (state->enable_trimming_mode)
    {
        state->barray_rom = bit_array_create(state->g_rom_size / 4);
        state->barray_ram_read = bit_array_create(get_le32(state->save_state + 4) / 4);
        state->barray_ram_written_first = bit_array_create(get_le32(state->save_state + 4) / 4);
    }
    
    state->MemoryState = 1;
    
    return 0;
}