#ifndef EMUL_H #define EMUL_H #include "6502.h" #include "bus.h" #include #ifdef WITH_GUI #include #endif enum { ROM_START = 0xf800, ROM_END = 0xffff, ROM_SIZE = 2048, RAM_START = 0x0000, RAM_END = 0x01ff, RAM_SIZE = 512, VIA_START = 0x6000, VIA_END = 0x600f, CPU_FREQUENCY = 1000000, DISPLAY_FPS = 25 }; typedef struct emul_t { cpu_6502_t *cpu; bus_t *bus; bool gui; int width; int height; bool debug; bool paused; int speed; #ifdef WITH_GUI SDL_Window *window; SDL_Renderer *renderer; SDL_Surface *background_image; SDL_Texture *background_texture; #endif } emul_t; void emul_init( emul_t *emul, cpu_6502_t *cpu, bus_t *bus, int width, int height ); void emul_start( emul_t *emul ); void emul_run( emul_t *emul, int nof_steps ); void emul_free( emul_t *emul ); #endif