#include "src/Nes.h" #include "src/Window.h" #include "src/SdlKeyboardController.h" #include #include #include int main() { using namespace std::placeholders; nes::Nes device; nes::SdlWindow window(nes::Ppu::SCREEN_WIDTH, nes::Ppu::SCREEN_HEIGHT); window.setSize(nes::Ppu::SCREEN_WIDTH * 4, nes::Ppu::SCREEN_HEIGHT * 4); device.setNewFrameCallback(std::bind(&nes::SdlWindow::drawFrame, &window, _1)); device.connect(std::make_shared()); device.insertCartridge("/home/selim/Downloads/smb.nes"); //device.insertCartridge("/Users/selim/Documents/nestest.nes"); //device.insertCartridge("C:\\Users\\selim\\Documents\\nestest.nes"); SDL_Event e; uint64_t cycles = 0; while (cycles < 1000000000) { device.tick(); cycles++; while(SDL_PollEvent(&e)); //int64_t us = static_cast(1000000000.0/(60*nes::Ppu::SCREEN_WIDTH*nes::Ppu::SCREEN_HEIGHT)); //std::this_thread::sleep_for(std::chrono::nanoseconds(1)); } return 0; }