Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Modo PSP

From GameBrew
Revision as of 03:26, 22 November 2024 by HydeWing (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Modo
Modopsp.png
General
AuthorBastian Pflieger (wbb)
TypeMedia Players
Version10th
LicenseMixed
Last Updated2008/06/16
Links
Download
Website

An ultra simple mod player for PSP.

Features

  • Directory browser.
  • Playback mode for MP3.
  • Playback mode for modules.
  • Playback mode for sid.
  • Playback mode for consoles.

User guide

Supported formats

  • Trackers:
    • 669, IT, MED, MOD, MTM, S3M, STM and XM module format.
  • C64:
    • SID and MUS.
  • Atari ST:
    • YM, SNDH and SC68.
  • Others:
    • SPC (Snes),
    • GYM & VGMz (Sega Master System / Sega Genesis aka Mega Drive / some derivats),
    • GBS (Gameboy),
    • NSF & NSFe (Nes),
    • AY (Spectrum / Amstrad CPC),
    • SAP (Atari XL).
  • Modern:
    • Vorbis/Ogg,
    • MP3.

For MED, only MMD0 and MMD1 without Synthsounds supported.

For SID, only PSID. No BASIC / RSID playback, player skips these (see C64 section for details why).

Browsing folders

Select a folder and the player loops through all modules found in the selected directory.

Keymapping in this mode:

  • D-Pad Left/Right - Navigate through directories
  • D-Pad Up/Down - Navigate through files (hold to go faster)
  • Cross - Navigate through directories
  • Triangle - Add/remove highlighted file/directory to playlist
  • Square - Play all files in current directory
  • Circle - Play all files in highlighted directory, Start playlist
  • Start - Toggle shuffle on/off
  • Select - Exit player

If you press Square or Circle and nothing happens, then the player could not find any modules in the choosen directory. Otherwise the player starts playback.

You can optional create a textfile 'modo.cfg' which tells Modo to go to specific directory after first start.

You can also enable shuffle by default through the file. Please see modo.cfg.example for more details.

Remote controls

Remote control in directory browser:

  • Forward - Navigate through files
  • Backward - Navigate through files
  • Play - Play all modules in highlighted directory, Start playlist

Remote control in playback modes:

  • Forward - Load and play next file in directory / playlist
  • Backward - Load and play previous file in directory / playlist
  • Hold Forward - Fast forward / seek forward
  • Hold Backward - Goto start of song / seek backward (depends on the music format)
  • Play - Toggle pause

Playback modes

The playback knows three modes: module mode, C64 format mode and Console mode. There are few difference and some buttons have different meaning.

Playback timer:

  • You can set the upper limit how long a song should play. If the song is shorter it will not forced by this setting to play longer. Push the analog stick up / down to adjust timer.
  • This is useful for some formats, eg if you listen to C64 tunes, but you have no songlengths.txt available.

Module formats

Before the player loads the file, it shows for about two second the mod title, press now L or R to switch to next mod file. This way you can browse faster. If you do nothing, the player starts loading & playing.

Keymapping in this mode:

  • L/R - Load and play previous / next file in directory / playlist (hold to go faster)
  • D-Pad Left/Right - Seek backward / forward
  • Cross - Cycle through instruments / samples and comment section
  • Hold Cross - Setup how often a endless module should loop, does only apply
    • If the module loop. Default is to loop it three times. If a module does not loop, this setting does nothing.
  • Up / Down - Scroll messages
  • Triangle - Add one minute to sleep timer (hold to more)
  • Circle - Toggle volume boost
  • Hold Circle - Abort sleep timer
  • Square - Switch through speed / power saving
  • Start - Abort playback and go back to directory browser
  • Select - (un)pause

If a mod file supports instruments / samples / comment section and the author put messages in more than one section, then you can press the cross button to cycle through. In the right bottom corner you can see what section is currently displayed:

  • "INS" - Instruments
  • "SMPL" - Samples
  • "CMT" - Comment

INS, SMPL, CMT are only displayed if you can use the cross button. If none is displayed you already view the only available section.

The player shows little arrows in the right bottom corner if there are more messages in a section than the PSP can display. Use the up / down button to scroll in that case.

If the sleep timer reaches zero, the PSP will go in suspend mode.

The player knows five speed settings (power saving):

1 - Normal A (CPU ~ 166 MHz), everything is rendered.

  • This should be good for most module files out there.

2 - Drain my battery (CPU ~ 222 MHz), everything is rendered.

  • This should be enough reserve for even the biggest module files out there.

3 - Normal B (CPU ~ 166 MHz), songname and position is rendered.

  • This should be enough reserve for even the biggest module files out there.
  • Not rendering samples saves CPU cycles for playback routines.

4 - Reduced (CPU ~ 80 MHz), songname and position is rendered.

  • This should be enough for many modules, but there are a files which will not play to well.
  • Note: If a module begins to stutter in this mode, go back to menu via Start button. Do not press Square button again, otherwise you will most likely get stuck in 25Mhz forever (even using Home button then takes forever).

5 - Extreme (CPU ~ 25 MHz), nothing rendered on screen.

  • Still enough for most simpler module files, but it is not for sure that a module play well. You have to test.
  • While testing the PSP played for 8h nonstop in this mode (Screen off, 50% speaker volume), battery was full when started, after 8h it was a 56%.

(Known limits: You can not select / play indiviual files directly. You have to go through all files in the directory during playback.)

C64 formats

Supported formats: .sid / .mus

Keymapping in this mode:

  • L/R - Load and play previous / next file in directory
  • D-Pad Left/Right - Select next / previous subsong
  • Cross - Toggle SID model for current file: 6581 and 8580
  • Up - Toggle fast forward (x1.5) / normal play
  • Down - Toggle song length database support on / off
  • Triangle - Add one minute to sleep timer (hold to add more)
  • Circle - Toggle volume boost
  • Hold Circle - Abort sleep timer
  • Square - Switch through speed / power saving (166 Mhz A, 222 Mhz, 166 Mhz B only)
  • Start - Abort playback and go back to directory browser
  • Select - (un)pause

Notes:

  • If you toggle the SID model via cross button, it is only valid until you load a new file. It's there for fun, so you can hear if there is difference.
  • If a SID tune is marked with SID model "Unknown", the player defaults to 6581.
  • If a SID tune is marked with Clock speed "Unknown", the player defaults to PAL clock speed.
  • To permanent change the SID model and/or clock speed use SIDEdit (or a hex editor, scroll down for windows binary).
  • If current file was not found in the HVSC database or if the database is disabled, the player uses silence detection to skip to next subsong / file. If there is silence for approx. 2.5s, the player skips. If the song loops without a pause you have to advance manually.

HVSC song length database support:

  • Copy from the DOCUMENTS folder in the HVSC archive the file "Songlengths.txt" into the modo directory.

Why no BASIC / RSID support?

  • These tunes need complete simulation of C64 environment.
  • The library (libsidplay2) is fully capable of playing these tunes, but wasn't able to get full speed on the PSP. At 333 Mhz it is still not good enough. despite trying many things (lower sampling freq, no filter, crazy GCC flags...).

Only tested with SIDs from HVSC and MUSs from CGSC.

Console & Others

Supported formats: .spc, .vgm, .vgmz, .gym, .gbs, .nsf, .nsfe, .ay

Keymapping in this mode:

  • L/R - Load and play previous / next file in directory
  • D-Pad Left/Right - Select next / previous subsong (if supported by format)
  • Cross - No function
  • Up - Seek forward, it can take a moment, depending on the format
  • Down - Toggle song length support on / off
  • Triangle - Add one minute to sleep timer (hold to add more)
  • Circle - Toggle volume boost
  • Hold Circle - Abort sleep timer
  • Square - Switch through speed / power saving
  • Start - Abort playback and go back to directory browser
  • Select - (un)pause

Notes:

  • If you disable song length support the song plays forever if it loops.
  • GYM and Genesis-VGM's are fixed at 222Mhz, square button does not work if one of these is played.
  • 8bit machines can go down to 80Mhz (Master-System-VGM's, Gameboy, Spectrum / CPC, NES, Atari)

Modern MP3

Supported formats: .mp3 & .ogg (Vorbis/Ogg)

Keymapping in this mode:

  • L/R - Load and play previous / next file in directory
  • Up/Down - Scroll lyric, Seek
  • Left/Right - Seek
  • Triangle - Add one minute to sleep timer (hold to add more)
  • Circle - Toggle volume boost
  • Hold Circle - Abort sleep timer
  • Square - Switch through speed / power saving
  • Start - Abort playback and go back to directory browser
  • Select - (un)pause

Notes:

  • If you embed the song lyric in a MP3 file the player will display it, use Up / Down to scroll through it. The lyric has to be in the id3v2 tag USLT (Unsynchronized lyric transcription). Max. 80 lines.
  • Keep in mind that nearly all .ogg files use variable bitrate, so in 80Mhz mode it can happen that the player stutters for a few milliseconds if the bitrate gets to high (>250 kbits).
  • Ogg files which contains the following features are not loaded:
    • Surround sound
    • Frequency < 11khz
    • Frequency > 44.1khz
    • Multiple streams inside

Atari ST

Supported formats: .ym, .sndh, .sc68

Keymapping in this mode:

  • L/R - Load and play previous / next file in directory
  • Up - Seek forward (.ym) or fast forward (.sndh, .sc68)
  • Down - Seek backward (.ym) or toggle song length support on / off (.sndh, .sc68)
  • Triangle - Add one minute to sleep timer (hold to add more)
  • Circle - Toggle volume boost
  • Hold Circle - Abort sleep timer
  • Square - Switch through speed / power saving
  • Start - Abort playback and go back to directory browser
  • Select - (un)pause

Notes:

  • A very few .sndh can cause the player to hang. Just keep it in mind.
  • Some .sndh/.sc68 may stutter @ 80Mhz.

Mini-Playlist support for formats which supports subsongs

You can create a textfile to select which subsongs you want to hear.

Lets just look an example: "Cowboy_Kids.sid" has 4 subsongs. You want to hear song 2 and 4 only. You create a text file named "Cowboy_Kids.m3u" and place it in the same directory where Cowboy_Kids.sid is.

Open the textfile and write:

Cowboy_Kids.sid,2
Cowboy_Kids.sid,4

Save the file. Thats all.

You can also override the song title and song length:

Cowboy_Kids.sid,2,Dadaaddaaaadaaaaaaaaaaa,0:30
Cowboy_Kids.sid,4,Cowboy Kidz forever,25:00

You can replay also one song of course, we want to hear subsong 2, 3 and then 2 again:

Cowboy_Kids.sid,2
Cowboy_Kids.sid,4
Cowboy_Kids.sid,2

The file name is not really necessary, you can leave it blank but keep the comma:

,2
,4
,2

It's also a way skip those subsongs which are just some funky beeps, like a pause jingle or something. Eg, tetris.gbs or sml2.gbs (super mario land 2) has quite a few of them. Create a mini-playlist which just contains the reals songs or songs you like.

Screenshots

modopsp.png

modopsp2.png

Changelog

June 16, 2008

  • Upgraded to libmpg123 1.4.3. Fixes crash because of invalid ID3 tags.
  • Fixed volume boost. First boost level did nothing.
  • Improved MED playback. Instrument transpose value taken into account.
  • Added option to enable shuffle at startup. See included file modo.cfg.example.

February 26, 2008

  • Changed button functionality:
    • Press Circle - Toggle volume boost.
    • Hold Circle - Reset sleeptimer.
  • Added max play timer. Adjust via analog stick up/down. Useful if you listen to some console formats or SID.
  • For the tracker module playback:
    • Hold Cross - Select how often a module which loops gets played. Default is three times. If module does not loop, this setting does nothing.

January 28, 2008

  • Added MP3 support via libmpg123
  • If you embed the song lyric in a MP3 file the player will display it, use Up / Down to scroll through it. The lyric has to be in the id3v2 tag USLT (Unsynchronized lyric transcription). Max. 80 lines.

January 21, 2008

  • Rebuild latest version from October 14, 2007 for firmware 3.xx. See download link below. Nothing else changed since October.

October 14, 2007

  • I have updated the player, the following has changed:
  • Fixed bug in sid playback, some PSID were refused to play (Thx to Shazz).
  • Press Start button in menu to toggle shuffle on/off.
  • Menu browsing is now faster, hold up or down to go faster over time.
  • In playback mode if you hold L or R it will also go faster over time.
  • Added Atari ST support:
    • YM files via Leonard's ST-Sound library.
    • SC68 and SNDH files via Ben's sc68 library.

Credits

The player uses the following libraries for playback:

External links

Advertising: