+ if ((a&0xff6000)==0xa04000) { if(PicoOpt&1) emustatus|=ym2612_write_local(a&3, d&0xff, 0)&1; return; } // FM Sound
+ if ((a&0xff4000)==0xa00000) { // Z80 ram (MSB only)
+ if (!(Pico.m.z80Run&1) && !Pico.m.z80_reset) Pico.zram[a&0x1fff]=(u8)(d>>8);
+ else elprintf(EL_ANOMALY, "68k z80 write with no bus or reset! [%06x] %04x @ %06x", a, d&0xffff, SekPc);
+ return;
+ }
+ if (a==0xa11200) {
+ elprintf(EL_BUSREQ, "write z80reset: %04x", d);
+ if (!(d&0x100)) { Pico.m.z80_reset = 1; Pico.m.z80Run = 0; YM2612ResetChip(); }
+ else if (Pico.m.z80_reset) {
+ Pico.m.z80_reset = 0;
+ YM2612ResetChip();
+ z80_reset();
+ timers_reset();
+ }
+ return;
+ }