Stop rendering uninitialized memory
This commit is contained in:
@@ -41,6 +41,10 @@ void emuReset(EmulationContext *emu) {
|
|||||||
vbReset(emu->sim);
|
vbReset(emu->sim);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool emuIsGameLoaded(EmulationContext *emu) {
|
||||||
|
return vbGetCartROM(emu->sim, NULL) != NULL;
|
||||||
|
}
|
||||||
|
|
||||||
#define MAX_STEP_CLOCKS 20000000
|
#define MAX_STEP_CLOCKS 20000000
|
||||||
void emuTick(EmulationContext *emu) {
|
void emuTick(EmulationContext *emu) {
|
||||||
uint32_t clocks = MAX_STEP_CLOCKS;
|
uint32_t clocks = MAX_STEP_CLOCKS;
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ int emuInit(EmulationContext *emu);
|
|||||||
void emuDestroy(EmulationContext *emu);
|
void emuDestroy(EmulationContext *emu);
|
||||||
void emuLoadGame(EmulationContext *emu, uint8_t *rom, uint32_t romSize);
|
void emuLoadGame(EmulationContext *emu, uint8_t *rom, uint32_t romSize);
|
||||||
void emuReset(EmulationContext *emu);
|
void emuReset(EmulationContext *emu);
|
||||||
|
bool emuIsGameLoaded(EmulationContext *emu);
|
||||||
|
|
||||||
void emuTick(EmulationContext *emu);
|
void emuTick(EmulationContext *emu);
|
||||||
bool emuReadPixels(EmulationContext *emu, uint8_t *left, uint8_t *right);
|
bool emuReadPixels(EmulationContext *emu, uint8_t *left, uint8_t *right);
|
||||||
|
|||||||
@@ -106,9 +106,10 @@ typedef enum status_t {
|
|||||||
} status_t;
|
} status_t;
|
||||||
|
|
||||||
int uiRun(UIContext *ui, bool running) {
|
int uiRun(UIContext *ui, bool running) {
|
||||||
static uint8_t leftEye[384*224];
|
static uint8_t leftEye[384*224] = {0};
|
||||||
static uint8_t rightEye[384*224];
|
static uint8_t rightEye[384*224] = {0};
|
||||||
status_t status = running ? status_running : status_paused;
|
status_t status = running ? status_running : status_paused;
|
||||||
|
windowUpdate(&ui->win, leftEye, rightEye);
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
struct nk_context *ctx;
|
struct nk_context *ctx;
|
||||||
@@ -163,7 +164,7 @@ int uiRun(UIContext *ui, bool running) {
|
|||||||
}
|
}
|
||||||
if (nk_menu_item_label(ctx, "Reset", NK_TEXT_ALIGN_LEFT)) {
|
if (nk_menu_item_label(ctx, "Reset", NK_TEXT_ALIGN_LEFT)) {
|
||||||
emuReset(&ui->emu);
|
emuReset(&ui->emu);
|
||||||
status = status_running;
|
status = emuIsGameLoaded(&ui->emu) ? status_running : status_paused;
|
||||||
}
|
}
|
||||||
nk_menu_end(ctx);
|
nk_menu_end(ctx);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user