Commit graph

91 commits

Author SHA1 Message Date
William Wilgus
90118f14cf lua add demo scripts, atexit handler, gui_scrollbar_draw
Change-Id: Ie8794e8a487f73952dae43e036787b6972fdbbee
2019-07-29 02:51:29 -05:00
Franklin Wei
5d05b9d3e9 Quake!
This ports id Software's Quake to run on the SDL plugin runtime. The
source code originated from id under the GPLv2 license. I used
https://github.com/ahefner/sdlquake as the base of my port.

Performance is, unsurprisingly, not on par with what you're probably
used to on PC. I average about 10FPS on ipod6g, but it's still
playable.

Sound works well enough, but in-game music is not supported. I've
written ARM assembly routines for the inner sound loop. Make sure you
turn the "brightness" all the way down, or colors will look funky.

To run, extract Quake's data files to /.rockbox/quake. Have fun!

Change-Id: I4285036e967d7f0722802d43cf2096c808ca5799
2019-07-19 22:37:40 -04:00
Franklin Wei
3f59fc8b77 Wolfenstein 3-D!
This is a port of Wolf4SDL, which is derived from the original id
software source release. The port runs on top of the SDL plugin
runtime and is loaded as an overlay.

Licensing of the game code is not an issue, as discussed below
(essentially, the Debian project treats Wolf4SDL as GPLv2, with an
email from John Carmack backing it up):

  http://forums.rockbox.org/index.php?topic=52872

Included is a copy of MAME's Yamaha OPL sound chip emulator
(fmopl_gpl.c).  This file was not part of the original Wolf4SDL source
(which includes a non-GPL'd version), but was rather rebased from from
a later MAME source which had been relicensed to GPLv2.

Change-Id: I64c2ba035e0be7e2f49252f40640641416613439
2019-07-09 11:20:55 -04:00
Sebastian Leonhardt
fb3f7651fd pacbox for small screens, up to 75x96
Change-Id: I6e9adf2f6923f4d0078a54e9857fc8eacef259a6
2018-04-03 00:21:40 +02:00
Franklin Wei
54d8e67530 duke3d: restrict targets to ARM only
Change-Id: I484d6de2d5d4a495ed54e8ee2a80459785b5f5e8
2017-12-24 18:01:28 -05:00
Franklin Wei
8d3e3056f7 fix red once more
Change-Id: I6290cc6cca468c197656236d3dd31c3f72c53842
2017-12-24 17:43:30 -05:00
Franklin Wei
a855d62025 Port of Duke Nukem 3D
This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL
for Rockbox.

Change-Id: I8f2c4c78af19de10c1633ed7bb7a997b43256dd9
2017-12-23 21:01:26 -05:00
Franklin Wei
1a6a8b52f7 Port of Simon Tatham's Puzzle Collection
Original revision: 5123b1bf68777ffa86e651f178046b26a87cf2d9

MIT Licensed. Some games still crash and others are unplayable due to
issues with controls. Still need a "real" polygon filling algorithm.

Currently builds one plugin per puzzle (about 40 in total, around 100K
each on ARM), but can easily be made to build a single monolithic
overlay (800K or so on ARM).

The following games are at least partially broken for various reasons,
and have been disabled on this commit:

Cube:     failed assertion with "Icosahedron" setting
Keen:     input issues
Mines:    weird stuff happens on target
Palisade: input issues
Solo:     input issues, occasional crash on target
Towers:   input issues
Undead:   input issues
Unequal:  input and drawing issues (concave polys)
Untangle: input issues

Features left to do:
 - In-game help system
 - Figure out the weird bugs

Change-Id: I7c69b6860ab115f973c8d76799502e9bb3d52368
2016-12-18 18:13:22 +01:00
Michael Giacomelli
1bc3964f96 Fix compilation error.
Change-Id: Ic565444bf1df955703dfe91adaf3094e8ab9b990
2014-12-24 00:05:31 +01:00
Franklin Wei
33cb13dee5 Xworld - Another World interpreter for Rockbox
Co-conspirators: Franklin Wei, Benjamin Brown

--------------------------------------------------------------------
This work is based on:
- Fabien Sanglard's "Fabother World" based on
- Piotr Padkowski's newRaw interpreter which was based on
- Gregory Montoir's reverse engineering of
- Eric Chahi's assembly code

--------------------------------------------------------------------
Progress:

* The plugin runs pretty nicely (with sound!) on most color targets
* Keymaps for color LCD targets are complete
* The manual entry is finished
* Grayscale/monochrome support is NOT PLANNED
  - the game looks horrible in grayscale! :p

--------------------------------------------------------------------
Notes:

* The original game strings were built-in to the executable, and
  were copyrighted and could not be used.
* This port ships with an alternate set of strings by default, but
  can load the "official" strings from a file at runtime.

--------------------------------------------------------------------
To be done (in descending order of importance):

* vertical stride compatibility                          <30% done>
* optimization                                           <10% done>

Change-Id: I3155b0d97c2ac470cb8a2040f40d4139ddcebfa5
Reviewed-on: http://gerrit.rockbox.org/1077
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2014-12-23 23:48:12 +01:00
Thomas Martitz
a1842c04f9 lcd-24bit: Introduce a 24-bit mid-level LCD driver
With LCD driver all calculation will be performed on RGB888 and the hardware/OS
can display from our 24bit framebuffer.

It is not yet as performance optimized as the existing drivers but should be
good enough.The vast number of small changes is due to the fact that
fb_data can be a struct type now, while most of the code expected a scalar type.

lcd-as-memframe ASM code does not work with 24bit currently so the with 24bit
it enforces the generic C code.

All plugins are ported over. Except for rockpaint. It uses so much memory that
it wouldnt fit into the 512k plugin buffer anymore (patches welcome).

Change-Id: Ibb1964545028ce0d8ff9833ccc3ab66be3ee0754
2014-06-21 00:15:53 +02:00
Andrew Ryabinin
397863ab3d hm60x: Add support for plugins.
Change-Id: I4cad0881c8249f163680a280f70d1a0b36248da8
2012-04-19 17:31:13 +04:00
Thomas Martitz
249bba03f1 Initial commit of the Samsung YP-R0 port.
This port is a hybrid native/RaaA port. It runs on a embedded linux system,
but is the only application. It therefore can implement lots of stuff that
native targets also implement, while leveraging the underlying linux kernel.

The port is quite advanced. User interface, audio playback, plugins work
mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page).

Included in utils/ypr0tools are scripts and programs required to generate
a patched firmware. The patched firmware has the rootfs modified to load
Rockbox. It includes a early/safe USB mode.

This port needs a new toolchain, one that includes glibc headers and libraries.
rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may
also work.

Most of the initial effort is done by Lorenzo Miori and others (on ABI),
including reverse engineering and patching of the original firmware,
initial drivers, and more. Big thanks to you.

Flyspray: FS#12348
Author: Lorenzo Miori, myself

Merry christmas to ypr0 owners! :)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 11:56:46 +00:00
Frank Gevaerts
26f2bfde03 Add MikMod plugin, ported by Jason Yu, with some minor work by Craig Mann and William Peters (FS#8806)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28810 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:03:30 +00:00
Rafaël Carré
68e363b18f rockboy: simplify build condition
it builds for all current plugin buffer sizes

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27506 a1c6a512-1295-4272-9138-f99709370657
2010-07-21 06:05:51 +00:00
Wincent Balin
d5342fd129 pdbox: Added Sansa e200 to supported devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27287 a1c6a512-1295-4272-9138-f99709370657
2010-07-05 01:31:57 +00:00
Rafaël Carré
8f28c0443c Build doom on clipv2 and clip+
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27093 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 18:27:30 +00:00
Rafaël Carré
567ef674f0 Build plugin overlays when buffer size is <= 128kB
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26748 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 19:30:54 +00:00
Yoshihisa Uchida
fdba840450 reworks text viewer plugin. (FS#11209)
new text viewer plugin: text_viewer.rock.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26571 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 10:30:08 +00:00
Wincent Balin
2e5b1b1a9c pdbox: Applied several changes by Buschel. Reintroduced compilation for iPods.
Changes by Buschel:

* Reduced footprint by making cosine table of size 1^13 instead of 1^15
* Corrected interpolation in the cos~ object
* Optimized multiplication on ARM platforms



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26534 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 22:03:37 +00:00
Wincent Balin
949d546fc8 pdbox: Fixing reds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26502 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 03:28:14 +00:00
Wincent Balin
471f50682b pdbox: Added compilation on iPod 1G-4G.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26501 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 03:05:47 +00:00
Rafaël Carré
ef57475f14 pdbox: add fuze keymap
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26489 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 20:15:44 +00:00
Rafaël Carré
681cedb4d8 Build overlay plugins for all targets with PLUGIN_BUFFER <= 0x10000 bytes
Bring Clipv1 & m200v4 plugin buffer down to this limit
zxbox, chessbox and rockboy build on the clip
rockboy doesn't build on m200v4 due to not enough buttons to make a keymap
Some gameboy roms won't run on Clipv1: tetris does but not pokemon for example

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26144 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 14:14:53 +00:00
Rafaël Carré
a01422c54b plugins: changes for targets with small plugin buffer (Clipv1)
- only enable overlays for targets with very small plugin buffer (<=
  0x10000 bytes, i.e. archos)
- change the condition for rockboy to reflect exactly why it can be
  built or not
- Some plugins need a large plugin buffer, only enable them if the
  buffer is big enough (sizes measured on Clipv1)
- disable MIDI if we have 2MB (or less), we won't be able to load the
  instruments in the audio buffer
- remove unusable lua overlay loader
- sokoban code is bigger on clipv1 than on SH, assume it code is 20kB on
  anything but SH so it builds with buffer smaller than 192kB
- reduce the Clipv1 plugin buffer size from 288kB to 96kb, disabling
  zxbox, chessbox, and fft

zxbox and chessbox have overlays which run on archos, we just need to
enable them on other targets. We'll also be able to run rockboy.

fft won't run as it needs a large plugin buffer for greylib

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26141 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 12:46:53 +00:00
Rafaël Carré
ec6476c14a plugins: reorder SOURCES conditions to be more readable
change a lot of conditions to be more understandable
add some spacing
remove ifp conditions as disabling plugins can be done in configure
SUBDIRS: concatenate some conditions and add comments

No changes expected (no plugins added / removed) for working targets

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26114 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 18:16:45 +00:00
Tomer Shalev
726088f9e6 fft plugin: add touchscreen key-mapping and enable plugin for touchscreen targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24611 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 23:10:09 +00:00
Frank Gevaerts
43264a946f New plugin: FFT, A frequency analyzer plugin
There is some more work needed:
- Keymaps are definitely not perfect, touchscreen targets are disabled due to no keymap
- There is no manual yet

Author: Delyan Kratunov 
Flyspray: FS#10065



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24587 a1c6a512-1295-4272-9138-f99709370657
2010-02-10 19:44:11 +00:00
Rafaël Carré
dbbb07767a Disable DOOM for c200v2, it won't run
Reclaim 128kB of plugin buffer, audio buffer is now 4 times larger

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24323 a1c6a512-1295-4272-9138-f99709370657
2010-01-24 15:59:27 +00:00
Teruaki Kawashima
5bd0823749 jpeg,png: Merge user interface code and plugin entry point of the two plugins (part of FS#6321).
* Created new directory, imageviewer/ and moved both jpeg/ and png/ under it.
- this still doesn't merge the two plugins. i.e. both jpeg.rock and png.rock will be made for color targets.
- I'm thinking to merge the two plugins to single image viewer later.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24272 a1c6a512-1295-4272-9138-f99709370657
2010-01-18 12:46:19 +00:00
Torne Wuff
7f28c94eda New plugin: frotz, a Z-machine interpreter, for playing interactive fiction.
The interpreter more or less passes all the tests in the z-machine test suite.
It should build for every target except Archos (for which it is disabled).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24267 a1c6a512-1295-4272-9138-f99709370657
2010-01-17 22:15:13 +00:00
Tomer Shalev
7719d297f2 FS#10911 - Plugins: Fractals (formerly Mandelbrot)
- Rename the mandelbrot plugin to fractals
- Update manual accordingly
- Separate plugin's functionality into separate files
- Lay the ground for having fractals sets other than the Mandelbrot set.
  For that the following will need to be implemented:
  - Create a new file for the new fracral set
  - Provide key mapping to switch between sets


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24230 a1c6a512-1295-4272-9138-f99709370657
2010-01-15 05:53:15 +00:00
Wincent Balin
54ba851670 PDBox: Added iriver H100 to supported targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22168 a1c6a512-1295-4272-9138-f99709370657
2009-08-05 13:21:08 +00:00
Wincent Balin
837267247a Insert pdbox into build system, currently only for H300.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22160 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 16:02:40 +00:00
Michael Giacomelli
594b6e2b49 Commit FS#10251. Plugins for the YH-820, YH-920, and YH-925 by Jens Erdmann with improvements and bitmap graphics by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22149 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 03:08:32 +00:00
Frank Gevaerts
a175e3a42a Add a png viewer plugin
Author: Christophe Gouiran
Flyspray: FS#9493


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22037 a1c6a512-1295-4272-9138-f99709370657
2009-07-25 21:36:11 +00:00
Rafaël Carré
8872b60fb9 Don't build mpegplayer on targets with 2MB of RAM or less since it won't run
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21033 a1c6a512-1295-4272-9138-f99709370657
2009-05-22 10:44:32 +00:00
Maurus Cuelenaere
cf87597226 Commit FS#9174: Lua scripting language by Dan Everton
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21020 a1c6a512-1295-4272-9138-f99709370657
2009-05-21 19:01:41 +00:00
Andrew Mahone
5621fd393a Build pictureflow using overlay on lowmem targets, support JPEG AA in PF on all targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20864 a1c6a512-1295-4272-9138-f99709370657
2009-05-07 01:23:13 +00:00
Mustapha Senhaji
37183be69c FS#9901 by Joshua Simmons for the Goban plugin: Goban overlay for the Archos targets.
This is a first try to enable this plugin for low memory targets like our old archoses :)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20069 a1c6a512-1295-4272-9138-f99709370657
2009-02-20 23:14:09 +00:00
Mustapha Senhaji
281fc2e708 Goban plugin: FS#9897 by Joshua Simmons
Initial button maps for still unsuported targets (Sansa Fuze, Sansa Clip, Sansa m200, Creative ZV(M) and the Phillips HDD1630).
Low targets like archos are still short in memory to be suported.
Update the manual for the Sansa players.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19988 a1c6a512-1295-4272-9138-f99709370657
2009-02-12 13:47:34 +00:00
Mustapha Senhaji
cdecd9dfa8 Exclude the philips build too for now, to fix building.
Coming soon: more suported targets like archos or those new ports... Once the keymaps for those targets will be done, and the memory usage issue worked out.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19977 a1c6a512-1295-4272-9138-f99709370657
2009-02-11 19:09:09 +00:00
Mustapha Senhaji
42db6f261b Attempt #2 to fix compilations, let's hope this is the last one :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19976 a1c6a512-1295-4272-9138-f99709370657
2009-02-11 18:04:56 +00:00
Mustapha Senhaji
2e49f65487 Hopefully fix the red builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19975 a1c6a512-1295-4272-9138-f99709370657
2009-02-11 17:32:35 +00:00
Mustapha Senhaji
8198a6c266 Oops, missed some files in my previous commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19974 a1c6a512-1295-4272-9138-f99709370657
2009-02-11 16:42:50 +00:00
Marianne Arnold
eab9afd977 Use LCD_HEIGHT to exclude pacbox from c200 builds instead of target name so that it also applies to the v2 c200s.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19898 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 14:20:26 +00:00
Dave Chapman
76596deaf1 Move the monolithic jpeg viewer into its own subdirectory and split it into three (for now - maybe it should be split further) files - jpeg.c (the main plugin/viewer parts), jpeg_decoder.c (the actual decoder) and. for colour targets only, yuv2rgb.c. The intention of this commit is as a first step towards abstracting this viewer into a reusable jpeg decoder and a multi-format image viewer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18853 a1c6a512-1295-4272-9138-f99709370657
2008-10-21 16:05:46 +00:00
Michael Giacomelli
52bdcbae85 Commit FS#9170 by Dave Hooper. Adds support for profiling on ARM, and fixes various issues with compiling profile builds. Also, note that profile_reader.pl syntax has changed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18142 a1c6a512-1295-4272-9138-f99709370657
2008-07-28 22:43:41 +00:00
Nils Wallménius
8df332c062 Oops, revert unrelated changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18139 a1c6a512-1295-4272-9138-f99709370657
2008-07-27 20:40:20 +00:00
Nils Wallménius
2d337dab7f FS#9221 by Christopher Williams fixing a couple of bugs in keybox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18138 a1c6a512-1295-4272-9138-f99709370657
2008-07-27 20:36:45 +00:00