1
0
Fork 0
forked from len0rd/rockbox

codec: sid: use cRSID as a library for playing SID files

Change-Id: Iee70933e47ff8df8f26c9a63112de4da4a8e6c17
This commit is contained in:
Wolfram Sang 2023-01-19 22:53:26 +01:00 committed by Solomon Peachy
parent 15c0f0576e
commit 70ce734ece
6 changed files with 77 additions and 1273 deletions

View file

@ -0,0 +1,19 @@
Some notes about cRSID usage in Rockbox
by Ninja (Wolfram Sang) in 2023
The cRSID codebase is from v1.0. The only change made was a separation of the
cRSID header into a public and private one, so it could be compiled as a
library. You can find it as a separate commit in the git repository. This
likely needs to be updated whenever a newer version of cRSID shall be used.
Currently, newer versions of cRSID are available but they have been discarded.
v1.1 mainly adds a high quality playback mode using 7x oversampling. This is
too much for a Sansa Clip. Because the old playback mode still exists, it might
be possible to add a runtime option to let the user choose. As a first step
however, it was decided to give the user a working codec without having to deal
with options. v1.2 mainly adds a SDL-based GUI player, no bigger changes in SID
emulation. Staying with v1.0 also keeps the codec size significantly lower
(~50KB for v1.0 vs ~90KB for v1.2 on the Sansa Clip).
cRSID Releases can be found here:
https://csdb.dk/search/?seinsel=releases&search=crsid

View file

@ -0,0 +1 @@
libcRSID.c

View file

@ -0,0 +1,16 @@
# __________ __ ___.
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
# \/ \/ \/ \/ \/
# cRSID
CRSID := $(CODECDIR)/cRSID.a
CRSID_SRC := $(call preprocess, $(RBCODECLIB_DIR)/codecs/cRSID/SOURCES)
CRSID_OBJ := $(call c2obj, $(CRSID_SRC))
OTHER_SRC += $(CRSID_SRC)
$(CRSID): $(CRSID_OBJ)
$(SILENT)$(shell rm -f $@)
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null