Commit graph

109 commits

Author SHA1 Message Date
Tomasz Moń
60e2cd6de9 DM320: Regorganize LCD and TTB memory layout
Do not introduce any change for M:Robe 500 as it uses the two LCD frames
in non-obvious way.

Sansa Connect and Creative ZVM use only single front framebuffer.
Place TTB at DRAM end to minimize memory loss due to alignment.
Reserve as little as possible memory for the LCD frames.
On Sansa Connect this change extends audio buffer by 858 KiB.

Change-Id: I21bdeec4cfba86d71803a39acd651a87e73767e6
2021-07-09 09:24:38 +00:00
Aidan MacDonald
20fc928221 x1000: Centralize common definitions, memory layout
Change-Id: I8daad058ae55d4b750b1ae407153e4917de5d095
2021-04-28 20:04:10 +01:00
Aidan MacDonald
d5695822a7 MIPS: remove .MIPS.abiflags section
The abiflags data is only used to communicate ABI information to a
program loader -- you can see what info is stored with readelf -A.
Dropping it shaves 24 bytes off of every binary (including plugins).

Change-Id: Iae78eeffe5c840ff67717707fb94821d24aac8ec
2021-04-26 12:41:06 +00:00
Solomon Peachy
3ba2f6e5c7 Nuke all TCC77x targets: iAudio 7, Sansa C100, M200(v1-3), Logik DAX
They were never finished, never saw any release ever, and haven't
compiled for the better part of a decade.  Given their HW capabilities [1],
they are not worth trying to fix.

[1] 1-2MB RAM, ~256MB onboard flash, no expandability

Change-Id: I7b2a5806d687114c22156bb0458d4a10a9734190
2021-04-26 07:41:51 -04:00
Aidan MacDonald
3ec66893e3 New port: FiiO M3K on bare metal
Change-Id: I7517e7d5459e129dcfc9465c6fbd708619888fbe
2021-03-28 00:01:37 +00:00
Solomon Peachy
092c340a20 [1/4] Remove SH support and all archos targets
This removes all code specific to SH targets

Change-Id: I7980523785d2596e65c06430f4638eec74a06061
2020-07-24 21:20:13 +00:00
Cástor Muñoz
7442742208 iPod Classic: disable IRAM1
On Classic, IRAM1 (second 128Kb of a total of 256KB available IRAM) is
slower than DRAM. Codecs that actually are using regions of IRAM1 runs
faster when DRAM is used, so IRAM1 is disabled and only IRAM0 remains
enabled: 48KB for core and 80KB for codecs/plugins.

The next test_codec results shows how decode time is decreased:

file           boosted     unboosted
*.ra           ~1.5%       ~0.5%
*.mpc          ~21%        ~4.5%
*.ogg          ~0.5%       ~0%
nero_he*.m4a   ~8%         ~1%
nero*.m4a      ~25%        ~7%
wmapro*.wma    ~4.5%       ~0%
wma*.wma       ~25%        ~7%

In addition there is a small power save when IRAM1 HW is disabled.

Change-Id: I102adee11458e82037f23076d5d5956e23235de8
2018-07-30 18:50:27 -04:00
Solomon Peachy
0662793ca0 Add cleaned-up xDuoo X3 support
Cleaned up, rebased, and forward-ported from the xvortex fork.

(original credit to vsoftster@gmail.com)

Change-Id: Ibcc023a0271ea81e901450a88317708c2683236d
Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
2018-07-28 10:56:31 -04:00
Michael Sevakis
1329cc29de Fix .ncbss from possibly overlapping .ncdata in plugins/codecs.
(Take #2)

If .bss wasn't large enough, and .ncdata was empty, .ncbss would be
at an address overlapping the alignment-padded end of .ncdata and
and linking would fail with an overlap error.

Adds plugin load end address that accounts for IRAM going past
the final .bss sections, making IRAM overlay compatible. load_code
could also use this instead of the file size.

The .lds becomes a bit more straightforward and explicit when
assigning addresses.

Change-Id: Id0c33f257710e97ece2c831e0feaaa32c1a14e05
2013-07-11 04:32:23 -04:00
Michael Sevakis
2948cb42ae Revert "Fix .ncbss from possibly overlapping .ncdata in plugins/codecs."
This reverts commit 5c2ad2fd36.

The .ncbss bug is still showing up. Will try again shortly.
2013-07-11 00:28:39 -04:00
Michael Sevakis
5c2ad2fd36 Fix .ncbss from possibly overlapping .ncdata in plugins/codecs.
If .bss wasn't large enough, and .ncdata was empty, .ncbss would be
at an address overlapping the alignment-padded end of .ncdata and
and linking would fail with an overlap error.

There also should no longer be an issue that needs special correction
with iramcopy and empty .bss. The .maps look good in that case.

Change-Id: I02bf73a0acef2c0c04b5d135ecf4e18fb97ee339
2013-07-10 22:37:17 -04:00
Michael Sevakis
4928810354 M5/X5 (MCF5250): Scoot the core/plugin IRAM boundary forward by 0x800.
Change-Id: I482fe3f4f2f59a3f17026e796c245c4efa8279f3
2012-04-29 14:35:53 -04:00
Tomasz Moń
e8a8a1be43 Sandisk Sansa Connect port (FS #12363)
Included are drivers for buttons, backlight, lcd, audio and storage.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31000 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 14:08:01 +00:00
Amaury Pouly
7e8877e871 imx233/fuze+: enable plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30700 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 20:33:14 +00:00
Amaury Pouly
4157c23c6f imx233/fuze+: don't use iram in plugins and in codecs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30641 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 15:39:30 +00:00
Marcin Bukat
6d5671a8d8 rk27xx - enable a few test plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30459 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 12:39:49 +00:00
Michael Sparmann
152847977a New port: iPod Classic (also known as iPod 6G/6.5G/7G)
Major known issues:
- No bootloader yet
- No support for the first-generation 160GB CE-ATA hard disk drive yet
- Audio playback is slow, only FLAC seems to reach realtime


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28953 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 23:16:27 +00:00
Teruaki Kawashima
e5b1a7d423 FS#6321: Universal Image Viewer
This unifies jpeg viewer, png viewer, and bmp viewer to one plugin, image viewer, so that you can navigate through different image formats.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28626 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 13:47:56 +00:00
Andree Buschmann
57a683fc7d Reconfigure IRAM for S5L870x. S5L8700 has 256 KB of IRAM, use a 48 KB / 208 KB split for core/codec. S5L8701 has 176 KB of IRAM, use a 48 KB / 128 KB split for core/codec. This will allow further speed optimization of codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28463 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 22:56:31 +00:00
Thomas Martitz
194174a371 2nd try: Introduce a small api for loading code (codecs,plugins) from disk/memory.
It's a used by codec/plugin loading and vastly reduces code duplication. It's also a step forward in getting rid of libuisimulator in the application ports.

Apparently sh needs linker symbols prefixed with _ even if they're referenced without from C code.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27902 a1c6a512-1295-4272-9138-f99709370657
2010-08-27 00:29:50 +00:00
Rob Purchase
a6c1b54d46 Enable IRAM on TCC7801 (Cowon D2) for a 6-12% speedup in codecs that use it, and a small increase in battery life.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26436 a1c6a512-1295-4272-9138-f99709370657
2010-05-31 21:00:25 +00:00
Karl Kurbjun
b2f1e53608 Fix M:Robe Plugins and Codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26279 a1c6a512-1295-4272-9138-f99709370657
2010-05-25 05:17:08 +00:00
Michael Sevakis
a420561bf8 Gigabeat S: Reclaim about 800K of memory that was laying unused. Get rid of DEVBSS_ATTR for this target and implement as NOCACHEBSS_ATTR. Plugin and codec buffers move so all that is now incompatible (do full update). No version increase for plugins/codecs because the loader will reject them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25895 a1c6a512-1295-4272-9138-f99709370657
2010-05-08 07:45:34 +00:00
Jens Arnold
4f551a00df FS #11153 by Marcin Bukat: Make memory layout for plugins and codecs only depend on SoC for coldfire as well, in preparation for the MPIO HD200 port.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25598 a1c6a512-1295-4272-9138-f99709370657
2010-04-11 20:53:18 +00:00
Thomas Martitz
02afc271c9 as3525v2: Move codec into iram freeing 1MB for the audio buffer and also a small decoding speedup (iram seems to be 50% faster than dram when boosted and the same when unboosed). 32k is still reserved for the core and can be readjusted if needed. Codecs don't appear to ever need the 1MB (usually <350k only).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25491 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 19:18:15 +00:00
Andree Buschmann
260c0184de Set IRAM split to 48KB / 80KB (apps / plugins) for M5 and X5. This way codecs can be optimized further.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25057 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 20:22:49 +00:00
Rafaël Carré
31eda59720 as3525v2: build normal firmware properly (Clipv2/+)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24840 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 02:42:58 +00:00
Michael Sparmann
04ea85fb88 Revert accidental changes from r24723
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24724 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 16:12:21 +00:00
Michael Sparmann
e5c815272d Add more information to the battery debug screen for Nano2G
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24723 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 15:57:53 +00:00
Maurus Cuelenaere
6acbff4673 Onda VX747/VX777: cleanup linker files a bit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24169 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 16:34:56 +00:00
Andrew Mahone
19eb26a2d7 Fix codec and plugin issues on ARM EABI caused by .iram sometimes being assigned an incorrect load address.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23674 a1c6a512-1295-4272-9138-f99709370657
2009-11-20 07:38:57 +00:00
Dave Chapman
98d7203eca Correct the IRAM definitions for the S5L8700/8701 and add definitions for plugins/codecs. The current split (64/64 core/plugins for S5L8700 and 96/80 core/plugins for S5L8701) is arbitrary and should probably be tweaked later
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22905 a1c6a512-1295-4272-9138-f99709370657
2009-10-04 02:04:49 +00:00
Rob Purchase
19a5dfea28 D2: Enable ARM cache coherency functions (eg. during codec load), which should eliminate data aborts/freezes on track changes. NOTE: The linker script reserves space at the end of DRAM for the TTB, but this is not currently used.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22595 a1c6a512-1295-4272-9138-f99709370657
2009-09-01 21:35:37 +00:00
Maurus Cuelenaere
a616f49f04 Ingenic Jz4740 targets: don't use IRAM in plugins as there's almost none available
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22089 a1c6a512-1295-4272-9138-f99709370657
2009-07-30 17:07:39 +00:00
Karl Kurbjun
2bb7c422ea Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21281 a1c6a512-1295-4272-9138-f99709370657
2009-06-13 21:26:50 +00:00
Karl Kurbjun
4d41886caa M:Robe 500: Fix up 256 color blitting when in portrait mode, fix a mistake in the plugin linker script, reduce the amount of memory used by overwriting IRAM with bss after program has started, clean up some tabs and formatting, resize the simulator when building for 640x480
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21280 a1c6a512-1295-4272-9138-f99709370657
2009-06-13 20:59:03 +00:00
Thomas Martitz
a9fdf86459 Fix reds and yellows. The targets that showed have more that just #define (like inline functions) in their soc specific header, which the linker doesn't like of course.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21002 a1c6a512-1295-4272-9138-f99709370657
2009-05-20 23:30:24 +00:00
Thomas Martitz
4633446517 Sansa AMS: Centralise mapping of RAM and IRAM in as3525.h via #defines. This will hopefully make ongoing mmu work easier as less places need to be changed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21000 a1c6a512-1295-4272-9138-f99709370657
2009-05-20 21:09:53 +00:00
Thomas Martitz
bd97654fa4 Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20762 a1c6a512-1295-4272-9138-f99709370657
2009-04-20 20:44:39 +00:00
Thomas Martitz
a602c23fac FS#10141 - Modify AMS Sansa #defines in plugin.lds to account for as3525 MEMORYSIZE > 2 by Jack Halpin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20760 a1c6a512-1295-4272-9138-f99709370657
2009-04-20 20:18:47 +00:00
Thomas Martitz
bac611868e FS#10114 - Sansa AMS : use IRAM for codecs on >2MB targets Rafaël Carré
Activates IRAM for AMS Sansas to be used by codecs and core. Fixes Reboot-on-mp3 and gives speed up on codecs using IRAM in general.
I've made a change: the core/codec ratio is 0x20000/0x30000 instead of 0x10000/0x40000, 0x30000 is way more than codecs currently use (0x14000 at max) and the core might need more than 0x10000.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20678 a1c6a512-1295-4272-9138-f99709370657
2009-04-10 17:00:23 +00:00
Karl Kurbjun
93fccc763b M:Robe 500: More LCD initialization, QVGA (vs. VGA) is now enabled by default for performance, 256 color palette mode added, include some linker cleanups and reorganization. Doom and MPEGPlayer now run reaonably well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20664 a1c6a512-1295-4272-9138-f99709370657
2009-04-09 04:22:14 +00:00
Karl Kurbjun
4fa96fbc91 M:Robe 500i: More LCD initialization, and beginnings of support for QVGA as well as VGA on the LCD. MPEGPlayer now works with reasonable performance on smaller videos, but YUV blitting persists after MPEGPlayer is left, some cleanup/changes to the initialization code. This should be functionally equivalent for the ZVM, but the #ifdef's may need to be added back for app.lds. Get the bootloader building again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20598 a1c6a512-1295-4272-9138-f99709370657
2009-04-01 03:21:18 +00:00
Karl Kurbjun
eddc4ee13b Ladies and Gentlemen we now have sound through the codecs on the M:Robe 500i (DM320)\!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20285 a1c6a512-1295-4272-9138-f99709370657
2009-03-11 03:46:24 +00:00
Jens Arnold
c21e2e686f Calculate the optimal memory location for overlay plugins, and use plugin.lds for linking them. This gets rid of hand-adjusted archos.lds, making it easy to use overlay plugins on other lowmem targets. * Fix some duplicate and incorrect dependencies. * Change the way libs are filtered, so that a lib can be specified more than once. This allows to get rid of explicitly linking gcc-support.o, fixing empty plugins on some simulator platforms.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20163 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 00:16:44 +00:00
Maurus Cuelenaere
38436038a9 Ingenic Jz4740:
* Add initial RoLo support
 * Don't enable IRAM in plugins for now
 * Initial try at getting PCM working (doesn't crash anymore at least)
 * Replace hard-coded constant with #define in usb-jz4740


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20115 a1c6a512-1295-4272-9138-f99709370657
2009-02-26 21:15:40 +00:00
Daniel Stenberg
dca7d391f1 make sure plugin.lds is not processed when building sims since it isn't used for anything then!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19957 a1c6a512-1295-4272-9138-f99709370657
2009-02-09 18:31:56 +00:00
Daniel Stenberg
1f3d667b1a do the #error for unknown CPU in the cases we're not building a sim
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19956 a1c6a512-1295-4272-9138-f99709370657
2009-02-09 16:18:07 +00:00
Daniel Stenberg
293ca3eaad don't do #error if no CPU define was found since we don't set it on simulator
builds!


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19955 a1c6a512-1295-4272-9138-f99709370657
2009-02-09 15:56:01 +00:00
Maurus Cuelenaere
04c7379ac5 Onda VX747: commit some parts to get apps/ to compile (more will follow)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19954 a1c6a512-1295-4272-9138-f99709370657
2009-02-09 10:02:38 +00:00