#endif
// FD05
extdet_neg = false;
- req_z80run = false;
- z80_run = false;
- // FD06,07
- intstat_syndet = false;
- intstat_rxrdy = false;
- intstat_txrdy = false;
- irqstat_timer = false;
- irqstat_printer = false;
- irqstat_keyboard = false;
+
// FD0B
// FD0D
// FD0F
opn_cmdreg[i] = 0;
opn_prescaler_type[i] = 1;
}
- intstat_whg = false;
- intstat_thg = false;
// FD17
- intstat_opn = false;
- intstat_mouse = false;
mouse_enable = false;
// FD18-FD1F
connect_fdc = false;
fdc_headreg = 0x00;
fdc_drvsel = 0x00;
fdc_motor = false;
- irqstat_fdc = false;
- irqreg_fdc = 0xff; //0b11111111;
- irqmask_syndet = true;
- irqmask_rxrdy = true;
- irqmask_txrdy = true;
- irqmask_mfd = true;
- irqmask_timer = true;
- irqmask_printer = true;
- irqmask_keyboard = true;
- irqstat_reg0 = 0xff;
-
-
- irqreq_syndet = false;
- irqreq_rxrdy = false;
- irqreq_txrdy = false;
- irqreq_printer = false;
- irqreq_keyboard = false;
-
// FD20, FD21, FD22, FD23
connect_kanjiroml1 = false;
#if defined(_FM77AV_VARIANTS)
irqmask_keyboard = true;
irqstat_reg0 = 0xff;
+ // FD06,07
intstat_syndet = false;
intstat_rxrdy = false;
intstat_txrdy = false;
#if defined(WITH_Z80)
if(z80 != NULL) call_write_signal(z80, SIG_CPU_BUSREQ, 0xffffffff, 0xffffffff);
#endif
+ irqreg_fdc = 0xff; //0b11111111;
+ irqstat_fdc = false;
call_write_signal(maincpu, SIG_CPU_BUSREQ, 0, 0xffffffff);
call_write_signal(maincpu, SIG_CPU_HALTREQ, 0, 0xffffffff);
+
+ intstat_whg = false;
+ intstat_thg = false;
+ // FD17
+ intstat_opn = false;
+ intstat_mouse = false;
+
do_irq();
//#if !defined(_FM8)
val_b = ((data & mask) != 0);
switch(id) {
- //case SIG_FM7_SUB_HALT:
- // mainmem->write_signal(SIG_FM7_SUB_HALT, data, mask);
- // break;
+ case SIG_FM7_SUB_HALT:
+ mainmem->write_signal(SIG_FM7_SUB_HALT, data, mask);
+ break;
case FM7_MAINIO_CLOCKMODE: // fd00
if(val_b) {
clock_fast = true;
mem_waitfactor = 0;
mem_waitcount = 0;
ioaccess_wait = false;
- //sub_halted = (display->read_signal(SIG_DISPLAY_HALT) == 0) ? false : true;
- sub_halted = false;
+ sub_halted = (display->read_signal(SIG_DISPLAY_HALT) == 0) ? false : true;
+ //sub_halted = false;
memset(fm7_mainmem_bootrom_vector, 0x00, 0x10); // Clear without vector
#if defined(_FM77AV_VARIANTS)