Page 1 of 2
M1 for Genesis music
Posted: Sun Oct 12, 2008 5:36 pm
by SmartOne
I don't know if you are aware of using M1 to emulate Genesis music by use of the actual roms, but the newest version sounds really great. I daresay it's the best way to listen to Genesis music yet based on my own ears.
How does it stack up technically with the new YM2612 findings and all?
http://www.bannister.org/forums/ubbthre ... 427&page=1
Newest version...?
http://rbelmont.mameworld.info/m1078a10-w32.zip (Don't click the link. Visit the site and append the filename.)
GUI:
http://www.e2j.net/downloads.html
Posted: Sun Oct 12, 2008 6:20 pm
by Eke
How does it stack up technically with the new YM2612 findings and all?
well, Richard Belmont once came here so it should be based on the modification I made to the MAME ym2612 core, related to Nemesis findings and some other fixes I figured...
however, this was still not quite correct at the time being, they should probably update to my current implementation which is more accurate and fixes some issues,
...or better, ask Jarek to rewrite some parts of the core to get everything cleaner than I did

Posted: Sun Oct 12, 2008 6:28 pm
by SmartOne
Yeah, I've listened to a few more games and have noticed some inaccuracies. Hopefully it gets better, though.

Posted: Sun Oct 12, 2008 10:05 pm
by Arbee
Yeah, I've backported Eke's fixes from up to genplus-gx's fm.c rev 157 but MAME's in lockdown for 0.128 final right now so I can't submit it yet. I'm looking forward to the fixes for Battletech to appear in the meantime

And once everything's caught up I'll post a new M1 with the latest.
Jarek's either too busy or not interested enough to help, but it seems like progress is being made just fine anyway.
Posted: Mon Oct 13, 2008 12:00 am
by Snake
I imagine that Jarek already knew all this stuff anyway.
Posted: Mon Oct 13, 2008 12:37 am
by Arbee
Yup. He did all his OPN reverse-engineering on the 2203 AFAIK so some details have turned out a bit different, but in general the areas where MAME's emulation wasn't right were things he already knew but didn't have a test case for (the abuse of PEG overflow that several GEMS games do is certainly something that no arcade game using the 2612 or 3834 did).
Posted: Mon Oct 13, 2008 7:50 am
by Snake
Out of interest, you wouldn't happen to know what he tested on? Some real board containing a 2203? Or did he build something?
I'd *love* a custom made device containing several Yamaha chips

Posted: Mon Oct 13, 2008 8:33 am
by Eke
Here are the only things that I fixed in MAME implementation, beside the Phase overflow thingie, unused CSM mode and inaccurate SSG-EG already mentionned by Nemesis:
- LFO was not properly handled in CH3 special mode (mentionned as TODO in the code

)
- Attack rate was not properly updated in some case (this was a code regression, older versions of fm.c were fine)
- Enveloppe Generator transition went wrong in some specific case: indeed, volume for phase transitions was only checked when updated, this will obviously sound wrong in games using extreme values, such as SL=0 with very slow rates ... btw, I 'm still not sure if the EG implementation behaves correctly in all case
Anyway, it seems like these bugs are due to the way he optimized his code and the fact that you need very specific situations to figure them out, which only happen if you test MANY games like we crazy people do

Posted: Mon Oct 13, 2008 1:05 pm
by Arbee
Snake: he used a custom ISA card that was reconfigured for each chip under test. One reason he doesn't work on it now is that he doesn't actively use an ISA machine anymore. And yes, I wouldn't mind some (more modern) way to hook up real Yamaha chips to a PC and then drive them from a VST or something.
Posted: Mon Oct 13, 2008 1:11 pm
by TmEE co.(TM)
Regarding making FM chips work in a PC, does anyone have any schematics of a simple LPT port hookup, or I'm gonna have to make one myself ? I have a spare chip (the SE-95 clone chip) and I'd like to make a LPT interface for it for easy testing... LPT is not missing from all modern machines, and you can still buy PCI LPT add on cards...
Posted: Mon Oct 13, 2008 3:55 pm
by Shiru
TmEE co.(TM) wrote:does anyone have any schematics of a simple LPT port hookup
http://sue.niko.to/ps98/ - different schematics, not sure about LPT, but helpful
http://nedopc.org/nedopc/journal/NedoPC_4.pdf - here is article about YM2612-based 'LPT sound card' (schematics etc), but text in russian
Posted: Mon Oct 13, 2008 5:30 pm
by TmEE co.(TM)
I think I'm going to build the variant in the russian article... hmmm.... it doesn't allow reads, I'm going for my way then. The PSG chip is a standard part, and this could possible be added too... only if I'd have that chip anywhere.
I just wanted some possible compatibility with existing stuff... but seems existing doesn't things I'd like to have.
Is there any info on the PCS8593 and TA-07 chips which are YM2612 compatible ?
Posted: Tue Oct 14, 2008 1:59 am
by Richter X
Speaking of M1's genesis support. Since they already know the play addresses and all that stuff. Why couldn't someone use it to finally make a rippable music format for Sega Genesis games? It's been long overdue. LONG LONG overdue. :p
Posted: Tue Oct 14, 2008 3:19 am
by SmartOne
Probably because then you'd presumably have two copies of basically the same data. The sound code in the actual rom and the ripped format. They probably figure most people have the roms anyway, so why create a new format?
Posted: Tue Oct 14, 2008 3:37 am
by HardWareMan
TmEE co.(TM) wrote:I think I'm going to build the variant in the russian article... hmmm.... it doesn't allow reads, I'm going for my way then. The PSG chip is a standard part, and this could possible be added too... only if I'd have that chip anywhere.
I just wanted some possible compatibility with existing stuff... but seems existing doesn't things I'd like to have.
Is there any info on the PCS8593 and TA-07 chips which are YM2612 compatible ?
You need just add an 74LS245 and route bits D0, D1 and D7 to LPT inputs (BUSY and etc.). I already told this to author of this scheme. This works (analog part you can and must do your way):
