#include #include #include namespace weee::core { dsp::dsp(mem &mem) { mem.register_read16_handler(0x0c005000, 0x0c0051ff, [&](ircolib::u32 addr) { return read16(addr); }); mem.register_write16_handler(0x0c005000, 0x0c0051ff, [&](ircolib::u32 addr, ircolib::u16 value) { return write16(addr, value); }); } ircolib::u16 dsp::read16(ircolib::u32 addr) { switch (addr) { case 0x0a: return csr.raw; default: ircolib::panic("dsp::read16 from unimplemented addr 0x{:08X}", addr); return 0; } } void dsp::write16(ircolib::u32 addr, ircolib::u16 value) { switch (addr) { case 0x0a: csr.raw = value; break; default: ircolib::panic("dsp::read16 from unimplemented addr 0x{:08X}", addr); } } } // namespace weee::core