System Mega Function Inc.

Official page of
Ruckus MOD (v.5)


WARNING: STILL ONLY BETA!! (maybe no freeze during play but 'not to load' can occour anytime)
Use at your own risk!

HOT New: loop capabilities

Sorry, not so much update lately, BUT the develop is still on progress... stay tuned!
UPDATE: some wip and planned feauture to look forward: BPM-detection in real time or by the legacy Tap-in, BPM-sync (flashing the MS-LED for beat in, and the WLAN-LED continiusly as a sync), wav-o-graf(tm) :P , and the mp3 decode process is moving to the ME ... and many, many more! :D

Download it!

What is Ruckus mod?
Ruckus mod is a DJ-able mp3 player for Sony PSP system. With it, you can play mp3s as play from expensive DJ CD-players. (one PSP equals to only one "deck")

Why it is a MOD?
Because it's mainly done by Captain Dan. I 'just' make it easier, more comfortable to use. (I'm just a beginner is PSPdev and not so ace in C either, so it was a bit hard to do)
The contolling is highly optimized: buttons remapped to more suitable positions; more "lines" on tepmo-adjust-ramp; bigger tempo range (-100%(still) to +100%); analogue (sorta) pitch-bend with selectable (+/-3% or +/-10%) range (with maybe enough death-zone); better response to files (id3s gone for now due wrong tags and listing anomaly caused mp3s not to load and confuse during lisings); sorted list of directories and files in filelisting (directories first); and last but not least: integrated usbhostfs client (iRShell was also useable, but required lot of space :P and more complex to use)
If your stick is "gone mad", then you should check if your psp's faceplate or the analouge stick is broken (or both), and fix it/these.

Why USB/why not Wi-Fi?
USB connection is a power-efficient way to connect your psp to a pc (even you can charge battery) while to maintain wi-fi connection require a lot of power (a few hours of PSPradio listening can deplete the battery and heat up the left side of the unit), and even if it only takes some secs to load songs, it also requires a constant connection, so it would drain your batt in sort period of time. (you still can use iR Shell nethostfs-redirection to try it out)

It won't load files bigger than ~20MB!
Yes, it is a factory limitation of usable heap space where the files will load. (I'm unable to test/recomplie it for Slim) It doesn't seems to be a big problem, but don't forget to reencode these too big files, before you wanted to use.

Why don't load 'xyz'?
First, check that the file is smaller than ca 20 100 000 bytes, and have an extension of .mp3 or .MP3 (.Mp3 and .mP3 won't even listed) or Mp3 or mP3 If you try to load from PC using usbhostfs, then check, that the USB cable is still connected and the usbhostfs is running.
(sometimes it simply reject theoretically loadable files to play; in that case you can try to load any other file and then retry to load
even in this case it doesn't load, then you should restart the app)
Some weird ID3 tags also can cause the file not to play, even if it looks like it loaded, then you can try to skip the first few secs (these are the corrupted frames, that cannot be played)

Wich version of PSPs/firmwares are supported?
I have only "fat" PSPs so I don't know if it work with slim. Tested and work in 3.52 M33-4 in 1.50 and in 3.52 mode also. (I think it will work on newer FWs too)
update: tested and work with 3.90 M33 too

CUE/BPM/Time display is inaccurate!
Sorry, these are more complex problems.. but in time hope I will solve these "puzzles". The time is no soooo inaccurate, only some VBR files will run 'out of time' but these few seconds are not so big deal. The inaccuration in CUE is also VBR related.. just a few millisecs but these are enough to ruin an on-start mix. But THE BPM is VERY INACCURATE (this is caused by the multiple threads, and unbalanced cpu load to decode). SO KEEP THESE IN MIND!

How to use it?
(Users Guide)

After you start the program it will show up with the file-browser screen:

Only here you can enable or disable the usbhostfs connection by pressing the "start". (it won't warn you if connection is not established or connection lost instead list a 'host0:/' dir with no contains) The "start" button is also swap the listing dir between 'ms0:/' and 'host:0/'.
update: you can use the "select" button to reload the current directory
files marking by color:yellow is a "risky load" (close to the limit of the memory size), red is totally unloadable (sorry)
however there is a chance, that even "white songs" won't load... /need further investigations/

If you selected a mp3 file it will lead you to the main screen:

The 'SHIFT' (circle/O) is used to: increase the range of pith-bend from +/-3% to +/-10%; grant a faster seek; and faster tempo ramp. If you press the SHIFT within 2 sec (at normal speed) then BPM will be calculated, and if you keep pushing it, the BPM will be the average of a 4 previous tap-in If you hold the Tempo 'changer' buttons (L or R triggers) longer, the bigger increase/decrease will be applied. (extra speedup is applied in range -100%- -70%) Fast speed reset (instant set tempo to 0%) by hold Circle (O) and press L and R triggers. You can set CUE in only pause mode (press play (cross/X), and press again). If you press the CUE in other state than pause, the playback will jump back to the CUE point, and sart playing till you hold the CUE-play (square/[]) You can switch to normal play from CUE-play with push the play (X) during hold the CUE ([]) (don't care, which button you release first)

Sorry, i owe you by the button config for the loop. So there it is:
There are multiple 'stages' of loop so i try to explain all in details.
-no loop point selected-
set loop-in by D-pad - UP

-only loop-in present
jump back to the loop-in by push UP
reposition loop-in by hold O and push UP
set loop-out(/end) by DOWN

-active loop (yellow colored markers)
jump back to the loop-in by push UP
halfing the loop's length by hold O and push UP
exit from loop (set loop to inactive) by DOWN
reposition loop-out by hold O and push DOWN

-inactive loop (violet colored markers)
/same as no loop/ but you can recall the loop hold O and push UP
and to reposition loop-out hold O and push DOWN

Why I cannot mount different directories to different PSPs (using PSPHost)?
It is caused by not the usbhostfs but the gui application. So you can use cygdrive to browse the entire computer, or you can use my simple usbhostfs gui which is not so feature-rich as the PSPHost but do no interfere in multiple instances (as far as you don't want to connect/disconnect multiple PSPs at the same time).
update: added MRU history of the last 16 directory

Where can I download this program?
Older releases:
Loop edition newer version has a better loop support
Initial release

USBhostFS_GUI (included driver and cmd version)
USBhostFS_GUI V1.1 added MRU list
USBhostFS_GUI V1.0/initial

You could use it with music.prx, so you can practice during travelling, or maybe make some kind of mash-ups.
update: on latest firmwares i wasn't able to use it :(
update: new music.prx for 3.90m33 workx
download and further info on qj forum

Further plans, developing ideas...
Next big step will be an automatic BPM counter!
Better loop, "multi-loop" and basic sampler (8 cue-point with selectable playback strategy: loop to cue, play to cue, play trough)
Easy-to-do effects :P like "flanger", "filter"
more to come... (approach to implement SoundTouch: "master tempo" & Pitch shift & BPM .. yeah baby :) )

Last Words:
I would thanks to all the hard workers of the psp scene to make this real.
Thanks to Dark_AleX and the M33 group, the PDPdev crew, TyRaNiD for the usbhostfs, AhMan for the iR Shell, Captain Dan for the initial release and for releasing the source code, Raf for the PSPradio (I like it so much :) ) and of course for $ony to make this great piece of hardware :P

Guestbook will be online within a few days... so hold your breath till that ;)
And feel free to support the developing of this project

update: Guestbook is online, but not finished yet F*ING SPAMMERS!!

Home Loans
Home Loans Counter