Skip to content

Huc6280 emulation questions

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

Moderator: Staff

  • musicalman Offline
  • Posts: 7
  • Joined: 2017-07-31, 2:36:01

Huc6280 emulation questions

Post by musicalman »

Hi everyone,
I had two main questions about Huc6280 emulation.
First, in vgmplay, there are two emulation cores to pick from: MAME and Ootake. I was wondering which one is generally considered more accurate, in terms of sounding the most faithful to hardware.

To me, MAME sounds punchier, more dynamic, and more gritty in a way I can't describe. Ootake though has been the one I've used most, so I'm more used to that. It sounds a bit less dynamic to me, and perhaps warmer/fuzzier in the high frequencies.

The biggest difference I spotted though is that their tunings are quite different, to the point where I honestly go back and forth between the two cores trying to work out which one a tune might have been intended for. My impression is that MAME is generally preferred, but what's your take? I want to use whatever is most accurate.

My second question is that mml2vgm, while supporting huc6280, only seems to behave with Ootake. When trying to use MAME core on those files, pcm samples work but wavetables seem not to be loaded correctly. I can attach a sample of this if needed. I'd report this as an issue on the github but I don't know what precisely is wrong.

Any info you can provide is appreciated!

Post by mrvictorfull57 »

Hello. For now, I can only answer your first question. I've been making VGM packs from PC Engine games which uses this chip. And, from my own experience, I'd go with the MAME chip. And yes, from what I've identified, it is the most faithful to the source material. Also, the Ootake chip doesn't have that much impact and I found the audio quality to be much lower, so I would go with MAME myself. Unfortunately, I won't be able to answer your second question, as I haven't used this tool yet to log songs using this chip.
That's what I can tell you, for now.
  • musicalman Offline
  • Posts: 7
  • Joined: 2017-07-31, 2:36:01

Post by musicalman »

Thanks for your response! I figured MAME was the preferred core.

In that case, I've attached an output file from mml2vgm which doesn't work with the MAME core but does work on Ootake. I wonder what's breaking?
Attachments
huc6280 MAME test.vgm
(1.22 KiB) Downloaded 84 times

Post by Kaminari »

I don't really agree.

The Mame core is indeed cleaner. But Ootake sounds much closer to the real hardware.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

musicalman wrote:In that case, I've attached an output file from mml2vgm which doesn't work with the MAME core but does work on Ootake. I wonder what's breaking?
It looks like the MAME core doesn't like how the VGM sets up the channel:

Code: Select all

0x000003A9: B9 00 00    HuC6280:	Select Channel 0
0x000003AC: B9 04 5F    HuC6280:	Channel Control: Disable, DDA Mode Enable, Volume 0x1F = 100%
0x000003AF: B9 06 10    HuC6280:	Channel Waveform Data: 10
0x000003B2: B9 06 11    HuC6280:	Channel Waveform Data: 11
0x000003B5: B9 06 12    HuC6280:	Channel Waveform Data: 12
The VGM enables "Direct D/A mode" and turns the key off, then loads the instrument.
  • MAME core: outputs what is written to register 6, does NOT set the waveform buffer (because of DDA mode)
  • Ootake core: output what is written to register 6, does load the waveform buffer (the condition is "is channel turned off" while MAME checks for DDA mode)
  • musicalman Offline
  • Posts: 7
  • Joined: 2017-07-31, 2:36:01

Post by musicalman »

Huh, interesting that we have a tie. I didn't expect that, I thought one would clearly be preferred. I guess I should hunt down recordings of hardware so I can decide.

@ValleyBell, thanks for your explanation! From my very limited understanding of this stuff, it sounds like mml2vgm is doing things in kind of an odd way. I created an issue in mml2vgm and passed your info along. We'll see what happens.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

just for the record: I don't know how the actual hardware behaves, but both variants may be possible.
Since Ootake focuses on PC-Engine emulation, I'm also inclined to trust it a bit more than MAME.

Someone making a recording of the VGM on actual hardware would be nice.
Post Reply