comparison genesis.c @ 1113:45db303fc705

Restore 68K address logging functionality
author Michael Pavone <pavone@retrodev.com>
date Mon, 19 Dec 2016 13:58:51 -0800
parents 2eb54e24914e
children fe8c79f82c22
comparison
equal deleted inserted replaced
1112:7ab7c8fb34ba 1113:45db303fc705
880 free(gen->save_storage); 880 free(gen->save_storage);
881 free(gen->header.save_dir); 881 free(gen->header.save_dir);
882 free(gen->lock_on); 882 free(gen->lock_on);
883 } 883 }
884 884
885 genesis_context *alloc_init_genesis(rom_info *rom, void *main_rom, void *lock_on, uint32_t ym_opts, uint8_t force_region) 885 genesis_context *alloc_init_genesis(rom_info *rom, void *main_rom, void *lock_on, uint32_t system_opts, uint8_t force_region)
886 { 886 {
887 static memmap_chunk z80_map[] = { 887 static memmap_chunk z80_map[] = {
888 { 0x0000, 0x4000, 0x1FFF, 0, 0, MMAP_READ | MMAP_WRITE | MMAP_CODE, NULL, NULL, NULL, NULL, NULL }, 888 { 0x0000, 0x4000, 0x1FFF, 0, 0, MMAP_READ | MMAP_WRITE | MMAP_CODE, NULL, NULL, NULL, NULL, NULL },
889 { 0x8000, 0x10000, 0x7FFF, 0, 0, 0, NULL, NULL, NULL, z80_read_bank, z80_write_bank}, 889 { 0x8000, 0x10000, 0x7FFF, 0, 0, 0, NULL, NULL, NULL, z80_read_bank, z80_write_bank},
890 { 0x4000, 0x6000, 0x0003, 0, 0, 0, NULL, NULL, NULL, z80_read_ym, z80_write_ym}, 890 { 0x4000, 0x6000, 0x0003, 0, 0, 0, NULL, NULL, NULL, z80_read_ym, z80_write_ym},
911 911
912 char * lowpass_cutoff_str = tern_find_path(config, "audio\0lowpass_cutoff\0").ptrval; 912 char * lowpass_cutoff_str = tern_find_path(config, "audio\0lowpass_cutoff\0").ptrval;
913 uint32_t lowpass_cutoff = lowpass_cutoff_str ? atoi(lowpass_cutoff_str) : DEFAULT_LOWPASS_CUTOFF; 913 uint32_t lowpass_cutoff = lowpass_cutoff_str ? atoi(lowpass_cutoff_str) : DEFAULT_LOWPASS_CUTOFF;
914 914
915 gen->ym = malloc(sizeof(ym2612_context)); 915 gen->ym = malloc(sizeof(ym2612_context));
916 ym_init(gen->ym, render_sample_rate(), gen->master_clock, MCLKS_PER_YM, render_audio_buffer(), ym_opts, lowpass_cutoff); 916 ym_init(gen->ym, render_sample_rate(), gen->master_clock, MCLKS_PER_YM, render_audio_buffer(), system_opts, lowpass_cutoff);
917 917
918 gen->psg = malloc(sizeof(psg_context)); 918 gen->psg = malloc(sizeof(psg_context));
919 psg_init(gen->psg, render_sample_rate(), gen->master_clock, MCLKS_PER_PSG, render_audio_buffer(), lowpass_cutoff); 919 psg_init(gen->psg, render_sample_rate(), gen->master_clock, MCLKS_PER_PSG, render_audio_buffer(), lowpass_cutoff);
920 920
921 gen->z80 = calloc(1, sizeof(z80_context)); 921 gen->z80 = calloc(1, sizeof(z80_context));
966 init_m68k_opts(opts, rom->map, rom->map_chunks, MCLKS_PER_68K); 966 init_m68k_opts(opts, rom->map, rom->map_chunks, MCLKS_PER_68K);
967 //TODO: make this configurable 967 //TODO: make this configurable
968 opts->gen.flags |= M68K_OPT_BROKEN_READ_MODIFY; 968 opts->gen.flags |= M68K_OPT_BROKEN_READ_MODIFY;
969 gen->m68k = init_68k_context(opts, NULL); 969 gen->m68k = init_68k_context(opts, NULL);
970 gen->m68k->system = gen; 970 gen->m68k->system = gen;
971 opts->address_log = (system_opts & OPT_ADDRESS_LOG) ? fopen("address.log", "w") : NULL;
971 972
972 return gen; 973 return gen;
973 } 974 }
974 975
975 genesis_context *alloc_config_genesis(void *rom, uint32_t rom_size, void *lock_on, uint32_t lock_on_size, uint32_t ym_opts, uint8_t force_region, rom_info *info_out) 976 genesis_context *alloc_config_genesis(void *rom, uint32_t rom_size, void *lock_on, uint32_t lock_on_size, uint32_t ym_opts, uint8_t force_region, rom_info *info_out)