summaryrefslogtreecommitdiffstats
path: root/lib/rbcodec/codecs/cRSID/README.txt
diff options
context:
space:
mode:
authorWolfram Sang <wsa@the-dreams.de>2022-03-04 18:37:30 +0100
committerSolomon Peachy <pizza@shaftnet.org>2023-02-07 09:19:32 -0500
commite8135fea5a10dba25fefe991bf6bc36f351e2919 (patch)
treea17571dc0c1bc25a824f639be88d461245d62e89 /lib/rbcodec/codecs/cRSID/README.txt
parent1c26f565bf0ae50495dc8d2139f76bd367728cd6 (diff)
downloadrockbox-e8135fea5a.tar.gz
rockbox-e8135fea5a.zip
codec: sid: add cRSID-1.0 for 21st century SID playback
Plain import of the library parts first. Adaptions to Rockbox will follow. A *lot* of kudos go to Mihaly Horvath for creating this library from his already lightweight cSID-light, mainly for Rockbox. Besides a lot of other things, he made his algorithms integer-only and significantly improved the C64 emulation, so finally RSIDs could be played as well as PSIDs. TinySID was nice for what it is, but this is a quantum leap in SID playback quality for Rockbox. Check for example: https://hvsc.csdb.dk/MUSICIANS/P/Page_Jason/Eighth.sid https://hvsc.csdb.dk/MUSICIANS/J/Jeff/Blowing.sid Change-Id: I353e12fbfd7cd8696b834616e55743e7b844a73e
Diffstat (limited to 'lib/rbcodec/codecs/cRSID/README.txt')
-rw-r--r--lib/rbcodec/codecs/cRSID/README.txt39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/cRSID/README.txt b/lib/rbcodec/codecs/cRSID/README.txt
new file mode 100644
index 0000000000..3a806b65ed
--- /dev/null
+++ b/lib/rbcodec/codecs/cRSID/README.txt
@@ -0,0 +1,39 @@
+ cRSID by Hermit (Mihaly Horvath) - Year 2022
+ --------------------------------------------
+
+This is a serious integer-only update (rewrite) to my cSID and cSID-light
+commandline SID-players, aiming for an ongoing inclusion into RockBox,
+as per a request by Ninja earlier at CSDb. He will do the integration.
+
+The name now contains the 'R' because now a RealSID-like environment-mode
+(CIA, VIC, IRQ, NMI) is supported more-or-less ('RealSIDmode' in source).
+There are still many RSID tunes that are not played properly, mainly
+the tricky ones which use DC04 or DD0C as jump-addresses or RTI placeholders,
+like for example 'Hi Fi Sky', and other modern digi tunes.
+I don't feel like debugging these complex tunes now...
+PSID-only playback has improved a lot since cSID-light-1.1,
+and now many PlaySID-digis are supported as well if that still matters.
+
+The CPU and ADSR went through serious timing improvements,
+it's now can be called cycle-exact, and hardrestarts and delaybugs are now
+simulated well, no missed notes, whatever.
+
+This release also contains shared and static library forms for better
+inclusion in other SID-playback projects (like FlexSID for example).
+I completely eliminated global variables and definitions, except a
+'cRSID_c64' instance which is for faster access of struct members.
+(Emulated C64 memory accesses are made to this for faster operation.)
+
+More info (the API for the library) is seen in the 'libcRSID.h' file.
+
+It has been tried already on a SanDisk RockBox device and tunes not
+containing digis are already played on it fine. Tunes with 2SID/3SID or
+digis however are too much for the player (38MHz..192MHz ARM) at this form.
+So maybe the code will be optimized by eliminating overheads of structs,
+pointers, optimizing function-calls, inlining, and by other possible means.
+
+Hopefully in the near future the outdated TinySID engine will be replaced
+in the RockBox source-tree...
+
+License is still WTF: Do what the fuck you want with this code, but
+ it would be nice mentioning me as the original author.