void MainWindow::Initialize() { PrepareClass("Game Client"); this->Create(); SetClientSize(640,480); Center(); //SetMenu(LoadMenu(NULL,MAKEINTRESOURCE(IDR_MAINMENU))); game_instance.Initialize(this); Show(); memset(&timing,0,sizeof(timing)); timer_.Calibrate(); timing.prev_cycles = timer_.GetCurrentCycles(); //SetThreadAffinityMask(GetCurrentThread(), }
void DisplayWindow::Init() { exit_signal_ = false; PrepareClass("NesEmu"); window_class.hIcon = static_cast<HICON>(LoadImage(instance, MAKEINTRESOURCE(IDI_ICON1),IMAGE_ICON,32,32,LR_DEFAULTSIZE)); window_class.hIconSm = static_cast<HICON>(LoadImage(instance, MAKEINTRESOURCE(IDI_ICON1),IMAGE_ICON,16,16,LR_DEFAULTSIZE)); Create(); SetMenu(LoadMenu(instance, MAKEINTRESOURCE(IDR_MENU1))); DragAcceptFiles(handle(),true); gfx.Initialize(handle(),0,0); nes.set_on_render([this]() { //InvalidateRect(handle(),nullptr,true); PostMessage(handle(),WM_PAINT,0,0); }); nes.set_on_vertical_blank([this]() { MSG msg; while (PeekMessage(&msg,NULL,0,0,PM_REMOVE)!=0) {//while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } }); //auto a = glGetError(); //glPixelZoom(1, -1); //a = glGetError(); //glRasterPos2i(0,0); //a = glGetError(); glEnable( GL_TEXTURE_2D ); auto a = glGetError(); glGenTextures( 1, &texture ); a = glGetError(); glBindTexture( GL_TEXTURE_2D, texture ); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); //wglMakeCurrent(NULL, NULL); //settings setup options.nes = &nes; IO::window_handle = handle(); IO::Init(); ResetTiming(); OnCommand(ID_VIDEO_STD256X240,0); Center(); ShowWindow(handle(), SW_SHOW); UpdateWindow(handle()); nes.Open("D:\\Personal\\Projects\\NesEmu\\mario.nes"); //CPU Tests //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\cpu_reset\\ram_after_reset.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\cpu_timing_test6\\cpu_timing_test.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\cpu_interrupts_v2\\rom_singles\\1-cli_latency.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\cpu_interrupts_v2\\rom_singles\\2-nmi_and_brk.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\cpu_interrupts_v2\\cpu_interrupts.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\nestest.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\instr_timing\\instr_timing.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\instr_timing\\instr_timing.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\NEStress\\NEStress.NES"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\cpu_dummy_writes\\cpu_dummy_writes_ppumem.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\cpu_flag_concurrency\\test_cpu_flag_concurrency.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\cpu_exec_space\\test_cpu_exec_space_apu.nes"); //APU Tests //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\apu_reset\\4015_cleared.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\apu_reset\\4017_timing.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\apu_reset\\4017_written.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\blargg_apu\\01.len_ctr.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\blargg_apu\\09.reset_timing.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\nes_saw\\square_scale.nes"); //MMC3 //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\mmc3_irq_tests\\1.Clocking.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\mmc3_test_2\\rom_singles\\1-clocking.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\mmc3_test_2\\rom_singles\\2-details.nes"); //nes.Open("F:\\NESRen\\Pirate\\Captain Tsubasa Vol 2 - Super Striker (J) [p1].nes"); //PPU //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\blargg_ppu_tests\\vram_access.nes"); //nes.Open("D:\\Personal\\Projects\\NesEmu\\testroms\\sprite_hit_tests_2005.10.05\\10.timing_order.nes"); //MMC1 //nes.Open("F:\\NESRen\\USA\\Legend of Zelda, The (U) (PRG 0).nes"); //nes.Open("F:\\NESRen\\Translated\\Captain Tsubasa (J) [T-Eng].nes"); OnCommand(ID_MODE_NTSC,0); //emu_th = new std::thread(&app::DisplayWindow::Step,this); //emu_th->join(); }
// ------------------------------------------------------------------------------------------------------------------------------------------------------- LogClass::LogClass() { PrepareClass(); }