English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 09 February 2023, 14:51   #1
oRBIT
Zone Friend
 
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 344
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.
oRBIT is offline  
Old 09 February 2023, 15:16   #2
koobo
Registered User
 
koobo's Avatar
 
Join Date: Sep 2019
Location: Finland
Posts: 371
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.
koobo is online now  
Old 09 February 2023, 19:17   #3
oRBIT
Zone Friend
 
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 344
Interesting stuff.
oRBIT is offline  
Old 09 February 2023, 22:29   #4
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,652
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.
Photon is offline  
Old 09 February 2023, 22:34   #5
saimon69
J.M.D - Bedroom Musician
 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,590
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
saimon69 is offline  
Old 10 February 2023, 05:23   #6
koobo
Registered User
 
koobo's Avatar
 
Join Date: Sep 2019
Location: Finland
Posts: 371
Quote:
Originally Posted by saimon69 View Post
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
Possibly here: http://old.exotica.org.uk/source/replays/SFX-SoundFX/
koobo is online now  
Old 10 February 2023, 10:07   #7
koobo
Registered User
 
koobo's Avatar
 
Join Date: Sep 2019
Location: Finland
Posts: 371
By popular request I looked at how David Whittaker Beast1 title tune looks like.
Some notes:
  • Music replay code and music data and samples are intertwined.
  • Based on this I assume editing is done using text editor and assembly files, probably using macros.
  • Pattern data consists of commands and notes. Multiple commands can be run before note. After note, a delay is performed, then another pattern step is run.
  • Commands can be either one byte or with one or two parameters.
  • There is a support for volume envelopes (common with synth formats and C64 tunes)
  • Period "envelopes", these control slides, arpeggio, vibrato. Didn't look too closely into these.
  • Note transposes, also common with synth formats and C64
  • Fade out mode with configurable fade out speed, then stop playback.

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.
koobo is online now  
Old 10 February 2023, 10:15   #8
oRBIT
Zone Friend
 
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 344
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".?
oRBIT is offline  
Old 10 February 2023, 10:21   #9
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,452
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:
Originally Posted by oRBIT View Post
What formats was used for songs like "Battle Squadron (title theme)" and IK+?
Battle Squadron is a custom format by Ron Klaren. IK+ is a custom format by David UncleArt Lowe.

Yes they coded their own music trackers and replay routines.
alexh is offline  
Old 10 February 2023, 10:25   #10
koobo
Registered User
 
koobo's Avatar
 
Join Date: Sep 2019
Location: Finland
Posts: 371
Quote:
Originally Posted by oRBIT View Post
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".?
Battle Squadron was made by Paul van der Valk, the format is called Future Composer. I assume he had an editor as the follow-up format Medley (used in Imploder 3 and 4 for example) had an editor which is available.

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.
koobo is online now  
Old 10 February 2023, 10:47   #11
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,452
Quote:
Originally Posted by koobo View Post
Battle Squadron was made by Paul van der Valk, the format is called Future Composer.
It was Ron Klaren and it is a custom format. The late Paul van der Valk did Hybris (and Turbo Imploder)
alexh is offline  
Old 10 February 2023, 10:51   #12
chip
Registered User
 
Join Date: Oct 2012
Location: Italy
Age: 49
Posts: 2,947
I love this thread .......
chip is offline  
Old 10 February 2023, 11:03   #13
koobo
Registered User
 
koobo's Avatar
 
Join Date: Sep 2019
Location: Finland
Posts: 371
Quote:
Originally Posted by alexh View Post
It was Ron Klaren and it is a custom format. The late Paul van der Valk did Hybris (and Turbo Imploder)
Of course, I mixed them up
koobo is online now  
Old 10 February 2023, 11:13   #14
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,452
In the unlikely event you ever wanted a native player for Sonic Arranger an open-source replay routine was developed for Ambermoon.net
alexh is offline  
Old 10 February 2023, 16:20   #15
NorthWay
Registered User
 
Join Date: May 2013
Location: Grimstad / Norway
Posts: 852
Quote:
Originally Posted by koobo View Post
IK+ was Dave Lowe custom format.
I have the source cd from his Kickstarter - I haven't checked if there is something on there for it.
NorthWay is offline  
Old 10 February 2023, 16:26   #16
no9
Registered User
 
no9's Avatar
 
Join Date: Feb 2018
Location: Poland
Posts: 362
Quote:
Originally Posted by koobo View Post
Battle Squadron was made by Paul van der Valk, the format is called Future Composer. I assume he had an editor as the follow-up format Medley (used in Imploder 3 and 4 for example) had an editor which is available.



It always bugged my why there are 5 bars displayed in Turbo Imploder.


[ Show youtube player ]
no9 is offline  
Old 10 February 2023, 16:33   #17
chip
Registered User
 
Join Date: Oct 2012
Location: Italy
Age: 49
Posts: 2,947
On this page

http://wt.exotica.org.uk/players.html

you can find source code for many custom musicreplayers
chip is offline  
Old 10 February 2023, 16:40   #18
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,835
Paul Van Der Valk is missing
kamelito is offline  
Old 11 February 2023, 22:07   #19
koobo
Registered User
 
koobo's Avatar
 
Join Date: Sep 2019
Location: Finland
Posts: 371
Found this vid where TFMX is used: [ Show youtube player ]

It demonstrates some sound macros, quite interesting.
koobo is online now  
Old 12 February 2023, 02:16   #20
LittleSandra88
Registered User
 
LittleSandra88's Avatar
 
Join Date: Jan 2023
Location: Denmark
Posts: 36
Quote:
Originally Posted by alexh View Post
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.
Given lots of the formats still were emulated. Why would they spend time on rewriting some to C? Performance can't be an issue, and by rewriting the code, bugs could be introduced, hence it would be better to use the emulated replayers?
LittleSandra88 is offline  
 


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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:32.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09750 seconds with 13 queries