Page 1 of 1

Maxmod player

Posted: Mon Sep 28, 2009 2:08 am
by kuwanger
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.

Re: Maxmod player

Posted: Tue Sep 29, 2009 1:39 am
by eKid
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 :)

Re: Maxmod player

Posted: Tue Sep 29, 2009 3:30 pm
by kuwanger
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

Re: Maxmod player

Posted: Thu May 03, 2012 5:40 pm
by emilise
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?

Re: Maxmod player

Posted: Mon May 07, 2012 1:07 pm
by WinterMute
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.