コード例 #1
0
ファイル: emu.c プロジェクト: tredpath/GnGeo-pb
void neogeo_init(void)
{
    modulo = 1;
    sram_lock=0;
    sound_code=0;
    pending_command=0;
    result_code=0;
    if (memory.cpu_size>=0x100000)
	cpu_68k_bankswitch(0x100000);
    else
	cpu_68k_bankswitch(0);

    neogeo_init_save_state();
}
コード例 #2
0
static void cpu_68k_post_load_state(void) {
    struct S68000CONTEXT star_context;
    int i;
    s68000GetContext(&star_context);
    for (i=0;i<8;i++) {
	star_context.dreg[i]=s68000context.dreg[i];
	star_context.areg[i]=s68000context.areg[i];
    }
    star_context.pc=s68000context.pc;
    star_context.asp=s68000context.asp;
    star_context.sr=s68000context.sr;
    s68000SetContext(&star_context);
    cpu_68k_bankswitch(bankaddress);
}
コード例 #3
0
ファイル: emu.c プロジェクト: EdCornejo/emu-ex-plus-alpha
void neogeo_reset(void) {
    //	memory.vid.modulo = 1; /* TODO: Move to init_video */
	memset(memory.ram, 0 , sizeof(memory.ram));
	memset(memory.z80_ram, 0 , sizeof(memory.z80_ram));
	memcpy(memory.rom.cpu_m68k.p, memory.rom.bios_m68k.p, 0x80);
	memory.current_vector=0;
	memory.vid.current_line = 0;
	init_timer();
	sram_lock = 0;
	sound_code = 0;
	pending_command = 0;
	result_code = 0;
#ifdef ENABLE_940T
	shared_ctl->sound_code = sound_code;
	shared_ctl->pending_command = pending_command;
	shared_ctl->result_code = result_code;
#endif
	if (memory.rom.cpu_m68k.size > 0x100000)
		cpu_68k_bankswitch(0x100000);
	else
		cpu_68k_bankswitch(0);
	cpu_68k_reset();
}