ti99iuc Posted May 6, 2022 Share Posted May 6, 2022 (edited) version 1.1 by Fabrizio Zavagli ======================================================== "The only sources of information you can trust on the internet are .txt files" (Cit. Elder0010) ======================================================== What it is: VGM2XB is a tool for Windows and can convert VGM songs/modules to a friendly and very compact Ti99 Basic and Extended Basic (XB) format. The VGM format is a very popular and widely adopted song/module standard across many platforms of 8-bit computers and consoles. It can be generated using tools like, but not limited to, "Mod2PSG2": https://www.smspower.org/Music/Mod2PSG2 VGM2XB can convert VGM songs (with some limitations described below) to be used in compiled Extended Basic on the Ti99/4A home computer by Texas Instruments. What is included in the package: VGM2XB.exe -> Main executable file, the one to run (from command line) vgmcomp.x -> VGM converter by TursiLion, keep it in the same folder as the main exe (it's automatically invoked from the converter) demotune.vgm -> Demo tune by Kamicane readme.txt -> This file How it works: Execute VGM2XB.exe from the command line using the following syntax: VGM2XB <input.vgm> <output.txt> [options] Where <input.vgm> is the source file in VGM format and <output.txt> is the output data generated in the selected format using the following options: Options are as follows: -p or -d or -x : select output mode between: - full BASIC PROGRAM [-p] - DATA statements [-d] - non-compiled BASIC SOUND statements [-x] (default is [-p] PROGRAM) A full Basic program is a runnable Basic and Extended Basic program complete with the DATA and replay routine. The "DATA statements" option, instead, generates just the DATA part. -n : include noise channel, experimental (default is excluded) This option allows you to include the 4th "noise" channel from VGM songs. Anyway, due to the limitations of Extended Basic, it is not recommended to do so as it would likely result in sound breaking up unless certain conditions are met (see below) -r or -e : change timing and output type for playing in: - Real hardware (as a compiled XB program) [-r] - in emulated Classic99 CPU Overdrive [-e] (Default is Real hardware. Does not apply to "XB SOUND Statements" output type [-x]). In order to test your converted song, the best option is to load the Classic99 emulator and set the CPU Throttling option to "Overdrive". Alternatively, you can generate SOUND statements (-x option) and test it in XB or even vanilla TI BASIC at normal speed (either emulated or real hardware). Boot up the emulated Ti Basic and copy the contents of the output.txt file and paste it to Classic99 using the "Paste XB" funciton, and finally RUN the program. Finally, you will notice that the converter will also create a .spf file. You can ignore or delete it, as it is an "intermediate" conversion format. Limitations and suggestions: While VGM2XB will boldly try to convert pretty much any VGM file you throw at it, there are some limitations to be conscious about. First of all it comes to size: XB memory is limited and, while I can't really give you exact indications on how long a song can be before you run out of memory (as it is very much dependent on too many factors), you will surely hit some limit sooner or later. Secondly, while *instruments* effects like volume changes are supported, consider that they could substantially increase the output size. It is recommended using volume effects in the *tracks* instead, using the Vxx command. The 4th "noise" channel is supported, but due to limitations of Ti99's Extended Basic using the Noise channel will likely result in sound breaking up, unless the noise channel's notes happen on the same lines as other notes from channels 1 to 3 and you keep the noise duration as short as possible. Also consider that we are capped by the Ti99 speed, so super-speedy modules may not translate well. If you don't know how to compile XB programs, there are several tutorials around, I suggest looking up on AtariAge forums first. There are surely other limitations and bugs, so feel free to report them. Contacts: www.rasty.com Credits: VGM2XB includes parts of TursiLion's amazing VGM compressor, a great tool you can find at: http://www.harmlesslion.com/cgi-bin/onesoft.cgi?88 Used with permission. I also thank Ciro Barile of Ti99 IUC fame for all the testing and suggestions. The demo tune by Mat64 is an excerpt from my upcoming Ti99 game Space Treat TI. Thanks a lot to the following people and dogs who have contributed to this project: Elder0010, Kamicane, Giozzy, Argo, MBR, Freshness, FRK, Jag, Kazzuya, Raoul, Mat64, Jazzcat and the gang at ONS. \\\\ by Fabrizio Zavagli hope you will enjoy and use it! Downloads: - from the dedicated page on TI-99 Italian User Club (you can refer to it for the future updated versions of the VGM2XB) https://www.ti99iuc.it/web/index.php?pageid=homepage&artid=215 - here, the direct link for the v1.1: VGM2XB_v1.1 - (by Fabrizio Zavagli).zip Edited May 6, 2022 by ti99iuc 10 3 Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 6, 2022 Share Posted May 6, 2022 For what it's worth, the version of vgmcomp that you are including is no longer supported by me, it's been superceded by a newer and more flexible suite of tools. Your link goes to the new software. 4 Quote Link to comment Share on other sites More sharing options...
+eebuckeye Posted May 6, 2022 Share Posted May 6, 2022 It would great to see a video in action! Maybe @pixelpedant?? ? 2 Quote Link to comment Share on other sites More sharing options...
pixelpedant Posted May 7, 2022 Share Posted May 7, 2022 3 hours ago, eebuckeye said: It would great to see a video in action! Maybe @pixelpedant?? ? So many TI-99 topics, so little time. I'll throw it on the pile. But if someone gets to it before me, more power to them! 5 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.