Files
atari2600/source/main.cpp
T
raimon@prometeo fb5097733d -[NEW] reorganització de códi
-[NEW] mòdul display operatiu
-[NEW] mòdul tia pràcticament acabat (falta el reset)
-[NEW] glue code para poder compilar. Primera compilació
-[NEW] Afegides classes de UI
-[NEW] Afegides classes de debug desensamblador del z80, a convertir a 6502
2026-09-17 10:43:59 +02:00

48 lines
1.3 KiB
C++

#include <SDL3/SDL.h>
#include "atari2600.h"
#include "rom.h"
#include "ui.h"
#include "ui_window.h"
//#include "z80debugger.h"
int main(int argc, char *argv[]) {
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO);
atari2600::init();
if (argc > 1) {
rom::load(argv[1]);
} else {
rom::load("combat.bin");
}
int wait = 16;
SDL_Event e;
while (!atari2600::is_quitting()) {
wait--;
if (wait==0) {
wait = 16;
if (atari2600::is_paused()) SDL_WaitEventTimeout(NULL, 1000);
while (SDL_PollEvent(&e)) {
bool result = true;
if (e.type == SDL_EVENT_QUIT) { atari2600::quit(); break; }
if (e.type == SDL_EVENT_KEY_DOWN) {
if (atari2600::is_paused()) {
switch (e.key.scancode) {
case SDL_SCANCODE_F10: atari2600::step(); /*z80debugger::refresh();*/ break;
}
}
}
SDL_Window* window = SDL_GetWindowFromEvent(&e);
if (!ui::window::sendEvent(SDL_GetWindowID(window), &e)) { atari2600::quit(); break; }
}
}
if (!atari2600::is_paused()) atari2600::step();
ui::setClicked(false);
}
SDL_Quit();
return 0;
}