aboutsummaryrefslogtreecommitdiff
path: root/source/spc7110dec.h
diff options
context:
space:
mode:
authorJoão Silva2017-08-13 06:02:24 +0100
committerJoão Silva2017-08-13 06:02:24 +0100
commitfdaf2925f1353b07cd957ae47b0e6793648559be (patch)
tree64adbe13da0fe83d85097c5e4492b4b2634e3d95 /source/spc7110dec.h
parente18e3e55bbe96eb2e415ef0ba0ea743460ec0b7b (diff)
downloadsnes9x2005-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.h28
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