halt_flag = true;
}
#else
- this->reset();
- //subcpu->reset();
+ //this->reset();
+ subcpu->reset();
#endif
}
vram_wrote = true;
power_on_reset = false;
subrom_bank_using = subrom_bank;
- //subcpu->reset();
- this->reset();
+ subcpu->reset();
+ //this->reset();
subcpu_resetreq = false;
//restart_subsystem();
} else {
reset_vramaccess();
break;
case 0x0a:
- if(clr_count <= 0) {
- set_subbusy();
- } else { // Read once when using clr_foo() to set busy flag.
- double usec = (1000.0 * 1000.0) / 999000.0;
- if(mainio->read_data8(FM7_MAINIO_CLOCKMODE) != FM7_MAINCLOCK_SLOW) usec = (1000.0 * 1000.0) / 2000000.0;
- if(!is_cyclesteal) usec = usec * 3.0;
- usec = (double)clr_count * usec;
- register_event(this, EVENT_FM7SUB_CLR, usec, false, NULL); // NEXT CYCLE_
- reset_subbusy();
- clr_count = 0;
- }
+ //if(clr_count <= 0) {
+ set_subbusy();
+ //} else { // Read once when using clr_foo() to set busy flag.
+ //double usec = (1000.0 * 1000.0) / 999000.0;
+ //if(mainio->read_data8(FM7_MAINIO_CLOCKMODE) != FM7_MAINCLOCK_SLOW) usec = (1000.0 * 1000.0) / 2000000.0;
+ //if(!is_cyclesteal) usec = usec * 3.0;
+ //usec = (double)clr_count * usec;
+ //register_event(this, EVENT_FM7SUB_CLR, usec, false, NULL); // NEXT CYCLE_
+ //reset_subbusy();
+ //clr_count = 0;
+ //}
break;
case 0x0d:
keyboard->write_signal(SIG_FM7KEY_SET_INSLED, 0x00, 0x01);
sub_halted = false;
first_pass = true;
flag_debug = false;
-#if defined(_FM77AV_VARIANTS)
+#if defined(_FM77AV_VARIANTS)
+ memset(fm7_bootram, 0x00, 0x1e0);
if((config.boot_mode & 3) == 0) {
- memcpy(fm7_bootram, &fm7_mainmem_initrom[0x1800], 0x200 * sizeof(uint8));
+ memcpy(fm7_bootram, &fm7_mainmem_initrom[0x1800], 0x1e0 * sizeof(uint8));
} else {
- memcpy(fm7_bootram, &fm7_mainmem_initrom[0x1a00], 0x200 * sizeof(uint8));
+ memcpy(fm7_bootram, &fm7_mainmem_initrom[0x1a00], 0x1e0 * sizeof(uint8));
}
fm7_bootram[0x1fe] = 0xfe; // Set reset vector.
fm7_bootram[0x1ff] = 0x00; //
if(diag_load_initrom) diag_load_bootrom_bas = true;
if(diag_load_initrom) diag_load_bootrom_dos = true;
if((config.boot_mode & 0x03) == 0) {
- memcpy(fm7_bootram, &fm7_mainmem_initrom[0x1800], 0x200 * sizeof(uint8));
+ memcpy(fm7_bootram, &fm7_mainmem_initrom[0x1800], 0x1e0 * sizeof(uint8));
} else {
- memcpy(fm7_bootram, &fm7_mainmem_initrom[0x1a00], 0x200 * sizeof(uint8));
+ memcpy(fm7_bootram, &fm7_mainmem_initrom[0x1a00], 0x1e0 * sizeof(uint8));
}
fm7_bootram[0x1fe] = 0xfe; // Set reset vector.
fm7_bootram[0x1ff] = 0x00; //