diff options
author | Wolfram Sang <wsa@the-dreams.de> | 2022-03-04 18:37:30 +0100 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2023-02-07 09:19:32 -0500 |
commit | e8135fea5a10dba25fefe991bf6bc36f351e2919 (patch) | |
tree | a17571dc0c1bc25a824f639be88d461245d62e89 /lib/rbcodec/codecs/cRSID/README.txt | |
parent | 1c26f565bf0ae50495dc8d2139f76bd367728cd6 (diff) | |
download | rockbox-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.txt | 39 |
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. |