AidanHockey5 / STM32_VGM_Player_YM2612_SN76489

A Sega Genesis music player based off of the STM32 BluePill board and real YM2612+SN76489 sound chips.
GNU Affero General Public License v3.0
107 stars 14 forks source link

Some VGMs are freezing. #10

Closed VectorFever closed 2 years ago

VectorFever commented 2 years ago

Everything works from VGMRips except some Contra tracks. But every track from DefleMask doesn't work at all. Even if it doesn't contain any samples and file sizes are small. Player just freezes. Previously i made ym2151 player(not your player, by Hiromasa Tanaka) and it works with all VGMs perfect. Why is it happening? There is so much fan made tracks and covers that just better than originals. Thank you for support. 😃

AidanHockey5 commented 2 years ago

Hello,

So, YM2151 tracks are very simple to play as they’re generally FM-only. PCM samples are delegated to other chips. YM2612s feature on-board DACs, so the PCM samples are expected in almost all soundtracks, thus quite an excessive amount of RAM is required to handle all that extra sample data.

This player was an earlier version of my Mega Blaster design that featured an STM32 microcontroller that didn’t have very much RAM, so PCM sample size was limited. Furthermore, advanced functions like DAC Streams were never implemented due to the limitations of the platform.

Therefore, VGM tracks that have very large PCM sample storage requirements are skipped automatically by the player and any tracks that utilize DAC streams (often utilized by home brew composers), will cause the player to error out.

All of these issues have been fixed in my latest revision of the Mega Blaster project found here: https://github.com/AidanHockey5/MegaBlaster2

This upgraded version of the project has a far more capable microcontroller, lots more internal RAM, and even more external RAM. It’s better in just about every way and supports DAC streams and tracks with demanding PCM requirements.

The original Mega Blaster project (this repository), is no longer updated as it has been superseded by its successor. I apologize for any inconvenience, but the advanced features of the VGM specification really did require much more capable hardware, so a board revision was necessary.

On Mon, Feb 28, 2022 at 5:27 PM VectorFever @.***> wrote:

Everything works from VGMRips except some Contra tracks. But every track from DefleMask doesn't work at all. Even if it doesn't contain any samples and file sizes is small. Player just freezes. Previously i made ym2151 player(not your player, by Hiromasa Tanaka) and it works with all VGMs perfect. Why is it happening? There is so much fan made tracks and covers that just better than originals. Thank you for support. 😃

— Reply to this email directly, view it on GitHub https://github.com/AidanHockey5/STM32_VGM_Player_YM2612_SN76489/issues/10, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACG7C3YNLDK4V66V4D2J33LU5VXANANCNFSM5PSU2EQQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you are subscribed to this thread.Message ID: @.***>

VectorFever commented 2 years ago

I mean... It can easily play Streets of Rage 2 intro that is 1705kb(or something around it). But can't play 2kb test that i made in DefleMask which contains only four notes and no samples at all. Just freezes and it's all.

VectorFever commented 2 years ago

I think I know what to do. I can run vgm player in sega emulator and then rip off vgm from emulator while it's playing. I tested this player before with emulator and on real mega drive 2 with flash cart.

VectorFever commented 2 years ago

Maybe DefleMask codes tracks in VGM different way. Like VGM versions and etc.

AidanHockey5 commented 2 years ago

If there are no samples, then deflemask may be exporting compressed “VGZ” files, which are definitely not supported on the old Mega Blaster. You may be able to use 7zip to extract the standard VGM file from the VGZ file if it is indeed compressed.

On Mon, Feb 28, 2022 at 6:21 PM VectorFever @.***> wrote:

Maybe DefleMask codes tracks in VGM different way. Like VGM versions and others

— Reply to this email directly, view it on GitHub https://github.com/AidanHockey5/STM32_VGM_Player_YM2612_SN76489/issues/10#issuecomment-1054916923, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACG7C36GUK3KXYCV7QANOYLU5V5K3ANCNFSM5PSU2EQQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you modified the open/close state.Message ID: <AidanHockey5/STM32_VGM_Player_YM2612_SN76489/issues/10/1054916923@ github.com>

VectorFever commented 2 years ago

No. It's VGM. There is nothing to unzip. And ym2151 player i made can play only vgm too. But i just export vgm,drop on sd and it's working. idk what happening 🤨

VectorFever commented 2 years ago

Jesus... It worked! Even if file size is 9mb