- mmr_segment = 0;
- window_offset = 0;
- mmr_enabled = false;
- mmr_fast = false;
- window_enabled = false;
-#endif
-#ifdef _FM77AV_VARIANTS
- extcard_bank = 0;
- extrom_bank = 0;
- initiator_enabled = true;
- boot_ram_write = true;
-#endif
- bootmode = config.boot_mode & 3;
- basicrom_fd0f = false;
- is_basicrom = ((bootmode & 0x03) == 0) ? true : false;
-
- // $0000-$7FFF
- i = FM7_MAINMEM_OMOTE;
- memset(fm7_mainmem_omote, 0x00, 0x8000 * sizeof(uint8));
- read_table[i].memory = fm7_mainmem_omote;
- write_table[i].memory = fm7_mainmem_omote;
-
- // $8000-$FBFF
- i = FM7_MAINMEM_URA;
- memset(fm7_mainmem_ura, 0x00, 0x7c00 * sizeof(uint8));
- read_table[i].memory = fm7_mainmem_ura;
- write_table[i].memory = fm7_mainmem_ura;
-
- i = FM7_MAINMEM_VECTOR;
- memset(fm7_mainmem_bootrom_vector, 0x00, 0x1e);
- read_table[i].memory = fm7_mainmem_bootrom_vector;
- write_table[i].memory = fm7_mainmem_bootrom_vector;
-
-#if defined(CAPABLE_DICTROM)
- diag_load_dictrom = false;
- i = FM7_MAINMEM_DICTROM;
- memset(fm7_mainmem_extrarom, 0xff, 0x40000 * sizeof(uint8));
- read_table[i].memory = fm7_mainmem_dictrom;
- write_table[i].memory = NULL;
- if(read_bios("DICROM.ROM", fm7_mainmem_dictrom, 0x40000) == 0x40000) diag_load_dictrom = true;
- emu->out_debug_log("DICTIONARY ROM READING : %s", diag_load_dictrom ? "OK" : "NG");
- dictrom_connected = diag_load_dictrom;
-
- i = FM7_MAINMEM_BACKUPED_RAM;
- diag_load_learndata = false;
- memset(fm7_mainmem_learndata, 0x00, 0x2000 * sizeof(uint8));
- read_table[i].memory = fm7_mainmem_learndata;
- write_table[i].memory = fm7_mainmem_learndata;
- if(read_bios("USERDIC.DAT", read_table[i].memory, 0x2000) == 0x2000) diag_load_learndata = true;
- emu->out_debug_log("DICTIONARY ROM READING : %s", diag_load_learndata ? "OK" : "NG");
- if(!diag_load_learndata) write_bios("USERDIC.DAT", fm7_mainmem_learndata, 0x2000);
-#endif
-
-#if defined(_FM77AV40) || defined(_FM77AV40SX) || defined(_FM77AV40EX) || \
- defined(_FM77AV20) || defined(_FM77AV20SX) || defined(_FM77AV20EX)
- i = FM7_MAINMEM_77AV40_EXTRAROM;
- diag_load_extrarom = false;
- memset(fm7_mainmem_extrarom, 0xff, 0x20000 * sizeof(uint8));
- read_table[i].memory = fm7_mainmem_extrarom;
- write_table[i].memory = NULL;
- if(read_bios("EXTSUB.ROM", read_table[i].memory, 0xc000) >= 0xc000) diag_load_extrarom = true;
- emu->out_debug_log("AV40 EXTRA ROM READING : %s", diag_load_extrarom ? "OK" : "NG");
-#endif
-
-#if defined(_FM77AV40) || defined(_FM77AV40SX) || defined(_FM77AV40EX) || \
- defined(_FM77AV20) || defined(_FM77AV20SX) || defined(_FM77AV20EX) || \
- defined(_FM77_VARIANTS)
- extram_pages = FM77_EXRAM_BANKS;
-#if defined(_FM77_VARIANTS)
- if(extram_pages > 3) extram_pages = 3;
-#else
- if(extram_pages > 12) extram_pages = 12;
-#endif
- if(extram_pages > 0) {
- i = FM7_MAINMEM_EXTRAM;
- fm7_mainmem_extram = (uint8 *)malloc(extram_pages * 0x10000);
- if(fm7_mainmem_extram != NULL) {
- memset(fm7_mainmem_extram, 0x00, extram_pages * 0x10000);
- read_table[i].memory = fm7_mainmem_extram;
- write_table[i].memory = fm7_mainmem_extram;
- }
- }
-#endif
-
-#if defined(_FM77_VARIANTS)
- memset(fm77_shadowram, 0x00, 0x200);
- read_table[FM7_MAINMEM_SHADOWRAM].memory = fm77_shadowram;
- write_table[FM7_MAINMEM_SHADOWRAM].memory = fm77_shadowram;
-#endif
-#if !defined(_FM77AV_VARIANTS)
- for(i = FM7_MAINMEM_BOOTROM_BAS; i <= FM7_MAINMEM_BOOTROM_EXTRA; i++) {
- memset(fm7_bootroms[i - FM7_MAINMEM_BOOTROM_BAS], 0xff, 0x200);
- read_table[i].memory = fm7_bootroms[i - FM7_MAINMEM_BOOTROM_BAS];
- write_table[i].memory = NULL;
- }
-#endif
-#if defined(_FM8)
- if(read_bios("BOOT_BAS8.ROM", fm7_bootroms[0], 0x200) >= 0x1e0) {
- diag_load_bootrom_bas = true;
- } else {
- diag_load_bootrom_bas = false;
- }
- if(read_bios("BOOT_DOS8.ROM", fm7_bootroms[1], 0x200) >= 0x1e0) {
- diag_load_bootrom_dos = true;
- } else {
- diag_load_bootrom_dos = false;
- }
- diag_load_bootrom_mmr = false;
-# elif defined(_FM7) || defined(_FMNEW7) || defined(_FM77_VARIANTS)
- if(read_bios("BOOT_BAS.ROM", fm7_bootroms[0], 0x200) >= 0x1e0) {
- diag_load_bootrom_bas = true;
- } else {
- diag_load_bootrom_bas = false;
- }
- if(read_bios("BOOT_DOS.ROM", fm7_bootroms[1], 0x200) >= 0x1e0) {
- diag_load_bootrom_dos = true;
- } else {
- diag_load_bootrom_dos = false;
- }
-# if defined(_FM77_VARIANTS)
- if(read_bios("BOOT_MMR.ROM", fm7_bootroms[2], 0x200) >= 0x1e0) {
- diag_load_bootrom_mmr = true;
- } else {
- diag_load_bootrom_mmr = false;