Maxmod player

support for the gba/nds sound library from www.maxmod.org

Moderator: eKid

Post Reply
kuwanger
Posts: 3
Joined: Mon Sep 28, 2009 1:14 am

Maxmod player

Post by kuwanger » Mon Sep 28, 2009 2:08 am

I'm really impressed with maxmod, especially with mmutil's built-in test gba rom maker. Having said that, I was wondering if the test gba rom could be expanded a little. It'd be nice if the filename of each song was displayed while it was played. It'd also be nice to look through the instrument/sample names, since usually they contain various information about the song (like the full title). I looked into adding these features myself, but mmutil's gba.c seems to contain a binary dump of the gba rom player and I can't seem to find the original source code.

Regardless of if you accept my suggestions, thanks for all the work you've done. Maxmod is pretty amazing.

eKid
Posts: 65
Joined: Sat Dec 06, 2008 6:07 pm
Contact:

Re: Maxmod player

Post by eKid » Tue Sep 29, 2009 1:39 am

The module format used doesn't store the strings from the sources such as title and instrument/sample names... mmutil does load those things, but to get it to show them in the demo won't be easy :(
What would have to be done is first create another GBA test program for gba.c and then export it + the module data + the strings (and the program needs to know how to find those strings somehow).

An easier method would be to just make a GBA project with maxmod and add the string data manually--or make a tool to extract those things from the module sources.

The original demo source is here (svn)
http://svn.mukunda.com/mmgbarom
for some reason at the time I felt like writing it in the least sane way possible :)

kuwanger
Posts: 3
Joined: Mon Sep 28, 2009 1:14 am

Re: Maxmod player

Post by kuwanger » Tue Sep 29, 2009 3:30 pm

Looking through the source, I see what you mean. I've considered your suggestion, and I made a small hack so that mmgbarom should work as a binary pogoshell plugin with soundbanks. Unfortunately, I've two small problems. Problem one, I've setup the routine to reset on pressing L. The first thing reset does is turn off the music with mmStop. Unfortunately, that doesn't seem to work properly; ie, it gets stuck playing the last note. Two, testing out with plugin2gba, the lines are not being properly placed (one of the background layers is being shifted to the right by 64 pixels). I'm using SoftReset to reset everything but RAM, so I'm not sure why/how that's happening. In any case, if you'd like to look at my progress, here it is.

Edit: Okay, I think I figured out the problems. And apparently, I had actually broke binary pogoshell plugin support, so I've fixed that. You should be able to use mrom_mb.gba as either a binary or multiboot pogoshell plugin. Thanks for the demo source. It was very helpful.

Edit2: A few more edits (pattern control and time keeping) and I've set up a small webpage for updates. I'm not sure how much more work I'll do, since much more will probably require a pretty different UI, and I'm not particularly good at making those.

mrom.mb webpage

emilise
Posts: 1
Joined: Thu May 03, 2012 5:30 pm

Re: Maxmod player

Post by emilise » Thu May 03, 2012 5:40 pm

eKid wrote:An easier method would be to just make a GBA project with maxmod and add the string data manually--or make a tool to extract those things from the module sources.

The original demo source is here (svn)
http://svn.mukunda.com/mmgbarom
for some reason at the time I felt like writing it in the least sane way possible :)
It's unclear from the source provided for mmgbarom how to add a soundbank when building the maxmod demo (mmgbarom). Using info provided from the maxmod/basic_sound makefile:

#---------------------------------------------------------------------------------
# This rule links in binary data with the .bin extension
#---------------------------------------------------------------------------------
%.bin.o : %.bin
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)


provides the following error:


address 0x300e48c of /devel/devkitpro/examples/audio/mmgbarom/mrom_mb.elf section `.text' is not within region `iwram'


Is this the correct way or should there be an .incbin statement in the source at some point?

Compiling the program as it is without trying to include a soundbank provides a 13K rom with a white screen and random noise playing. What other files are needed to compile?

WinterMute
Site Admin
Posts: 1403
Joined: Tue Aug 09, 2005 3:21 am
Location: UK
Contact:

Re: Maxmod player

Post by WinterMute » Mon May 07, 2012 1:07 pm

Like eKid said, for some reason he decided to write that code in the least sane way possible. From a brief look at the code you're probably not going to be able to produce anything significant from that without overrunning the 32K iwram.

You'll be much better off using a standard setup from the examples.
Help keep devkitPro toolchains free, Donate today

devkitPro IRC support
Personal Blog

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest