summaryrefslogtreecommitdiff
path: root/mknes_sdl.c
diff options
context:
space:
mode:
Diffstat (limited to 'mknes_sdl.c')
-rw-r--r--mknes_sdl.c58
1 files changed, 29 insertions, 29 deletions
diff --git a/mknes_sdl.c b/mknes_sdl.c
index bb0b5ad..98776b5 100644
--- a/mknes_sdl.c
+++ b/mknes_sdl.c
@@ -30,10 +30,10 @@ static FILE *state_dump_file;
#define WINDOW_WIDTH (256 * 3 + 256 * 2)
#define WINDOW_HEIGHT (240 * 3)
-// #define PRG_ROM_SIZE (2 * 1024 * 1024)
-// #define CHR_ROM_SIZE (1 * 1024 * 1024)
-#define PRG_ROM_SIZE (512 * 1024)
-#define CHR_ROM_SIZE (256 * 1024)
+#define PRG_ROM_SIZE (2 * 1024 * 1024)
+#define CHR_ROM_SIZE (1 * 1024 * 1024)
+// #define PRG_ROM_SIZE (512 * 1024)
+// #define CHR_ROM_SIZE (256 * 1024)
#define PIXELS_SIZE (256 * 240)
#define RAM_SIZE 0x1000 // 0x800 in reality, but for aligned alloc it must be the size of the alignment (4096)
@@ -62,8 +62,8 @@ static void audio_callback(int16_t *data, size_t frames) { }
// Embed the ROM for benchmarking to eliminate file I/O overhead
// Uncomment the ROM you want to benchmark:
// INCBIN_BYTES(benchmark_rom, "data/Life Force (USA).nes");
-INCBIN_BYTES(benchmark_rom, "data/0001/Metroid (U) [!].nes");
-// INCBIN_BYTES(benchmark_rom, "data/0000/Super Mario Bros. (World) (HVC-SM).nes");
+// INCBIN_BYTES(benchmark_rom, "data/0001/Metroid (U) [!].nes");
+INCBIN_BYTES(benchmark_rom, "data/0000/Super Mario Bros. (World) (HVC-SM).nes");
// INCBIN_BYTES(benchmark_rom, "data/0003/Gradius (USA).nes");
#endif
@@ -88,20 +88,20 @@ static int32_t frames; // debug information
#include "mknes_bench.c"
#endif
-static void dump_state(struct nes_state *state) {
- size_t state_size = offsetof(struct nes_state, ram);
+// static void dump_state(struct nes_state *state) {
+// size_t state_size = offsetof(struct nes_state, ram);
- if(!state_dump_file) {
- state_dump_file = fopen("state_dump.bin", "wb");
- if(!state_dump_file) {
- fprintf(stderr, "Failed to open state_dump.bin for writing\n");
- return;
- }
- }
+// if(!state_dump_file) {
+// state_dump_file = fopen("state_dump.bin", "wb");
+// if(!state_dump_file) {
+// fprintf(stderr, "Failed to open state_dump.bin for writing\n");
+// return;
+// }
+// }
- fwrite(state, 1, state_size, state_dump_file);
- state_dump_count++;
-}
+// fwrite(state, 1, state_size, state_dump_file);
+// state_dump_count++;
+// }
int main(int argc, char **argv) {
setbuf(stdout, 0);
@@ -166,13 +166,13 @@ int main(int argc, char **argv) {
// ines2_load(nstate, "data/0003/Gradius (USA).zip");
// ines2_load(nstate, "data/0004/Mega Man 3 (USA).zip");
- ines2_load(nstate, "data/0004/Mega Man 4 (USA).zip");
+ // ines2_load(nstate, "data/0004/Mega Man 4 (USA).zip");
// ines2_load(nstate, "data/0004/Mega Man 5 (USA).zip");
// ines2_load(nstate, "data/0004/Mega Man 6 (USA).zip");
// ines2_load(nstate, "data/0004/Super Mario Bros. 2 (USA).zip");
- // ines2_load(nstate, "data/0004/Castlevania III - Dracula's Curse (USA).zip"); // ACTUALLY mapper 5
-
+ ines2_load(nstate, "data/0005/Castlevania III - Dracula's Curse (USA).zip");
+ // ines2_load(nstate, "data/0005/Metal Slader Glory (Japan).zip");
// ines2_load(nstate, "data/0007/Battletoads (USA).zip");
// ines2_load(nstate, "data/0007/Beetlejuice (USA).zip");
// ines2_load(nstate, "data/0007/Cabal (USA).zip");
@@ -307,10 +307,10 @@ int main(int argc, char **argv) {
frames++;
- // Dump state every frame starting from 2400
- if(frames >= 2400 && frames <= 3100) {
- dump_state(nstate);
- }
+ // // Dump state every frame starting from 2400
+ // if(frames >= 2400 && frames <= 3100) {
+ // dump_state(nstate);
+ // }
// Convert NES pixels to display buffer
uint32_t * restrict dst = display_buffer;
@@ -344,11 +344,11 @@ int main(int argc, char **argv) {
}
printf("total frames: %6d total cycles: %12llu\n", frames, (unsigned long long)nstate->cpu.cycles);
- printf("state dumps created: %zu\n", state_dump_count);
+ // printf("state dumps created: %zu\n", state_dump_count);
- if(state_dump_file) {
- fclose(state_dump_file);
- }
+ // if(state_dump_file) {
+ // fclose(state_dump_file);
+ // }
timer_destroy(timer);
for(int i = 0; i < 4; i++) {