harrysintonen ,
@harrysintonen@infosec.exchange avatar

Couple of days ago at @h0ffman twitch stream we were watching a cool 500 demo “Multicolor” by Unique and a question popped up whether the soundtrack was available as a mod file. I didn’t find it with the usual searches so I set up to dump it from the demo. These are the steps I ended up doing:

  1. Download the demo archive and extract the LhA archive.
  2. Perform recon on the binary to identify what kind of a player it is. The binary wasn’t compressed and strings were visible. “M.K.” identifier wasn’t found but ThePlayer 6.1 player signature “P61A” was.
  3. Load the binary in venerable Amiga Monitor.
  4. Search the code section for “cmp.l #’P61A’,(a0)+”, magic value (0x0c,0x98,’P61A’) found inside the P61_Init routine.
  5. Set a breakpoint inside the P61A_Init routine.
  6. Execute the demo to run into the breakpoint to find the start address of the module (passed in register A0).
  7. Write the “enough” bytes from A0 to a file. How much is enough? I guestimated the mod would not be more than 256K since the demo ran on A500 with 512K chip memory.
  8. Launch P61Con converter and convert the P61 module back to regular ProTracker one.

I did this using our own PowerPC based operating system, . The demo itself and the P61Con are 68k amiga apps. This works because MorphOS has a JIT to enable transparent execution of 68k code. To top things off I ran MorphOS on my MacBook Pro M3 in . This was 2 layers of JIT emulation: Apple Silicon M3 emulating PowerPC 7448 emulating Motorola 68060.

I'm sure that these days there are modern ways to carve the mod files (including P61A ones) from executables but resorting to the old ways™ was kind of fun.

Links:
• Multicolor by Unique: https://www.pouet.net/prod.php?which=51737
• The Player P61A converter: https://aminet.net/package/mus/misc/P6108
• MorphOS: https://www.morphos-team.net/
• The ripped mod file: https://sintonen.fi/scene/u-multicolor.mod

The Player 6.1A modplayer P61_Init routine. Note the "cmp.l #"P61A",(a0)+" as par of the init routine.
MorphOS running in QEmu under macOS Sonoma.
The ripped mod playing in ProTracker 2 clone v1.57.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • hacking
  • kamenrider
  • Rutgers
  • steinbach
  • Lexington
  • cragsand
  • mead
  • RetroGamingNetwork
  • mauerstrassenwetten
  • loren
  • xyz
  • PowerRangers
  • AnarchoCapitalism
  • WatchParties
  • itdept
  • supersentai
  • neondivide
  • space_engine
  • AgeRegression
  • WarhammerFantasy
  • Teensy
  • learnviet
  • bjj
  • khanate
  • electropalaeography
  • MidnightClan
  • jeremy
  • Mordhau
  • fandic
  • All magazines