VGM player from SMS on MD or GENESIS
Moderator: BigEvilCorporation
VGM player from SMS on MD or GENESIS
Is there any Sega Master System *.VGM (Texas Instruments soundchip) music player for Sega MEGADRIVE???
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
There is a MD VGM player, but it doesn't work on real HW, and the author is too lazy to get it working
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
This seemed like a simple enough task, so I decided to write a player (you can get it here).
To create a Megadrive binary from a VGM file, use the following command in a windows commandline window: copy /B /Y vgmplay.bin + filename.vgm output.bin
This appends your (uncompressed) VGM to the player code and creates a binary that you can run on your Megadrive, or in an emulator. The zip includes an example (smurfs.bin) with one of my favorite SMS songs added.
Note that my player ignores all wait commands except 0x62/0x63, so songs that rely on shorter waits will probably sound weird. It still seems to work fairly well, and it runs on HW (at least on my european Megadrive). And the source code is included if you want to improve it in any way.
To create a Megadrive binary from a VGM file, use the following command in a windows commandline window: copy /B /Y vgmplay.bin + filename.vgm output.bin
This appends your (uncompressed) VGM to the player code and creates a binary that you can run on your Megadrive, or in an emulator. The zip includes an example (smurfs.bin) with one of my favorite SMS songs added.
Note that my player ignores all wait commands except 0x62/0x63, so songs that rely on shorter waits will probably sound weird. It still seems to work fairly well, and it runs on HW (at least on my european Megadrive). And the source code is included if you want to improve it in any way.
-
- Very interested
- Posts: 145
- Joined: Sun Jan 28, 2007 2:01 am
- Location: DCEvolution.net
- Contact:
Here's an updated version of the player. It now supports all wait commands, and uses the YM2612 for timing instead of vsync, so it should work better.
-
- Very interested
- Posts: 145
- Joined: Sun Jan 28, 2007 2:01 am
- Location: DCEvolution.net
- Contact:
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
GG stereo can't be done on MD's PSG, though if you use YM2612 to do the PSG, you can have that stereo.
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
One small problem. You'll get stereo, but with completely different sound - YM2612 can't generate square tone and can't generate noise which will at least resemble noise of PSG. It's possible to get somewhat resembling 'Enhance PSG' feature of Dega, though.TmEE co.(TM) wrote:if you use YM2612 to do the PSG, you can have that stereo.
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
Noise would stay as PSG... squares aren't difficult at all, only minor tonal difference.
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
You can only set independent frequencies for channel 3, but every operator in every channel has a "multiple" register, which allows you to set that operator to a harmonic ratio of the common frequency for that channel. The available settings are 1/2, and 1-15. So, even though the common frequency might be 440, you could set operator 1 to 1*freq, operator 2 to 3*freq, operator 3 to 5*freq, and operator 4 to 7*freq using the separate mul register setting for each operator.
The completely separate frequency registers for each operator which you can set for channel 3 allow you to set frequencies for each operator that are inharmonic, which is actually not that common a thing to require. The separate detune register for each operator can be used to achieve slight inharmonic adjustments for each operator, so the completely separate frequency registers are only needed for more severe detuning, or dissonant sounds.
Here's a really good video that explains what that all means:
http://insidesynthesis.blogspot.com/200 ... chive.html
I don't think I really "got" FM synthesis until I watched this video.
The completely separate frequency registers for each operator which you can set for channel 3 allow you to set frequencies for each operator that are inharmonic, which is actually not that common a thing to require. The separate detune register for each operator can be used to achieve slight inharmonic adjustments for each operator, so the completely separate frequency registers are only needed for more severe detuning, or dissonant sounds.
Here's a really good video that explains what that all means:
http://insidesynthesis.blogspot.com/200 ... chive.html
I don't think I really "got" FM synthesis until I watched this video.
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
That video Nemesis posted explains everything.
I have an istrument that uses 2 operators, and while what you see on the o-scope screen doesn't really look like square wave, it certainly sounds square. If anyone wants, I can give you the TFI of the instrument.
I have an istrument that uses 2 operators, and while what you see on the o-scope screen doesn't really look like square wave, it certainly sounds square. If anyone wants, I can give you the TFI of the instrument.
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen