diff options
author | João Silva | 2017-08-13 06:02:24 +0100 |
---|---|---|
committer | João Silva | 2017-08-13 06:02:24 +0100 |
commit | fdaf2925f1353b07cd957ae47b0e6793648559be (patch) | |
tree | 64adbe13da0fe83d85097c5e4492b4b2634e3d95 /source/spc7110dec.h | |
parent | e18e3e55bbe96eb2e415ef0ba0ea743460ec0b7b (diff) | |
download | snes9x2005-fdaf2925f1353b07cd957ae47b0e6793648559be.tar.gz snes9x2005-fdaf2925f1353b07cd957ae47b0e6793648559be.tar.bz2 snes9x2005-fdaf2925f1353b07cd957ae47b0e6793648559be.zip |
Copied SPC7110 emulation from snes9x_3ds.
Diffstat (limited to 'source/spc7110dec.h')
-rw-r--r-- | source/spc7110dec.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/source/spc7110dec.h b/source/spc7110dec.h new file mode 100644 index 0000000..e03a855 --- /dev/null +++ b/source/spc7110dec.h @@ -0,0 +1,28 @@ +#include "../copyright" + +#ifndef _SPC7110DEC_H_ +#define _SPC7110DEC_H_ +#include "port.h" + +uint8_t spc7110dec_read(void); +void spc7110dec_clear(uint32_t mode, uint32_t offset, uint32_t index); +void spc7110dec_reset(void); + +void spc7110dec_init(void); +void spc7110dec_deinit(void); + +void spc7110dec_write(uint8_t data); +uint8_t spc7110dec_dataread(void); + +void spc7110dec_mode0(bool init); +void spc7110dec_mode1(bool init); +void spc7110dec_mode2(bool init); + +uint8_t spc7110dec_probability(uint32_t n); +uint8_t spc7110dec_next_lps(uint32_t n); +uint8_t spc7110dec_next_mps(uint32_t n); +bool spc7110dec_toggle_invert(uint32_t n); + +uint32_t spc7110dec_morton_2x8(uint32_t data); +uint32_t spc7110dec_morton_4x8(uint32_t data); +#endif |