| Commit message (Collapse) | Author | Age |
| |
|
|
| |
Change-Id: I4285036e967d7f0722802d43cf2096c808ca5799
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Wanted to see how gnarly it is to do.
Big number handling could be done with better algorithms
since it can get a bit slow with large integers or tiny
fractions with many lead zeros when only a few digits are
needed.
Anyway, it supports %e, %E, %f, %F, %g and %G. No %a or long
double support seems warranted at the moment.
Assumes IEEE 754 double format but it's laid out to be able to
replace a function to handle others if needed.
Tested in a driver program that has a duplicate vuprintf and
the content was pasted in once it looked sound enough to put
up a patch.
Change-Id: I6dae8624d3208e644c88e36e6a17d8fc9144f988
|
| |
|
|
|
|
|
| |
Increments are cheap, but they aren't free. Hopefully this' will squeeze
out some fraction of a FPS.
Change-Id: If99408ed0ac4ad5f754778e0f48d467bd93cc2e0
|
| |
|
|
|
|
|
| |
We never use any of these other drivers, so having them around just takes
up space.
Change-Id: Iced812162df1fef3fd55522b7e700acb6c3bcd41
|
| |
|
|
|
|
|
|
|
| |
Using the coprocessor was a good idea in theory, but didn't actually work.
This moves all SDL threads to the main core, which isn't ideal, but at
least works. Additionally, this also adds some good-practice stuff such as
setting the default sample rate on exit.
Change-Id: If1636b33d439000ec7c4e50f46e8d002708d3121
|
| |
|
|
|
|
|
| |
It was absolutely horrendous before; this should make it easier to work
with going forward. No functional changes (hopefully).
Change-Id: I2dff2d5b2e88725dc586cd968a29052ee4947bb1
|
| |
|
|
| |
Change-Id: I44f7fd383bd1aa7c9bfc114977acfc2e0f1dd0c8
|
| |
|
|
|
|
|
|
| |
Mostly debugging output to the FPS line. Also changes tools/configure to
always cross-compile a 32-bit simulator to support duke's horrendous
pointer casting. Please don't push this.
Change-Id: I3df6c633b5af017f33055dc4f9257738aaf66cfb
|
| |
|
|
|
|
|
|
|
|
| |
This is a very early attempt at getting greylib to work in SDL. The driver
gives SDL a virtual 24-bit color framebuffer, which it then averages to
grayscale in the update step. This works in the simulator, but has not been
tested on real hardware yet. I think only the fastest greylib targets will
be able to even run duke.
Change-Id: Id9b82fe6273627aae3667d534755804f9112f798
|
| |
|
|
|
|
|
|
| |
This prevents a (highly improbable) race condition when exiting, and uses
pcm_set_frequency() instead of mixer_set_frequency(), since that seems like
the Right Thing to Do (TM).
Change-Id: Icb6a4597843215f08b3835490ac63f67c9a04736
|
| |
|
|
|
|
| |
Recent optimizations to sound mixing should allow this, up from 16KHz.
Change-Id: I0ba5742c934118a3a6505b8dc58578b0cfe8ea77
|
| |
|
|
|
|
|
| |
This plugin plays a rough sine wave and is mostly useful for debugging
crashes associated with SDL. Probably not worth merging.
Change-Id: I58ea675f6f996c15bff11fd35445456e41f9fd60
|
| |
|
|
|
|
|
|
|
| |
Rather than holding intermediate results as fixed-point, this converts them
directly to normal integers (in the range of the PCM sample) while mixing,
instead of waiting till the end to perform a separate shifting step. Also,
this precalculates some constants in the reverb code.
Change-Id: Ie04e444d145bc28ce67eef9ae0ead6d328acf28a
|
| |
|
|
|
|
|
|
| |
This is a prerequisite for duke3d running on monochrome targets. It should
probably be made more fine-grained before it is merged, since I'm pretty
sure there were good reasons to limit it as before.
Change-Id: Ic4c90bd4e7071f82973bb4704b3d4dfb9ad15311
|
| |
|
|
|
|
| |
This was leading to a crash upon audio playback after running the game.
Change-Id: I1e9961da443c21e3eff38bcf9877ffa75a922715
|
| |
|
|
| |
Change-Id: Ib7ba606a66b76db14bd2a998eb485ed368db9d6e
|
| |
|
|
|
|
| |
Gives significant performance improvement on ipod6g.
Change-Id: I1e8462bec197acb10e770c796240b5001df52440
|
| |
|
|
| |
Change-Id: Idd9fad7bc0604a553c282a0f8c663ad44030ecac
|
| |
|
|
|
|
|
|
| |
This reverts commit 01c6dcf6c7b9bb1ad2fa0450f99bacc5f3d3e04b.
The hack isn't used in duke, so having it is redundant.
Change-Id: Ieb36d75718e0c2d1305440d08021744625117886
|
| |
|
|
| |
Change-Id: Id27ea4e124b41e819de9218488564a036a01efe2
|
| |
|
|
| |
Change-Id: I1a66bf5184c9e1f53212f97b097a542f794f2721
|
| |
|
|
| |
Change-Id: I484d6de2d5d4a495ed54e8ee2a80459785b5f5e8
|
| |
|
|
| |
Change-Id: I6290cc6cca468c197656236d3dd31c3f72c53842
|
| |
|
|
| |
Change-Id: Icc67dc777d3a2269ececbf4fbe34d78d7bd34087
|
| |
|
|
| |
Change-Id: If4af3e3cc16a947127e6253d0b81b684b5abb0c9
|
| |
|
|
| |
Change-Id: Ib28cfd9037901c7b8bc9b2960ad2c1c9a1e25a69
|
| |
|
|
| |
Change-Id: I20f1bd6f0208f6108d68fb59206b09dd9da4f1af
|
| |
|
|
|
|
|
| |
This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL
for Rockbox.
Change-Id: I8f2c4c78af19de10c1633ed7bb7a997b43256dd9
|
| |
|
|
|
|
|
| |
This is just a quick and dirty way to get %f formatting to work for
some games. It works.
Change-Id: I75585e0c6a0f9d6db41a87b71ca405b067d8b85d
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is attempt to simplify porting programs to rockbox (as plugins).
Currently this compat layer implements:
fopen(), fclose(), fflush(), fread(), fwrite(), fseek(), fseeko(),
ftell(), ftello(), fgetc(), ungetc(), fputc(), fgets(), clearerr(),
ferror(), feof(), fprintf()
In order to use it you need to include in ported sources
"lib/stdio_compat.h"
Change-Id: I5add615dd19c5af9c767ccbfb1bd5a4e466741cb
|
| |
|
|
|
|
| |
Must now be h->size, not sizeof (type).
Change-Id: Ia0b1b552a486ddbc28b80542cfa76bed9e7cfdb3
|
| |
|
|
|
|
|
| |
I removed the mechanism to fall through to internally mapped contexts
after plugin contexts were exhausted
Change-Id: Id287248184fd67cb2a2242475296247ac86af807
|
| |
|
|
| |
Change-Id: I0e5a20e042291180391b0b0059e44705c256d3e5
|
| |
|
|
|
|
| |
They aren't used by anything. Must bump min API version.
Change-Id: I9851ab255fc779fff13cb778517f554e5dd20e28
|
| |
|
|
|
|
|
|
|
|
|
| |
Playback checked the files' presence before attempting to buffer
the track. Just get rid of that and save an extra open/close call.
It will find out if the path is bad when the metadata fails.
Fix some size_t/off_t conflation. No need to update plugin version
because no plugin actually uses bufopen().
Change-Id: I3db112449dc0b2eeb91c546f308880ac82494fc7
|
| |
|
|
| |
Change-Id: Ie3b3fad702e8c03d33b4a264139b6de74736e058
|
| |
|
|
|
|
| |
Some of the previous mappings didn't make much sense.
Change-Id: If373e7d5f28b572523856763c999eb7c5180aced
|
| |
|
|
|
|
|
|
|
| |
It must be set to something else valid (unless it's the only one
left) when closing it, IN ALL CASES, not just if it's first or last.
Don't know what was in my head. Hopefully takes care of a reported
issue. Even if it's not causing any issues, it was still incorrect.
Change-Id: I594af8b35d774ec222dadce80dfa8b95138f037e
|
| |
|
|
|
|
|
| |
Purpose: A step in removing all voice references from playback code
and prelude to other changes.
Change-Id: Ic3ad7f7a33b979693e18a3456ced37eb1d2281a4
|
| |
|
|
|
|
|
|
| |
Do as with fdprintf and avoid filesystem calls for every single
byte. If it overreads, just put the excess back with lseek, which
does no I/O itself.
Change-Id: Ifd5d21b5dca7183346e44d365d3f7d45e8cc6438
|
| |
|
|
|
|
|
|
| |
Paths are stored after the structure at their actual length plus
any aligment padding. In principle, any type of auxilliary data
could go there.
Change-Id: Ic5487dc4089781b5cc52414d1691ba6d9dc1893c
|
| |
|
|
|
|
|
|
|
|
|
| |
The location of the handle cannot be kept across calls to
shrink_handle() since it may move the structure. The error was
there in one place at the inception, corrected, then reintroduced.
Make shrink_handle() return the new location and use it, which
makes the side effects of the function clearer.
Change-Id: Icae6a0ad6f7bb0d6645b044cccfa4aef88db42ad
|
| |
|
|
|
|
|
|
| |
There's no need for it any longer since the list is now doubly-
linked. As a bonus, stack limits pose no barrier to the length of
the list.
Change-Id: I41c567f946b640ef1e3c2d93da2f5aef9a763c66
|
| |
|
|
| |
Change-Id: I4c63efc6570368df76b6c4bbfb5b673dd081145b
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Does away the statically-allocated track list which frees quite
a fair amount of in-RAM size.
There's no compile-time hard track limit.
Recommended TODO (but not right away): Have data small enough use
the handle structure as its buffer data area. Almost the entire
handle structure is unused for simple allocations without any
associated filesystem path.
Change-Id: I74a4561e5a837e049811ac421722ec00dadc0d50
|
| |
|
|
| |
Change-Id: I47c5ae09ff620b46e42463654e1a073b59fb2191
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Just use long so the compiler potentially doesn't complain about
use of other values not in the enum. It's also the type used
around the system for event ids.
Increase min codec API version.
No functional changes.
Change-Id: If4419b42912f5e4ef673adcdeb69313e503f94cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If in the middle of a manual skip, playback would try to seek, and
therefore start, the codec before the audio handle was available.
This wasn't really a problem since the codec would just bail out
and be retried later. But, it is a problem for a change I was working
on with seeking where the codec could get caught in a full-speed
loop trying to seek itself (stoppable, not lockup).
The main side effect of this change that you may notice, if using an
HDD with dircache turned on and the disk is not spinning, is that you
can keep holding down prev/next if dir skipping and the WPS will
start FF/RW mode. By the time the new track shows up, you will have
seeked into it some amount.
Well, the PBE is getting the info ASAP anyway and as far as it's
concerned, the next track is under way. On that end of things, it's
correct. Perhaps WPS should lock out its own seek mode at certain
times.
Change-Id: Ifc7409a886df399cec189d1bae2adba3872e857a
|
| |
|
|
| |
Change-Id: Ie6d571ef217246e22b465ef39097ad9d9d1a6436
|
| |
|
|
|
|
|
|
| |
Avoids a call to write() for every output character. It doesn't
need to be very large to have a great effect on speed and realize
most of the potential.
Change-Id: I11820c1968ed7b20aa00e106a022c1b864b03d21
|