static READ8_HANDLER( parodius_sound_r ) { /* If the sound CPU is running, read the status, otherwise just make it pass the test */ if (Machine->sample_rate != 0) return K053260_0_r(2 + offset); else return offset ? 0x00 : 0x80; }
static unsigned int OD_Read(unsigned int address) { if (address == 0x201) { return YM2151ReadStatus(0); } if (address >= 0x400 && address <= 0x42f) { // if reading the command latch, lower IRQ if (address == 0x400) { cpu_set_irq_line(0, M6809_IRQ_LINE, CLEAR_LINE); } return K053260_0_r(address&0x3f); } if (address >= 0x600 && address <= 0x62f) { return K053260_1_r(address&0x3f); } if (address >= 0x800 && address <= 0xfff) { return workram[address-0x800]; } if (address >= 0x1000) { return prgrom[address]; } // printf("Unmapped read at %x\n", address); return 0; }
static READ16_HANDLER( asterix_sound_r ) { return K053260_0_r(2 + offset); }
static READ8_HANDLER( parodius_sound_r ) { return K053260_0_r(2 + offset); }
static READ8_HANDLER( rollerg_sound_r ) { /* If the sound CPU is running, read the status, otherwise just make it pass the test */ return K053260_0_r(2 + offset); }