So, few weeks prior. I've made my own K007232 soundchip support on libvgm, with the help of cam900 (MATRIX) as well as DeepSeek. Yeah, deepseek, cuz I'm still learning at coding things.
Things are not going well when implementing the chip, because some of the samples we're not playing properly. The only known K007232 games that barely playing the sample well, but playing incorrectly are Hot Chase, and Chequered Flag. Some games like Gradius III and other games we're silent when testing the chip itself. It only plays the FM chip and not any sign of K007232 sample playing on the VGM.
I haven't figured it out on what's caused this, so if anyone wanted to help with the soundchip implementation. I'd be happy to see that we're getting somewhere.
And another discovery that I've found during my K007232 support implementation. I was scrolling around Furnace discord server, where I saw this one guy by the name of Goldia (skaphantom) who implement the actual K007232 chip on libvgm, and it sounds perfectly fine. For now, it seems that the guy was offline a year ago and I've message him if he could contribute to this project that I've coded so far. As for now, I'm still waiting for his response. Update: He didn't respond.
Update: K007232 and K005289 is now on the official libvgm repo, and MSM5205, ICS2115, MSM5232, and BSMT2000 is still in review.
Oh, and speaking of soundchip implementation. I've also added 2 soundchips support on libvgm that doesn't make any sound at all.
MSM5205 based on eito's MSM5205 old vgmplay build. I've mailed eito for this if he wanted to contribute his MSM5205 build into a much newer libvgm build, and still. I'm waiting for his response. We've been working on this soundchip by communicating thru e-mail and it's almost done. To make sure that it's working perfectly, we need a few more tests to make sure that it's working.
and BSMT2000 based on M1 and PinMAME's source code. So it might be difficult to adapt this to libvgm because on how lack the documentation is. and newer MAME build uses program ROM pretty much to run games that has BSMT2000 soundchip in it. So it's pretty much useless to use newer MAME source code of the BSMT2000 chip as a reference. Done, thanks cam900!.
ES5505/06 chip later to implement since I have the draft code.
Another soundchips I wanted to implement (might be) in the future (if VGM format added extra header):
- Gaelco GAE1
- RF5C400
- Jerry
- Namco 15XX/CUS30
- MMC5
- VRC6
For the ICS2115's implementation thread, check out cam900 (MATRIX)'s post.
For tools, here's my another fork of vgmtools that includes k007232 support. But you have to compile it by yourself. I'll later release the binary package of that tool for further logging.
Known working tools: vgm_sro, vgm_cmp, vgmlpfnd, vgm2txt, vgm_ptch, vgm_trim, and vgmmerge (that software has a bug that turns the k007232 clock off, to fix this. load the vgm in any hex editor, then locate the K007232 clock (particularly 0xE8), and then change the clock to 99 9E 36 00 in order to work).
For MAME logging, here's another fork of MAME k007232 vgm mod.
Thank you very much. Move this topic if I post this on a wrong forum.