gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > Helix mp3dec

#130673 - DVSoftware - Wed Jun 06, 2007 3:38 pm

Sorry if i'm repeating a question, but i could not find what i need on this forum, so i'll ask.
First, i couldn't find a link for helix mp3dec download on their website.
Second, i need an advice and help on how to use it from my application (game) to stream mp3 file from fat. I'd like to use ARM7 to decode data because i don't think ARM9 can handle both mp3 decoding and game actions.
Why mp3 you may ask? Well, i'm making a music game (something similar to guitar hero) where full songs should be played, and i don't want to lose quality on songs.

Thanks

#130675 - kusma - Wed Jun 06, 2007 3:57 pm

Why not use RAW audio instead of MP3, then? MP3s are lossy, you know...

#130678 - DVSoftware - Wed Jun 06, 2007 4:25 pm

raw audio is big. i didn't say that it needs to be lossless, mp3 is just fine.

#130690 - Dood77 - Wed Jun 06, 2007 6:11 pm

You might wanna have a look at the thread entitled: Helix mp3 Decoder
Its a little ways down the first page on DS development
_________________
If I use a term wrong or something then feel free to correct, I?m not much of a programmer.

Original DS Phat obtained on day of release + flashme v7
Supercard: miniSD, Kingston 1GB, Kingston 2GB
Ralink chipset PCI NIC

#130695 - DVSoftware - Wed Jun 06, 2007 7:40 pm

i did, but again, i couldn't find download link (ok, maybe i'm stupid but i really can't find it)
and second, i have no idea how to stream it

#130728 - DVSoftware - Thu Jun 07, 2007 2:51 am

can anyone at least point me to the download link so i can experiment. Helix website is so damn confusing, under download there aren't any packages :/

#130731 - DragonMinded - Thu Jun 07, 2007 5:33 am

You have to check the decoder out of their CVS repository.
_________________
Enter the mind of the dragon.

http://dragonminded.blogspot.com

Seriously guys, how hard is it to simply TRY something yourself?

#130775 - DVSoftware - Thu Jun 07, 2007 8:45 pm

ok, i did download it now, but i can't get it to compile (i did change the makefile)
Code:

arm-eabi-gcc -MMD -MP -MF /home/dvsoftware/devkitpro/mp3/arm7/build/polyphase.d -g -Wall -O2 -mcpu=arm7tdmi -mtune=arm7tdmi -fomit-frame-pointer -ffast-math  -I/home/dvsoftware/devkitpro/mp3/arm7/include -I/home/dvsoftware/devkitpro/mp3/arm7/build -I/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/pub -I/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/pub/hxclib -I/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/pub/include -I/home/dvsoftware/devkitpro/libnds/include -I/home/dvsoftware/devkitpro/mp3/arm7/build -DARM7 -c /home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c -o polyphase.o
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c: In function 'xmp3_PolyphaseMono':
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:118: error: 'Word64' undeclared (first use in this function)
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:118: error: (Each undeclared identifier is reported only once
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:118: error: for each function it appears in.)
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:118: error: expected ';' before 'sum1L'
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:120: error: 'rndVal' undeclared (first use in this function)
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:125: error: 'sum1L' undeclared (first use in this function)
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:127: warning: implicit declaration of function 'MADD64'
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:136: warning: implicit declaration of function 'SAR64'
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:161: error: 'sum2L' undeclared (first use in this function)
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c: In function 'xmp3_PolyphaseStereo':
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:231: error: 'Word64' undeclared (first use in this function)
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:231: error: expected ';' before 'sum1L'
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:233: error: 'rndVal' undeclared (first use in this function)
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:238: error: 'sum1L' undeclared (first use in this function)
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:238: error: 'sum1R' undeclared (first use in this function)
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:276: error: 'sum2L' undeclared (first use in this function)
/home/dvsoftware/devkitpro/mp3/arm7/source/mp3/real/polyphase.c:277: error: 'sum2R' undeclared (first use in this function)
make[2]: *** [polyphase.o] Error 1
make[1]: *** [build] Error 2
make[1]: Leaving directory `/home/dvsoftware/devkitpro/mp3/arm7'
make: *** [arm7/mp3.elf] Error 2

#130793 - DragonMinded - Fri Jun 08, 2007 1:06 am

Did you bother to make sure things were defined properly. Just look at the right data type for word64 and the rest of those will be properly defined...
_________________
Enter the mind of the dragon.

http://dragonminded.blogspot.com

Seriously guys, how hard is it to simply TRY something yourself?

#130795 - DVSoftware - Fri Jun 08, 2007 1:19 am

yes i did, i even tried manually defining it, but then real/arm/*.s wouldn't compile :/

Code:
asmmisc.s
arm-eabi-gcc -MMD -MP -MF /home/dvsoftware/devkitpro/mp3/arm9/build/asmmisc.d -x assemb  ler-with-cpp -g  -march=armv5te -mtune=arm946e-s -c /home/dvsoftware/devkitpro/mp3/arm9  /source/mp3/real/arm/asmmisc.s -o asmmisc.o
/home/dvsoftware/devkitpro/mp3/arm9/source/mp3/real/arm/asmmisc.s:47:5: warning: no new  line at end of file
/home/dvsoftware/devkitpro/mp3/arm9/source/mp3/real/arm/asmmisc.s: Assembler messages:
/home/dvsoftware/devkitpro/mp3/arm9/source/mp3/real/arm/asmmisc.s:36: Error: bad instru  ction `area |.text|,CODE,READONLY'
/home/dvsoftware/devkitpro/mp3/arm9/source/mp3/real/arm/asmmisc.s:38: Error: bad instru  ction `int xmp3_MULSHIFT32(int x,int y)'
/home/dvsoftware/devkitpro/mp3/arm9/source/mp3/real/arm/asmmisc.s:40: Error: bad instru  ction `export xmp3_MULSHIFT32'
/home/dvsoftware/devkitpro/mp3/arm9/source/mp3/real/arm/asmmisc.s:42: Error: bad instru  ction `xmp3_mulshift32'
/home/dvsoftware/devkitpro/mp3/arm9/source/mp3/real/arm/asmmisc.s:47: Error: bad instru  ction `end'
make[1]: *** [asmmisc.o] Error 1
make: *** [build] Error 2


(Yes in the meantime i switched to arm9, to see if that's the problem, but no...)

#130815 - tyraen - Fri Jun 08, 2007 12:13 pm

I'm no expert, but could it be that there are some assembler instructions that aren't implemented in the DS ARM processor that the Helix assembly code expects?

#130816 - DVSoftware - Fri Jun 08, 2007 12:49 pm

ok, i figured it out, i just needed asmpoly_gcc.s without other .s files and without polyphase.c

now, i have to figure out how to playback mp3 from fat with this :D