12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #include <../base.hpp>
- #define DSP4_CPP
- #include "dsp4.hpp"
- namespace DSP4i {
- inline uint16 READ_WORD(uint8 *addr) {
- return (addr[0]) + (addr[1] << 8);
- }
- inline uint32 READ_DWORD(uint8 *addr) {
- return (addr[0]) + (addr[1] << 8) + (addr[2] << 16) + (addr[3] << 24);
- }
- inline void WRITE_WORD(uint8 *addr, uint16 data) {
- addr[0] = data;
- addr[1] = data >> 8;
- }
- #define bool8 uint8
- #include "dsp4emu.c"
- #undef bool8
- };
- void DSP4::init() {
- }
- void DSP4::enable() {
- }
- void DSP4::power() {
- reset();
- }
- void DSP4::reset() {
- DSP4i::InitDSP4();
- }
- uint8 DSP4::read(unsigned addr) {
- addr &= 0xffff;
- if(addr < 0xc000) {
- DSP4i::dsp4_address = addr;
- DSP4i::DSP4GetByte();
- return DSP4i::dsp4_byte;
- }
- return 0x80;
- }
- void DSP4::write(unsigned addr, uint8 data) {
- addr &= 0xffff;
- if(addr < 0xc000) {
- DSP4i::dsp4_address = addr;
- DSP4i::dsp4_byte = data;
- DSP4i::DSP4SetByte();
- }
- }
|