# HG changeset patch # User Michael Pavone # Date 1460352156 25200 # Node ID f87522554d7b562fdb4a78ecef93a67a543f05ea # Parent d29722e3359cdcc2efd2ae53d72c5a5c871026cb Allow changing the 68K clock divider in the config file diff -r d29722e3359c -r f87522554d7b blastem.c --- a/blastem.c Sun Apr 10 22:22:01 2016 -0700 +++ b/blastem.c Sun Apr 10 22:22:36 2016 -0700 @@ -27,8 +27,8 @@ #define MCLKS_NTSC 53693175 #define MCLKS_PAL 53203395 -#define MCLKS_PER_68K 7 -#define MCLKS_PER_YM MCLKS_PER_68K +uint32_t MCLKS_PER_68K; +#define MCLKS_PER_YM 7 #define MCLKS_PER_Z80 15 #define MCLKS_PER_PSG (MCLKS_PER_Z80*16) #define DEFAULT_SYNC_INTERVAL MCLKS_LINE @@ -1086,7 +1086,7 @@ uint8_t menu = !loaded; if (!loaded) { //load menu - romfname = tern_find_path(config, "ui\rom\0").ptrval; + romfname = tern_find_path(config, "ui\0rom\0").ptrval; if (!romfname) { romfname = "menu.bin"; } @@ -1109,6 +1109,14 @@ loaded = 1; } + char *m68k_divider = tern_find_path(config, "clocks\0m68k_divider\0").ptrval; + if (!m68k_divider) { + m68k_divider = "7"; + } + MCLKS_PER_68K = atoi(m68k_divider); + if (!MCLKS_PER_68K) { + MCLKS_PER_68K = 7; + } ram = malloc(RAM_WORDS * sizeof(uint16_t)); memmap_chunk base_map[] = { {0xE00000, 0x1000000, 0xFFFF, 0, MMAP_READ | MMAP_WRITE | MMAP_CODE, ram, diff -r d29722e3359c -r f87522554d7b default.cfg --- a/default.cfg Sun Apr 10 22:22:01 2016 -0700 +++ b/default.cfg Sun Apr 10 22:22:36 2016 -0700 @@ -116,6 +116,7 @@ } clocks { + m68k_divider 7 max_cycles 3420 speeds { 1 150