Skip to content

Adlib tracker 2 VGM packs? Dosbox DRO2VGM troubles :(

Technical discussion about the VGM format, and all the software you need to handle VGM files.

Moderator: Staff

  • User avatar
  • grauw Offline
  • Posts: 150
  • Joined: 2015-02-22, 3:40:22

Post by grauw »

Thanks MaliceX, I will give it a try.
  • zzo38 Offline
  • Posts: 51
  • Joined: 2013-02-18, 3:17:44
  • Contact:

Post by zzo38 »

Another way to convert Adlib tracker 2 files into VGM is to write a converter that doesn't need DOS. It is doing playback but is writing the commands to a file instead of to the sound card; the only difference is now you need to add the special handling of global loops. (BAMTOVGM works in this way. A similar thing could be done for Adlib tracker.)
  • User avatar
  • dexx Offline
  • Posts: 8
  • Joined: 2015-05-04, 8:00:56

Post by dexx »

holy smokes ;) this is cool, gonna try this out! thanks!!
  • User avatar
  • grauw Offline
  • Posts: 150
  • Joined: 2015-02-22, 3:40:22

Post by grauw »

@MaliceX I still can’t hear the click drums on my MSX’s OPL4. I’m really suspecting now that it greatly depends on the DAC and/or filter on the output, or maybe some difference between the OPL3 and OPL4. The noise floor in the original recording suggests on his sound card there is little filtering. The original playback frequency of the song seems to be around 800 Hz.

@MrKsoft Nice song :). Both versions sound ok on vgmplay-msx, no weird hanging drums in the Dosbox version like in the emulation. The hang greatly exceeds the recording frequency so something strange is going on there. The original replay frequency on this song seems to be around 300 Hz.

(Now that vgmplay-msx has a 4000 Hz resolution on MSX turboR, I can quite easily tell the original replay frequency by the number of fat debug activity indicator bars that appears on my screen during a frame, and how many thinner bars are inbetween.)
  • User avatar
  • MaliceX Offline
  • Posts: 226
  • Joined: 2012-09-29, 11:45:48
  • Location: Australia
  • Contact:

Post by MaliceX »

zzo38 wrote:Another way to convert Adlib tracker 2 files into VGM is to write a converter that doesn't need DOS. It is doing playback but is writing the commands to a file instead of to the sound card; the only difference is now you need to add the special handling of global loops. (BAMTOVGM works in this way. A similar thing could be done for Adlib tracker.)
In my hack-in, I simply grafted function calls to the ymf262 emulation core's interface functions by using helper code from my OPL3 MIDI Driver fork project. What you hear is what you get essentially. It would be nice to have an offline converter but that requires more time and effort. Also this solution is the SDL win32 port, so I'm not sure where you're getting DOS from.

grauw: the log resolution appears to capture commands in sync with AdlibTracker's internal delays between each row when transcoding its synth engine to chip commands. So the delays are actually more consistent with the song than how DOSBOX does it (especially since we're doing so natively, not using an emulated CPU) Songs with more rows per second or faster tempo will have smaller delays. I have already verified this behaviour. :)
-dj.tuBIG/MaliceX
  • User avatar
  • dexx Offline
  • Posts: 8
  • Joined: 2015-05-04, 8:00:56

Post by dexx »

so, some people already know this... i got myself a 2nd gimic, this time with a PCM playback chip onboard, X68000 songs will sound like the original and maybe SegaPCM enabled games too :mrgreen: gonna keep you guys updated

Post by vampirefrog »

Could you fill up some info on the wiki for us, please?

Be sure you're logged in on the forum:

http://vgmrips.net/w/index.php?title=G. ... &redlink=1

Maybe a link to its homepage, and you can write as much as you want.
  • User avatar
  • MaliceX Offline
  • Posts: 226
  • Joined: 2012-09-29, 11:45:48
  • Location: Australia
  • Contact:

Post by MaliceX »

By request, updated VGM mod to current HEAD of git for AdlibTrackerII.

https://www.dropbox.com/s/0iwuixdkung33 ... g.exe?dl=0

Same usage. Note that start-stop of logging is now tied to SDL playback routine.
-dj.tuBIG/MaliceX
  • User avatar
  • Sanicderpy Offline
  • Posts: 17
  • Joined: 2020-05-07, 22:07:04
  • Location: Australia

Post by Sanicderpy »

MaliceX wrote:By request, updated VGM mod to current HEAD of git for AdlibTrackerII.

https://www.dropbox.com/s/0iwuixdkung33 ... g.exe?dl=0

Same usage. Note that start-stop of logging is now tied to SDL playback routine.
Wanted to give this a shot and works perfectly! I chose to rip "Alloyrun.RAD" as this one of my favorite from the modules folder that comes with the OG DOS version Adlib Tracker II.
I've even attached a completed vgm rip and loops as well. Found it a bit finicky to figure it out how to play the tracker file. Will logged vgms of Adlib tracker files will be allowed in the homebrew section, or not as I don't own the original song?
Attachments
Alloyrun.RAD.vgm
(90.07 KiB) Downloaded 260 times
  • User avatar
  • MrKsoft Offline
  • Posts: 25
  • Joined: 2012-05-24, 19:11:36

Post by MrKsoft »

Sanicderpy wrote:
MaliceX wrote:By request, updated VGM mod to current HEAD of git for AdlibTrackerII.

https://www.dropbox.com/s/0iwuixdkung33 ... g.exe?dl=0

Same usage. Note that start-stop of logging is now tied to SDL playback routine.
Wanted to give this a shot and works perfectly! I chose to rip "Alloyrun.RAD" as this one of my favorite from the modules folder that comes with the OG DOS version Adlib Tracker II.
I've even attached a completed vgm rip and loops as well. Found it a bit finicky to figure it out how to play the tracker file. Will logged vgms of Adlib tracker files will be allowed in the homebrew section, or not as I don't own the original song?
Hey, I have always approached this with the idea that vgmrips was focusing on game music, and it's hard to make an "Adlib Tracker II" pack cause anyone can make a song for it. :)

This is kind of me self promoting (I guess I did on the last page too) but because of that I wanted to bring attention to my continuing effort already going to make VGMs of non-game OPL2/3 music: Wafflenet OPL Archive. If you are looking to log songs from AT2 and other trackers you can send them over to me and I will add them. Though, for ones that only use OPL2 commands they may be better ripped using the original program such as RAD itself, for chip type and playback engine accuracy. The AT2 VGM log assumes an OPL3 and I don't think we can "downconvert" them from OPL3 VGMs to OPL2 even if they only use OPL2 channels and waveforms. (Brought this up cause Alloyrun is actually a good example of that. I have it in my archive already, but ripped in RAD so that it's properly an OPL2 VGM)
The Wafflenet OPL Archive
PC/DOS demoscene & tracker music... in VGM format!
  • User avatar
  • Sanicderpy Offline
  • Posts: 17
  • Joined: 2020-05-07, 22:07:04
  • Location: Australia

Post by Sanicderpy »

Thanks for letting me know! I was just testing to see if the program works, I kinda knew that having vgm packs of Adlib Tracker II mods are not allowed because anyone can just make them.
Anyway, It's great how you're making an effort to archive Adlib tracker files into vgm format (I mean you done a heck of a lot so far), I didn't really know that Alloyrun was an OPL2 Module (that saved me the trouble as you've already archived it) and I'll like to help you out archiving Adlib Tracker files someday as this is pretty interesting.

However, I want to bring this in attention because Adlib Tracker II comes with example modules, I wondering if those can be allowed instead? Not to mention Gnome made a vgm pack a while back that contains the sample MIDI's from Windows 3.0 MME and 3.1 logged in OPL3.
  • denjhang Offline
  • Posts: 95
  • Joined: 2021-03-24, 4:44:34
  • Location: hk

Post by denjhang »

Thank you, this is exactly what I am looking for. I think there are too many good music like adlib tracker format that have not been discovered.
MrKsoft wrote:
Sanicderpy wrote:
MaliceX wrote:By request, updated VGM mod to current HEAD of git for AdlibTrackerII.

https://www.dropbox.com/s/0iwuixdkung33 ... g.exe?dl=0

Same usage. Note that start-stop of logging is now tied to SDL playback routine.
Wanted to give this a shot and works perfectly! I chose to rip "Alloyrun.RAD" as this one of my favorite from the modules folder that comes with the OG DOS version Adlib Tracker II.
I've even attached a completed vgm rip and loops as well. Found it a bit finicky to figure it out how to play the tracker file. Will logged vgms of Adlib tracker files will be allowed in the homebrew section, or not as I don't own the original song?
Hey, I have always approached this with the idea that vgmrips was focusing on game music, and it's hard to make an "Adlib Tracker II" pack cause anyone can make a song for it. :)

This is kind of me self promoting (I guess I did on the last page too) but because of that I wanted to bring attention to my continuing effort already going to make VGMs of non-game OPL2/3 music: Wafflenet OPL Archive. If you are looking to log songs from AT2 and other trackers you can send them over to me and I will add them. Though, for ones that only use OPL2 commands they may be better ripped using the original program such as RAD itself, for chip type and playback engine accuracy. The AT2 VGM log assumes an OPL3 and I don't think we can "downconvert" them from OPL3 VGMs to OPL2 even if they only use OPL2 channels and waveforms. (Brought this up cause Alloyrun is actually a good example of that. I have it in my archive already, but ripped in RAD so that it's properly an OPL2 VGM)
  • daemon32 Offline
  • Posts: 1
  • Joined: 2022-02-02, 6:38:54

Post by daemon32 »

MaliceX wrote:
zzo38 wrote:Another way to convert Adlib tracker 2 files into VGM is to write a converter that doesn't need DOS. It is doing playback but is writing the commands to a file instead of to the sound card; the only difference is now you need to add the special handling of global loops. (BAMTOVGM works in this way. A similar thing could be done for Adlib tracker.)
In my hack-in, I simply grafted function calls to the ymf262 emulation core's interface functions by using helper code from my OPL3 MIDI Driver fork project. What you hear is what you get essentially. It would be nice to have an offline converter but that requires more time and effort. Also this solution is the SDL win32 port, so I'm not sure where you're getting DOS from.

grauw: the log resolution appears to capture commands in sync with AdlibTracker's internal delays between each row when transcoding its synth engine to chip commands. So the delays are actually more consistent with the song than how DOSBOX does it (especially since we're doing so natively, not using an emulated CPU) Songs with more rows per second or faster tempo will have smaller delays. I have already verified this behaviour. :)
Hi there MaliceX, would it be possible to make a tarball/zip of the source tree you used to build the Adlib Tracker II VGM-emitting fork?

I'm working on a project to allow the SDL version of AT2 to send commands directly to a YMF262 on a board called the RetroWave OPL3. The issue I've been having is that more complex songs tend to overload the USB serial interface with commands by itself, however when I capture VGMs of them using your EXE, they play just fine using the tooling/libraries provided by the creators of the board.

So clearly, there's some amount of filtering that needs to happen to have it play back more seamlessly in real time.

If you're interested in looking at the library, github: SudoMaker/RetroWave

Thank you
  • User avatar
  • MaliceX Offline
  • Posts: 226
  • Joined: 2012-09-29, 11:45:48
  • Location: Australia
  • Contact:

Post by MaliceX »

daemon32 wrote:Hi there MaliceX, would it be possible to make a tarball/zip of the source tree you used to build the Adlib Tracker II VGM-emitting fork?

I'm working on a project to allow the SDL version of AT2 to send commands directly to a YMF262 on a board called the RetroWave OPL3. The issue I've been having is that more complex songs tend to overload the USB serial interface with commands by itself, however when I capture VGMs of them using your EXE, they play just fine using the tooling/libraries provided by the creators of the board.

So clearly, there's some amount of filtering that needs to happen to have it play back more seamlessly in real time.

If you're interested in looking at the library, github: SudoMaker/RetroWave

Thank you
https://codingchords.com/junk/at2-vgmlog-src.7z
-dj.tuBIG/MaliceX
Post Reply