summaryrefslogtreecommitdiff
path: root/spuencoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'spuencoder.c')
-rw-r--r--spuencoder.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/spuencoder.c b/spuencoder.c
index 965683a..d61b462 100644
--- a/spuencoder.c
+++ b/spuencoder.c
@@ -65,3 +65,18 @@ void cSpuEncoder::clearOsd()
cDxr3Interface::instance()->WriteSpu((uchar *)&d, 10);
}
+
+void cSpuEncoder::writeNibble(uint8_t val) {
+
+ // look if we have an overflow
+ if (written == MAX_SPU_DATA) {
+ throw "overflow";
+ }
+
+ if (ncnt++ & 1) {
+ *p++ = nholder | ((val) & 0x0f);
+ written++;
+ } else {
+ nholder = (val << 4);
+ }
+}