vgmrips

The forum about vgm files
It is currently 2023-02-02, 4:15:41

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: 2022-01-29, 22:53:11 
Offline

Joined: 2017-07-31, 2:36:01
Posts: 7
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!


Top
 Profile  
 
 Post subject:
PostPosted: 2022-01-31, 0:54:07 

Contributors Contributors
Offline
User avatar

Joined: 2021-01-16, 7:02:56
Posts: 5
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.


Top
 Profile  
 
 Post subject:
PostPosted: 2022-01-31, 20:08:24 
Offline

Joined: 2017-07-31, 2:36:01
Posts: 7
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 52 times
Top
 Profile  
 
 Post subject:
PostPosted: 2022-01-31, 20:50:19 

Contributors Contributors
Bug catchers Bug catchers
Offline
User avatar

Joined: 2011-12-28, 19:52:40
Posts: 239
Location: Paris, France
I don't really agree.

The Mame core is indeed cleaner. But Ootake sounds much closer to the real hardware.

_________________

VGM packs by Kaminari


Top
 Profile  
 
 Post subject:
PostPosted: 2022-01-31, 22:03:36 

Staff Staff
Programmers Programmers
Musicians Musicians
Contributors Contributors
Reverse engineers Reverse engineers
Offline
User avatar

Joined: 2011-12-01, 20:20:07
Posts: 4362
Location: Germany
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:
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)


Top
 Profile  
 
 Post subject:
PostPosted: 2022-02-01, 6:59:34 
Offline

Joined: 2017-07-31, 2:36:01
Posts: 7
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.


Top
 Profile  
 
 Post subject:
PostPosted: 2022-02-01, 12:47:50 

Staff Staff
Programmers Programmers
Musicians Musicians
Contributors Contributors
Reverse engineers Reverse engineers
Offline
User avatar

Joined: 2011-12-01, 20:20:07
Posts: 4362
Location: Germany
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.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
[ Time : 0.104s | 17 Queries | GZIP : On ]