summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFranklin Wei <franklin@rockbox.org>2019-07-28 14:06:45 -0400
committerFranklin Wei <franklin@rockbox.org>2019-07-28 14:06:45 -0400
commit090bdedc62c7f35cbbe5cc5afb21836c3dc66101 (patch)
treeb21028745676d6793e80c4c78bb918aa1aac497f
parent711ddfdaad18cee054213bcba4428ac3c6014774 (diff)
downloadrockbox-090bded.tar.gz
rockbox-090bded.tar.bz2
rockbox-090bded.zip
quake: add README with some notes
Change-Id: I702e81f8715b505d4ed6d0eca861e3ddb680038d
-rw-r--r--apps/plugins/sdl/progs/quake/README.rockbox42
1 files changed, 42 insertions, 0 deletions
diff --git a/apps/plugins/sdl/progs/quake/README.rockbox b/apps/plugins/sdl/progs/quake/README.rockbox
new file mode 100644
index 0000000000..9e302f2898
--- /dev/null
+++ b/apps/plugins/sdl/progs/quake/README.rockbox
@@ -0,0 +1,42 @@
+Introduction
+============
+
+These are my port notes for Quake. This runs, of course, on our SDL
+port. See <https://www.rockbox.org/wiki/SdlPort> for more.
+
+Port Lineage
+============
+
+This port stems from SDLQuake
+(https://www.libsdl.org/projects/quake/), which was built on top of id
+Software's source release.
+
+How is <X> done?
+================
+
+Custom settings: This is implemented through a modification to
+Cmd_Exec_f and Key_Bind_f, in cmd.c and keys.c.
+
+Sound mixing: There is a handwritten assembly sound mixing routine in
+snd_mix_arm.S, using the ARMv5 DSP extensions for saturating
+addition. Disable that if you run into sound issues.
+
+File caching: There is an automatic caching layer in sys_sdl.c which
+loads files over 1 MB into memory. Quake only uses about 8 MB of heap
+when running, so there's plenty of space for this on some targets
+(e.g. ipods).
+
+Known bugs
+==========
+
+Setting the sample rate to 44.1 KHz leads to all sorts of weird
+crashes, which stem (probably) from the same underlying memory
+corruption issue. Only thing is, it seems to occur only on hardware so
+it's a huge pain to debug.
+
+Optimization targets
+====================
+
+D_DrawZSpans, D_DrawSpans8, and Turbulent8 (in d_scan.c) should be
+fairly straightforward to write in assembly and are big time
+hogs. Make them fast!