Mercurial > repos > blastem
changeset 948:f87522554d7b
Allow changing the 68K clock divider in the config file
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 10 Apr 2016 22:22:36 -0700 |
parents | d29722e3359c |
children | fec4a59ae5d7 |
files | blastem.c default.cfg |
diffstat | 2 files changed, 12 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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,