09 February 2023, 14:51 | #1 |
Zone Friend
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 345
|
Custom musicreplayers
Out of curiosity has anyone trying to reverse some custom musicreplayers (David Whittaker for example but there are many.)? I'm must curious if they have any obvious benefits/cool features compared to "standard" Protracker modules-features.
|
09 February 2023, 15:16 | #2 |
Registered User
Join Date: Sep 2019
Location: Finland
Posts: 377
|
Don't know if these are considered custom, but one has to mention TFMX which is quite interesting, here's a comprehensive explanation of the format: https://github.com/libxmp/libxmp/blo...fmx-format.txt
For example, it can play samples backwards, as heard right at the start of the the R-type title tune, using a suitable macro. JamCracker has a bit different note data compared to ProTracker, it does not have commands, instead it has period, instruction, speed, arpeggio, phase, volume and portamento values for each note. Each note takes 8 bytes, which is quite a lot compared to many others. Paul van der Valk's Medley format has a "flanger" that is something I've not heard in other formats. It seems to continuously transform the waveforms of a channel independently of the actual note content. Last edited by koobo; 09 February 2023 at 15:23. |
09 February 2023, 19:17 | #3 |
Zone Friend
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 345
|
Interesting stuff.
|
09 February 2023, 22:29 | #4 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,727
|
It might be suggested that a format being custom means that a music editor for that specific format was never written. It means you can't create songs (save files) that follows that exact format specification.
This would cover automatic conversion, whether by loading or separately; e.g. .P61 is a custom format even if you can convert it back to Protracker .MOD. Once converted back, if it follows the .MOD format exactly, it's no longer a custom format, because a music editor was written for it. If a file was saved and converted from the music editor format, it may of course follow another format for which another music editor has been written, and then that format is not custom. Some further thoughts on the subject: If a music editor was written but not published (as in product release), or not released to more than a few, it might be tempting to still call it a custom format. Perhaps obscure format is a better term? Perhaps one also requires that it can edit the song completely and save the entire song; any manual adding of data structure to it between saving and playing in the same editor or another would change it to another format, and if there's no editor for the manually edited data, it's custom again. It seems that a replay program or routine is not required, as long as the music editor can play the format. Put in other words: even the largest amount of released programs or routines to play it will never make a custom format non-custom. |
09 February 2023, 22:34 | #5 |
J.M.D - Bedroom Musician
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,635
|
Is there any player for the old SoundFx format? I remember the tracker was producing a self contained executable but did not see any source code
|
10 February 2023, 05:23 | #6 | |
Registered User
Join Date: Sep 2019
Location: Finland
Posts: 377
|
Quote:
|
|
10 February 2023, 10:07 | #7 |
Registered User
Join Date: Sep 2019
Location: Finland
Posts: 377
|
By popular request I looked at how David Whittaker Beast1 title tune looks like.
Some notes:
It can be seen that matching notes with neighbouring channels needs careful setting up of the note delays. This would point towards an editor that could help in doing this. On the other hand (I think) this was common on the C64 and Mr. Whittaker could probably do all of this in his head with ease. Excerpt from Beast1 title tune: Code:
songsTable * entry is 10 bytes, then another song. * this one seems to have just one song dc.b 5 * Note delay counter multiplier dc.b $10 dc.w lbW00086A-lbC000000 * ch1 dc.w lbW000864-lbC000000 * ch2 dc.w lbW000870-lbC000000 * ch3 dc.w lbW000876-lbC000000 * ch4 * ch1 positions lbW000864 dc.w lbB00087C-lbC000000 * ch1 note data offset: position 1 dc.w lbB00089C-lbC000000 * ch1 note data offset: position 2 dc.w 0 * end of positions * ch2 positions lbW00086A dc.w lbB0008B1-lbC000000 dc.w lbB0008D4-lbC000000 dc.w 0 * ch3 positions lbW000870 dc.w lbB000921-lbC000000 dc.w lbB000A0D-lbC000000 dc.w 0 * ch4 positions lbW000876 dc.w lbB000BB4-lbC000000 dc.w lbB000CA4-lbC000000 dc.w 0 * channel 1 position 1 note data lbB00087C dc.b $85 * global note transpose to 1 dc.b 1 dc.b $B6 * Set sample 6 dc.b $A0 * Set volume envelope 0 dc.b $FF * Set delay counter to 32 dc.b $86 * Read period control values 1,2 dc.b 1 dc.b 2 dc.b $18 * note $18 dc.b $18 dc.b $18 dc.b $18 dc.b $18 dc.b $16 * note $16 dc.b $16 dc.b $16 dc.b $18 dc.b $A2 * Set volume envelope 2 dc.b $FF * Set delay counter to 32 dc.b $18 dc.b $18 dc.b $1D dc.b $1D dc.b $18 dc.b $18 dc.b $1D dc.b $1D dc.b $18 dc.b $18 dc.b $89 * go to note data pointer at offset $866 (next position below) dc.b 8 dc.b $66 * channel 1 position 2 note data lbB00089C lbB00089C dc.b $1D * note $1d dc.b $1D dc.b $18 dc.b $18 dc.b $1D dc.b $1D dc.b $18 dc.b $18 dc.b $1D dc.b $1D dc.b $18 dc.b $18 dc.b $22 dc.b $22 dc.b $18 dc.b $18 dc.b $22 dc.b $22 dc.b $18 dc.b $18 dc.b $80 * Go to start and loop again * channel 2 position 1 lbB0008B1 dc.b $A7 * set volume envelope 7 dc.b $BA * set sample 10 dc.b $FF * set note delay 32 dc.b $86 * set period control values 1,2 dc.b 1 dc.b 2 dc.b $24 * note $24 dc.b $83 * wait until note delay expires dc.b $83 dc.b $83 dc.b $83 dc.b $BB * Set sample 11 dc.b $22 * note $22 dc.b $83 * wait until note delay expires dc.b $83 dc.b $BA * Set sample 20 dc.b $24 * Note $24 dc.b $A9 * Set volume enveope 9 dc.b $FF * set note delay 32 dc.b $24 * Note $24 dc.b $83 * wait until note delay expires dc.b $A4 * set volume envelope 4 dc.b $FF * set note delay 32 dc.b $BA * set sample 10 dc.b $29 * Note $29 dc.b $29 dc.b $24 dc.b $24 dc.b $29 dc.b $29 dc.b $24 dc.b $83 * wait until note delay expires dc.b $89 * go to note data pointer at offset $86c dc.b 8 dc.b $6C * Channel 2 position 2 note data lbB0008D4 dc.b $AE * Set volume envelope $e dc.b $B8 * Set sample 8 dc.b $E3 * Set note delay 3 dc.b $24 * Note $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $E1 * Set note delay 1 dc.b $24 * Note $24 dc.b $B9 * set sample 9 dc.b $24 * note $24 dc.b $B7 * set sample 7 dc.b $E3 * set note delay 3 dc.b $24 * note $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $E1 * Set note delay 1 dc.b $B9 * set sample 9 dc.b $24 * note $24 dc.b $24 dc.b $B8 * sample 9 dc.b $E3 * delay 3 dc.b $24 * note $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $E1 * delay 1 dc.b $24 * note $24 dc.b $B9 * sample 9 dc.b $24 dc.b $B7 * sample 7 dc.b $E3 * delay 3 dc.b $24 * and so on :-) dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $24 dc.b $E1 dc.b $24 dc.b $B9 dc.b $24 dc.b $A4 dc.b $FF dc.b $BA dc.b $29 dc.b $29 dc.b $24 dc.b $24 dc.b $29 dc.b $29 dc.b $24 dc.b $83 dc.b $BB dc.b $22 dc.b $22 dc.b $BA dc.b $24 dc.b $24 dc.b $BB dc.b $22 dc.b $22 dc.b $BA dc.b $24 dc.b $24 dc.b $80 * start over Last edited by koobo; 10 February 2023 at 10:13. |
10 February 2023, 10:15 | #8 |
Zone Friend
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 345
|
Geeky stuff but I love it.
What formats was used for songs like "Battle Squadron (title theme)" and IK+? There seems to be many custom formats out there (with custom I mean non-protracker ), did musicians back then coded their own "tracker-software" that were never available to the public? Hopefully they didn't code their stuff "by hand".? |
10 February 2023, 10:21 | #9 | |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,529
|
Florian Vorberger & Peter Kunath (who wrote Delitracker on the Amiga) converted a lot of exotic music replayers into C so they could be played natively without emulation. Unfortunately they have left the scene and didn't open-source their work but they left behind Deliplayer. An x86 Windows program for playing music. It has gone a bit stale since Windows XP. It runs on Windows 10 but you have to jump through a few hoops and it's clunky.
Quote:
Yes they coded their own music trackers and replay routines. |
|
10 February 2023, 10:25 | #10 | |
Registered User
Join Date: Sep 2019
Location: Finland
Posts: 377
|
Quote:
IK+ was Dave Lowe custom format. It's quite possible that many of these exotic formats were just edited by hand without any specific editor. |
|
10 February 2023, 10:47 | #11 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,529
|
|
10 February 2023, 10:51 | #12 |
Registered User
Join Date: Oct 2012
Location: Italy
Age: 49
Posts: 2,955
|
I love this thread .......
|
10 February 2023, 11:03 | #13 |
Registered User
Join Date: Sep 2019
Location: Finland
Posts: 377
|
|
10 February 2023, 11:13 | #14 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,529
|
In the unlikely event you ever wanted a native player for Sonic Arranger an open-source replay routine was developed for Ambermoon.net
|
10 February 2023, 16:20 | #15 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 855
|
|
10 February 2023, 16:26 | #16 | |
Registered User
Join Date: Feb 2018
Location: Poland
Posts: 371
|
Quote:
It always bugged my why there are 5 bars displayed in Turbo Imploder. [ Show youtube player ] |
|
10 February 2023, 16:33 | #17 |
Registered User
Join Date: Oct 2012
Location: Italy
Age: 49
Posts: 2,955
|
On this page
http://wt.exotica.org.uk/players.html you can find source code for many custom musicreplayers |
10 February 2023, 16:40 | #18 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,870
|
Paul Van Der Valk is missing
|
11 February 2023, 22:07 | #19 |
Registered User
Join Date: Sep 2019
Location: Finland
Posts: 377
|
Found this vid where TFMX is used:
[ Show youtube player ]
It demonstrates some sound macros, quite interesting. |
12 February 2023, 02:16 | #20 | |
Registered User
Join Date: Jan 2023
Location: Denmark
Posts: 36
|
Quote:
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Custom Bezel Help? | lordofchaos | support.WinUAE | 4 | 18 January 2021 20:00 |
Custom joystick | Retrofan | Amiga scene | 3 | 15 March 2016 14:08 |
Custom Cases | mancity | Amiga scene | 21 | 06 June 2015 16:05 |
My Custom A600... | mfilos | Hardware mods | 148 | 31 May 2013 16:30 |
My custom A4000D... | mfilos | Hardware mods | 48 | 11 June 2012 17:06 |
|
|