Homebrew dsDoom music support?

Kippykip

j e f f
OP
Member
Joined
Mar 30, 2013
Messages
543
Trophies
0
Website
kippykip.com
XP
643
Country
Australia
Prdoom has a mp3 replacement support (e.g. if you want to change d_e1m1 to popcorn, rename a popcorn mp3 to e1m1.mp3 and place it in the root)

I know that they most likely won't update it to read mus files and playback them, but why not the prdoom mp3 thingy? look in the config, you'll find some interesting stuff like the mp3 playback

is there some code to allow the mp3 playback?
I've ripped all the music from the iwads of doom (Doom, Doom 2, Tnt, Plut-something-)
They are MIDS but I can convert them to mp3 like I did with wiiflow and we can enable it and then we have an almost finished DSDOOM! :D

Edit:
Code:
# Music
mus_e1m1                  "e1m1.mp3"
mus_e1m2                  "e1m2.mp3"
mus_e1m3                  "e1m3.mp3"
mus_e1m4                  "e1m4.mp3"
mus_e1m5                  "e1m5.mp3"
mus_e1m6                  "e1m6.mp3"
mus_e1m7                  "e1m7.mp3"
mus_e1m8                  "e1m8.mp3"
mus_e1m9                  "e1m9.mp3"
mus_e2m1                  "e2m1.mp3"
mus_e2m2                  "e2m2.mp3"
mus_e2m3                  "e2m3.mp3"
mus_e2m4                  "e2m4.mp3"
mus_e2m5                  "e1m7.mp3"
mus_e2m6                  "e2m6.mp3"
mus_e2m7                  "e2m7.mp3"
mus_e2m8                  "e2m8.mp3"
mus_e2m9                  "e3m1.mp3"
mus_e3m1                  "e3m1.mp3"
mus_e3m2                  "e3m2.mp3"
mus_e3m3                  "e3m3.mp3"
mus_e3m4                  "e1m8.mp3"
mus_e3m5                  "e1m7.mp3"
mus_e3m6                  "e1m6.mp3"
mus_e3m7                  "e2m7.mp3"
mus_e3m8                  "e3m8.mp3"
mus_e3m9                  "e1m9.mp3"
mus_inter                "e2m3.mp3"
mus_intro                "intro.mp3"
mus_bunny                "bunny.mp3"
mus_victor                "victor.mp3"
mus_introa                "intro.mp3"
mus_runnin                "runnin.mp3"
mus_stalks                "stalks.mp3"
mus_countd                "countd.mp3"
mus_betwee                "betwee.mp3"
mus_doom                  "doom.mp3"
mus_the_da                "the_da.mp3"
mus_shawn                "shawn.mp3"
mus_ddtblu                "ddtblu.mp3"
mus_in_cit                "in_cit.mp3"
mus_dead                  "dead.mp3"
mus_stlks2                "stalks.mp3"
mus_theda2                "the_da.mp3"
mus_doom2                "doom.mp3"
mus_ddtbl2                "ddtblu.mp3"
mus_runni2                "runnin.mp3"
mus_dead2                "dead.mp3"
mus_stlks3                "stalks.mp3"
mus_romero                "romero.mp3"
mus_shawn2                "shawn.mp3"
mus_messag                "messag.mp3"
mus_count2                "countd.mp3"
mus_ddtbl3                "ddtblu.mp3"
mus_ampie                "ampie.mp3"
mus_theda3                "the_da.mp3"
mus_adrian                "adrian.mp3"
mus_messg2                "messag.mp3"
mus_romer2                "romero.mp3"
mus_tense                "tense.mp3"
mus_shawn3                "shawn.mp3"
mus_openin                "openin.mp3"
mus_evil                  "evil.mp3"
mus_ultima                "ultima.mp3"
mus_read_m                "read_m.mp3"
mus_dm2ttl                "dm2ttl.mp3"
mus_dm2int                "dm2int.mp3"

Located in PRBOOM.CFG
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,839
Country
Poland
Adding MP3 support to dsDoom would be quite a task since it requires modifying ARM7 code. There are two libraries that I know of that support that format - ASLib which is greatly outdated, resource-monging and a part of the PALib kit and a library specifically-developed for dsQuake (a ported Helix library) - using either is not recommended. You can find both, but good luck modifying the project to support this. You're better off using module music since the bleeps and bloops could be easily modified into a soundbank and the standard devkitPro ARM7 core supports MaxMod.
 

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
1,044
Trophies
1
XP
3,032
Country
United States
As a note cquake rather than dsquake has mp3 playback. Someone packaged up an updated version of the cquake mp3 playback library (helix with ds code) that fixes the left channel only playback in cquake. I did not have enough free ram for stereo playback in cquake so I dropped the right channel.
 

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
1,044
Trophies
1
XP
3,032
Country
United States
Also, while I do not disagree that other methods are preferable, adding the cquake mp3 code would be rather easy. The library works with current libnds and the decode is all arm7 so it should not hurt performance too badly. Just add the start and stop calls and call the update once a frame in the main loop.
 

Kippykip

j e f f
OP
Member
Joined
Mar 30, 2013
Messages
543
Trophies
0
Website
kippykip.com
XP
643
Country
Australia
there was a version of chocolate doom that was updated to included mus to midi conversion with playback on the ds using pate's adlib library. I cannot find a project page for it - only this old thread http://devkitpro.org/viewtopic.php?f=6&t=2689&start=20
none of the links appear to work now though, but I do have a copy of the 0.4 source code.
I've already extracted the midis

Also, while I do not disagree that other methods are preferable, adding the cquake mp3 code would be rather easy. The library works with current libnds and the decode is all arm7 so it should not hurt performance too badly. Just add the start and stop calls and call the update once a frame in the main loop.
I'll have a look :)
 

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
1,044
Trophies
1
XP
3,032
Country
United States
The version of choc doom I am referring to doesn't require the music to be extracted and converted externally. It converts them as needed in game and then plays them. It avoids the issue of trying to redistribute the music in a different format and the copyright issues involved. And most people do not know how to convert mus to mp3.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,839
Country
Poland
As a note cquake rather than dsquake has mp3 playback.
Ahh, yes - you are correct. I knew it was some version of Quake for the DS. ;)
Also, while I do not disagree that other methods are preferable, adding the cquake mp3 code would be rather easy.
Tampering with the ARM7 Core isn't really recommended though unless you really know what you're doing - you might interfere with the communication between cores. :)
 

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
1,044
Trophies
1
XP
3,032
Country
United States
The mp3 library uses the libnds FIFO library for arm7 communication which does not interfere with the core communication. It is the recommended method. Building something new for the arm7 does require a higher level of knowledge, but using something that is already built is not quite as involved. It uses the default arm7 file with 2 addional function calls. mp3_init(); once before the main loop and mp3_process(); inside the main loop. And adding the library to the makefile. So I think it probably falls into more of an advanced novice category. It does not require understanding core communications.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: Also nice. Never really watched Fallout on Prime, but sounds like a good show. +1