Homebrew MusicPlayer Advance: ID-ing compression algorithm from 2003 homebrew

therealbenwiley

New Member
OP
Newbie
Joined
Feb 23, 2024
Messages
2
Trophies
0
XP
18
Country
Canada
Hi there, I'm new to these forums, looking for folks who might know about GBA homebrew toolchains from 2003.

I came because I'm working on trying to reverse engineer the ROM-building process for MusicPlayer Advance, Neimod's 2003 WinAMP-inspired homebrew for GBA. I know there are better-maintained music player solutions like GSMPlayer, but I find MPA to be charming and the Windows software for converting audio and packing it into the ROM still works!

The (somewhat tedious) process goes like this:
1. Convert audio files to PCM (WAV) with specific bitrate and sample rate
2. Use MPAWRITE.exe to convert PCM to "MPA" format (mystery compression), one file at a time.
3. Use MPAWRITE.exe to insert a playlist of MPA format tracks into the music player ROM.

I'm a web dev and I want to build a web app that automates this whole process, so you upload a list of songs and it spits out a MusicPlayer Advance ROM with your music included.

I already successfully spec'd the format used for packing MPA into the ROM, but I haven't figured out what compression is used to convert PCM to the MPA format. I figured folks familiar with early GBA homebrew toolchains might be able to provide insights. Were there common types of file compression, or common audio file types, used for homebrew games at the time?

I have attached a folder with all the MusicPlayer Advance files, plus a text file where I describe the spec of the MPA audio storage in the GBA ROM, and also a before/after sample of PCM converted to MPA.
 

Attachments

  • MusicPlayer_Advance_2-20240224T170549Z-001.zip
    1.4 MB · Views: 23
  • Like
Reactions: Titney

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    You're a towel
  • BigOnYa @ BigOnYa:
    No, you're a towel
  • K3Nv2 @ K3Nv2:
    No you're a towel
  • BigOnYa @ BigOnYa:
    No you're a......wut. Wanna get hjgh?
  • K3Nv2 @ K3Nv2:
    Crazy people actually spend $50 on that stuff
  • BigOnYa @ BigOnYa:
    Towelie runs my farm, he's awesome.
  • SylverReZ @ SylverReZ:
    @K3Nv2, Polly is still around from what I've heard.
  • K3Nv2 @ K3Nv2:
    @SylverReZ, is Pollys alt I knew it
  • BigOnYa @ BigOnYa:
    Yea I see him every once whi!e , incognito
  • SylverReZ @ SylverReZ:
    @K3Nv2, I'm not him. Keep looking.
    +1
  • K3Nv2 @ K3Nv2:
    Still don't know why he left unless someone really hurt his feelings
  • K3Nv2 @ K3Nv2:
    Don't know why people get so emotional online just get over it ffs
    +2
  • BigOnYa @ BigOnYa:
    He was the ass of gbatemp, everyone knocked on him, I honestly felt bad, even though I was guilty myself, but he egged it all on himself,
  • BigOnYa @ BigOnYa:
    But he still here, but under dif name, he pm me sometimes still even.
  • K3Nv2 @ K3Nv2:
    It's like they think we'll be in their bed pissing on it the next day
  • BigOnYa @ BigOnYa:
    I feel like gbatemp should make t-shirts or memorabilia to remember the lost ones. I bet the Polly shirts would sell out quick.
  • K3Nv2 @ K3Nv2:
    Nah that could actually bring lawsuits
  • K3Nv2 @ K3Nv2:
    Tempsuits
  • BigOnYa @ BigOnYa:
    PollySuits
  • BigOnYa @ BigOnYa:
    Your correct, Somebody would be guilty and there would be riots, then they storm the gbatemp capitol,
  • K3Nv2 @ K3Nv2:
    Online or not there are still certain rights that judges would have no issue handing out a warrant over
  • K3Nv2 @ K3Nv2:
    Just look at Kim dotcom
  • BigOnYa @ BigOnYa:
    Honestly I'm scared to, from you, but ok, lemme turn on vpn, virtual machine, private browser first
  • K3Nv2 @ K3Nv2:
    Remember that Alexa robot I gifted you
  • K3Nv2 @ K3Nv2:
    And that laptop Webcam you never tapped up
    K3Nv2 @ K3Nv2: And that laptop Webcam you never tapped up