summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 @@
1Introduction
2============
3
4These are my port notes for Quake. This runs, of course, on our SDL
5port. See <https://www.rockbox.org/wiki/SdlPort> for more.
6
7Port Lineage
8============
9
10This port stems from SDLQuake
11(https://www.libsdl.org/projects/quake/), which was built on top of id
12Software's source release.
13
14How is <X> done?
15================
16
17Custom settings: This is implemented through a modification to
18Cmd_Exec_f and Key_Bind_f, in cmd.c and keys.c.
19
20Sound mixing: There is a handwritten assembly sound mixing routine in
21snd_mix_arm.S, using the ARMv5 DSP extensions for saturating
22addition. Disable that if you run into sound issues.
23
24File caching: There is an automatic caching layer in sys_sdl.c which
25loads files over 1 MB into memory. Quake only uses about 8 MB of heap
26when running, so there's plenty of space for this on some targets
27(e.g. ipods).
28
29Known bugs
30==========
31
32Setting the sample rate to 44.1 KHz leads to all sorts of weird
33crashes, which stem (probably) from the same underlying memory
34corruption issue. Only thing is, it seems to occur only on hardware so
35it's a huge pain to debug.
36
37Optimization targets
38====================
39
40D_DrawZSpans, D_DrawSpans8, and Turbulent8 (in d_scan.c) should be
41fairly straightforward to write in assembly and are big time
42hogs. Make them fast!