Commit graph

34075 commits

Author SHA1 Message Date
Vencislav Atanasov
722ddcf6ba sdl: Fixes for the SDL apps, so they support building simulator on Windows
Change-Id: I277d391482a80e5bf9dd8049cd3b78c5cae7205e
2019-07-31 19:34:18 +02:00
Solomon Peachy
349e111c81 Revert "cleanup: Remove HAVE_MULTIVOLUME from targets with HAVE_MULTIDRIVE"
This reverts commit a89bf68e88.

HAVE_MULTIVOLUME && HAVE_MULTIDRIVE implicitly means "allow 4 volumes
per drive" whereas the normal MULTIDRIVE behavior is to only allow 1
volume per drive.
2019-07-31 17:22:58 +02:00
Solomon Peachy
f2fd8fe79b FS#11052 -- SID Playback in Stereo
Original patch by Stefan Waigand
Updated by Igor Poretsky

Change-Id: Icaf7beb8349ab90e21b94baee627c9412cb2b55d
2019-07-31 17:00:40 +02:00
Solomon Peachy
a89bf68e88 cleanup: Remove HAVE_MULTIVOLUME from targets with HAVE_MULTIDRIVE
The latter always enables the former.

There are no remaining HAVE_MULTIVOLUME users in-tree.

Change-Id: I0f4fd03a6ffed5c0eb3fb5f916f671bd199f1c8e
2019-07-30 04:32:05 +02:00
Franklin Wei
94109a9506 quake: fix file loading errors
Forgot a return statement in Sys_FileRead (which slipped by since I've made
the questionable decision to disable all warnings...)

Change-Id: Ia0f3da52b43765b8e0e9953893ac7957ec2f6c2e
2019-07-30 03:44:43 +02:00
Franklin Wei
5e0bd5bfc0 quake: add notification upon strange error
For some reason a NULL pointer creeps in, on the simulator only, it seems.
This makes sure that if it happens on target we'll know about it.

Change-Id: I7a5bc9dd3ef71f28d58d0d456d23007dc0d49ce3
2019-07-30 03:44:25 +02:00
Franklin Wei
caee6c578d quake: fix race condition
COM_LoadStackFile was not thread-safe since it relied on a global variable
to pass the loadbuf parameter to COM_LoadFile. This was causing mysterious
crashes when model loading and audio mixing were happening simultaneously.

Change-Id: I505c5ef0ed49d0c4aa4b11cfed05647c75b5b40d
2019-07-30 03:44:09 +02:00
Franklin Wei
0b23348610 sdl: forward-declare fscanf_wrapper
Silences a few warnings (if you enable them).

Change-Id: Id9a9f4c688742c13ee3eb0777c40b4d4edcda224
2019-07-30 03:43:57 +02:00
Franklin Wei
c31700f922 quake: properly synchronize zone.c
Preventative measures. Somehow SDLQuake managed without these...

Change-Id: Icef15f3f653fa115ad8fb1ccc3f9682e453701c3
2019-07-30 03:42:36 +02:00
Solomon Peachy
4f469e90ef Debug menu now show partitions on all drives, not just the first.
Change-Id: I76e4cb6cb3d23ed72a6dc6432910eb8c3415c5d8
2019-07-29 21:26:17 -04:00
Solomon Peachy
bad461a9ce Correct MODEL_NUMBERs used by xDuoo X3, and IHIFI 770, 770C, and 800.
This should correct ROLO operation on all targets.

Change-Id: Icefbf1af83fd756283a0f6c78ba2370fe41f4473
2019-07-29 17:03:26 -04:00
Solomon Peachy
83963fcb15 XduooX3: Uncomment code that prevented hotswap from working.
Change-Id: I5efec00e60aacf05166407ad43b9d63340e18967
2019-07-29 11:14:41 -04:00
William Wilgus
138a4f9d3d lua rocklib_img optimize functions with multiple checkint calls
Uses int arrays and calls luaL_checkint in a loop

Change-Id: Ib73dab886f018c787bd995f64d990981d194069f
2019-07-29 05:54:27 -05:00
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
60c5a29408 Add Moshe Piekarski to CREDITS
Change-Id: I6b9397752772563f5cbc29abef54b5c8be66ec5f
2019-07-28 21:20:55 -04:00
Franklin Wei
8bafa1bc9b pacbox: fix red and enable AI on all targets
Change-Id: I4275e4ec374f3b5a6839890e4a2aa0f577f56522
2019-07-28 21:03:38 -04:00
Moshe Piekarski
b3295f0ed6 Pacbox AI
Pacman can make moves by itself

Change-Id: I7a39fed1e2bf5dbfb07e4d801d080a6e097730e9
2019-07-28 20:25:16 -04:00
Vencislav Atanasov
183e45e8d0
sdl: Remove platform-specific code
Also nuke the Makefiles of Duke Nukem 3D (pun intended).

Change-Id: If2707cf079bfb9299347f9c5f980780134b6ecda
2019-07-29 01:59:40 +03:00
Franklin Wei
e19857e712 duke3d: remove unused files
A bunch of cruft left over when I copied the files...

Change-Id: I29d12dae9e507af477fc06ff348c02aee68606a8
2019-07-29 00:50:23 +02:00
Franklin Wei
8379b230f6 lua: wrap thread_set_priority with #ifdef HAVE_PRIORITY_SCHEDULING
Should fix a compile-time error on simulator.

Change-Id: I5962479579350ebffe6dcce4f65a629b108ff936
2019-07-29 00:50:11 +02:00
Solomon Peachy
5572904887 chessbox: Fixes and enhancements
- Unfinished game is now saved along with current position.
- All savings are automatically done on shutdown.
- Implemented facility to view played games.
- Fixed bug that prevented program from the very first move.

Patch by Igor Poretsky

Change-Id: I997b97752e4362ed953309bea985d071f9db229b
2019-07-28 18:39:41 -04:00
Franklin Wei
c5ed45d8c7 docker-rbclient: update README
Change-Id: If7c3565147f1092e3104d7f08e705aaaf6aafd5d
2019-07-28 15:39:25 -04:00
Franklin Wei
e499b75117 docker-rbclient: whitespace fix
Gerrit's web editor can't be trusted.

Change-Id: I0dd4a6ab2f8e3600fb37e9806adf6c067feea9ed
2019-07-28 15:34:05 -04:00
Franklin Wei
02a6985799 Add build code for Docker development environment
This simplifies the tedious task of building all the Rockbox
toolchains manually by providing a build code for a Docker container
image. It's useful for quickly spinning up a build client with just a
couple commands and no waiting to compile (though downloading takes a
little while).

I've built an image as built1n/rbclient on Docker Hub.

All toolchains (even the weird ones) are included, except android16.

Change-Id: I6b863628ffb397604f59ec6def2f8bb8c8c7185f
2019-07-28 21:13:56 +02:00
Vencislav Atanasov
7f9fc20afa Use full_path_subst on more places, to avoid replacing the wrong occurrences in
paths.

If ROOTDIR=/rockbox and BUILDDIR=/rockbox/build-something, it is now possible to
successfully build both target binaries and simulators.

Change-Id: If12d1d5933c5a15feebf627a4f1636dc1e3a67fa
2019-07-28 21:00:57 +02:00
Franklin Wei
d8330c9c18 sdl: gut OS/2, win32 code from SDL.c
This should help with compiling win32 simulators.

Change-Id: Icfbf78f7d0a8b0ddebffa8daac3adf55ac21f139
2019-07-28 14:27:49 -04:00
Franklin Wei
090bdedc62 quake: add README with some notes
Change-Id: I702e81f8715b505d4ed6d0eca861e3ddb680038d
2019-07-28 14:06:45 -04:00
Franklin Wei
711ddfdaad sdl: gut non-Rockbox platform detection code
This should prevent false positives when simulators for other systems (e.g.
win32).

Change-Id: Ib14a277fbfeb1b0ae141ebc4591d80a2cc0f526d
2019-07-28 13:59:32 -04:00
Solomon Peachy
c2139db6c5 Ninety-nine bugs on the wall, Fix one bug, pass it around, 101 bugs on the wall..
Properly fixes bug introduced in 4beafe1 (and incorrectly fixed in 51fe1b6)

Change-Id: I053bb110746afdc3d9588b1b502a4cb333468a2b
2019-07-28 10:07:27 -04:00
Solomon Peachy
51fe1b6705 volume_ismounted is gated by HAVE_DIRCACHE rather than HAVE_MULTIVOLUME
Should fix the various sim builds.

Change-Id: I1dc5e8228698afb32c84ada2aa916e52e19f49d7
2019-07-28 15:27:04 +02:00
William Wilgus
45bd14b392 Lua Add Emergency Garbage Collector
Derivative of work by RobertGabrielJakabosky
 http://lua-users.org/wiki/EmergencyGarbageCollector

I've only implemented the not enough memory part and
 expanded this idea to adding a mechanism to signal
 the OOM condition of the plugin buffer which allows us to only
 grab the playback buffer after garbage collection fails
 (SO THE MUSIC KEEPS PLAYING AS LONG AS POSSIBLE)

Change-Id: I684fb98b540ffc01f7ba324ab5b761ceb59b9f9b
2019-07-28 15:17:48 +02:00
Solomon Peachy
4beafe16fa Show time, date, and recording directory in the info screen
Patch by Igor Poretsky

Change-Id: I5db0d018742c11dd9bf3ca4c9539cd91f94d4c2e
2019-07-28 14:57:14 +02:00
William Wilgus
ddf612c84b lua remove unneeded plugin functions
Change-Id: I04bc38d03b7f0ca65a815685eb6ab0f5ff825c45
2019-07-28 07:29:10 -05:00
Franklin Wei
fd20114eb2 robotfindskitten: clear message line before cinema scene
Just writes a bunch of spaces to clear the space before playing our
animation.

Change-Id: I9422190b691039252de70a5c7eec6286c686f031
2019-07-28 01:30:29 +02:00
Franklin Wei
feacbcd639 quake: cache files in memory to eliminate skips
This caches large files (arbitrarily defined as >1MB) in memory, which
reduces the delay when a new model or sound is needed.

Change-Id: I0f96449555a32f05d771fe900c10eaf21ecbb4f6
2019-07-27 16:07:39 -04:00
William Wilgus
42263152d4 Multiboot update manual entry
Change-Id: I99abe45adaade350222fa1f0aaf864a06d6dfcdf
2019-07-27 21:46:54 +02:00
William Wilgus
e1475a38ef Fix non aligned crashes with tlsf
When the starting address of the plugin buffer
 is not aligned to 8 bytes crashes occur in tlsf
(on ARM atleast)

Change-Id: I655500c25e1c8f84b4a2418e9ec5c5948e4bea82
2019-07-27 14:30:45 +02:00
Vencislav Atanasov
321de68b21 Add Vagrant configuration for creating a development VM
Vagrant is an application that automates creation and provisioning of a virtual
machine for development. The config here creates an Ubuntu 16.04 LTS machine,
updates it, downloads and installs the toolchains for sh, m68k and arm,
mingw-w64, SDL (for Windows simulators) and other packages needed for building
Rockbox.

It works fine for building a Windows simulator and compiling iPod classic
binaries. It should be possible to make the other build types, too.

MIPS toolchain fails to build, ARM-APP is not tested because the files download
very slow on my connection. Please test if it works for you, and let me know.

Quick start: download and install Vagrant and VirtualBox for your operating
system, make sure VT-x / AMD-V is enabled in your BIOS/EFI setup, open a
shell in rockbox/tools and input the command "vagrant up"

Change-Id: Ief5476ab066663a4db7e85404b25d2d781d90532
2019-07-26 20:20:07 -04:00
Franklin Wei
4e357167b5 Add Andy Potter to CREDITS
Again, this is inferred from their Gerrit username. I've also emailed
them to confirm the name.

Change-Id: I2aced94a5a0a8847c86da0e425db4130b4dccb69
2019-07-26 20:17:03 -04:00
LiveboxAndy
d462d26ff0 Fix issue with building the UI Simulator for Windows
Addition of rtc support for AGPtEK ROCKER broke building the UI Simulator
for Windows. This patch removes the rtc support if building UI Simulator for
Windows.
2019-07-26 20:11:33 -04:00
Franklin Wei
c8ec64ed27 Add Yangyong Wu to CREDITS
This name is inferred from the contributor's Github account email
(interpreted using the standard given-family name Chinese convention).

Change-Id: I2285a62c3332d562f44c5087b296e4ea2d61200e
2019-07-25 18:17:20 -04:00
aozima
975e309264 fixed alac_set_info() issues. 2019-07-25 18:16:48 -04:00
Franklin Wei
cdfb7d44f2 sdl: fix video regression introduced by 5d05b9d
The quake commit tried to optimize lcd updates but inadvertently broke
wolf3d (which always uses a 320x200 screen size). This fixes that and also
lets direct mode truly exit early to hopefully save some cycles.

Change-Id: I41d96cd584257fe25e791c7f615812849f348e4f
2019-07-25 14:27:17 -04:00
William Wilgus
6e32e06498 lua add sound_current, consolidate sound_ functions
add defines for sound functions
 SOUND_VOLUME, SOUND_BALANCE, SOUND_CHANNELS, SOUND_STEREO_WIDTH ...
 defines depend on target
 require "sound_defines" to add them to rb.sound_settings[]

consolidates:
 sound_set, sound_current, sound_default, sound_min, sound_max,
 sound_unit, sound_pitch, sound_val2phys to a single function

 rb.sound("name", setting, [value])

 require "sound.lua" for old functionality

Change-Id: Ice695218aa433f4fcbb48fbd6b8a9bf29c994110
2019-07-25 10:17:40 -05:00
William Wilgus
3834094172 Fix Red -- sound_current #_2
Change-Id: Iae31a5fd414708b4a222ba0b05b5828a8e0d19af
2019-07-25 08:49:11 -05:00
William Wilgus
b5b43a0fef Fix Red -- sound_current
Remove dependency on settings.g for bootloader

ifdef out AUDIOHW_HAVE_EQ Settings these should be indexing the
global_settings.hw_eq_bands[AUDIOHW_EQ_BAND_NUM] struct

Change-Id: I1d1a8556ef88ce43397b600261696dacdf372034
2019-07-25 08:03:18 -05:00
William Wilgus
5f9d1f59d3 Add sound_current to plugin api
Adds:
	sound_current(int setting)
		returns the current sound setting from global_settings
		complements sound_max, sound_min and sound_default

Change-Id: I35bd893753c958f808492906fe533edc51d5d57c
2019-07-25 00:48:40 -05:00
Franklin Wei
7e4902bf6b quake: fix errorneous endian-correcting reads
ef9ee89 introduced Read{Big,Little}{Short,Long,Float} functions to safely
read a value in memory. These incorrectly take char*, which causes them to
output erroneous 0xff bytes when given bytes with bit 7 set.

Change-Id: I9531172301aecfdacae405d2f782f662608ce6df
2019-07-24 21:02:11 -04:00
Solomon Peachy
7bef453e03 FS#12887: Fix playlist order after moving a track before current
Original patch by Juan Gonzalez
Updated by Igor Poretsky

Change-Id: I913d96df906e56fb4063485a6725cd13e395f165
2019-07-24 14:20:03 -04:00
Franklin Wei
ef9ee8935f quake: fix unaligned accesses in model.c
Allows playing registered episodes.

Change-Id: I20e1ca2000776a19767a9c3caef790d4f62ca188
2019-07-21 15:13:35 -04:00