Help me test MAME with "fixed" CV1K Blitter code

This is the main shmups forum. Chat about shmups in here - keep it on-topic please!
Post Reply
Buffi
Posts: 192
Joined: Sat Jul 22, 2006 5:17 pm
Location: Sweden

Help me test MAME with "fixed" CV1K Blitter code

Post by Buffi »

Hey, so I've been doing some fun research on how the CV1K blitter works recently, see following posts:
- https://buffis.com/research/cv1000-blitter-research/
- https://buffis.com/research/more-cv1000 ... -clipping/

I did my best to make adjustment for the MAME driver to have it behave similar to the actual hardware, but need people to test it out to see if there's anything weird here, or if it seems good to you.

This only change here is for the Blitter logic, which means that CPU slowdown (which is the majority of CV1K slowdown) is not changed here.

To help out:
- Grab the modified binary at: http://site.buffis.com/mame/ and test it on CV1K games
Alternatively build it yourself from: https://github.com/buffis/mamefork
- See if this seems more accurate to actual PCBs compared to regular MAME, and if theres any weird things happening.

IMPORTANT
CPU slowdown is still the majority of slowdown, so I'd recommend experimenting with CPU% slider in combination with this (try 50% or 60% or something, I dunno). Its not an accurate representation of CPU slowdown, but it will be closer than nothing.
User avatar
Meriscan
Posts: 242
Joined: Wed Jul 03, 2019 12:15 pm
Location: da military zone

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Meriscan »

It's hard to say for certain how accurate it is without having the gameplay be shown side-by-side with PCB footage, but it already feels a lot better to play. I don't have much experience with many cv1k games, but I like MMP a lot and playing it again in MAME (with 50% CPU) felt better than I remember. Will have to put some video's comparing it to the PCB hopefully soon just to confirm it isn't placebo.

Eitherway, huge thanks for this improvement!
User avatar
emphatic
Posts: 7917
Joined: Mon Aug 18, 2008 3:47 pm
Location: Alingsås, Sweden
Contact:

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by emphatic »

Very cool, I hope this gets into the official MAME build with the correct CPU speed as a default setting once more knowledgeable folks (aka superplayers) has chimed in.
Image | My games - http://www.emphatic.se | (Click) I have YEN stickers for sale
RegalSin wrote:Street Fighters. We need to aviod them when we activate time accellerator.
User avatar
Jaimers
Posts: 541
Joined: Thu Dec 30, 2010 4:08 pm

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Jaimers »

Very cool stuff, would revolutionize CV1K in Mame and it's been a long time coming.

I've been trying some SDOJ Expert at 37% CPU and so far it seems very close to the PCB footage I've been using to learn the game with.
Buffi
Posts: 192
Joined: Sat Jul 22, 2006 5:17 pm
Location: Sweden

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Buffi »

Meriscan wrote:It's hard to say for certain how accurate it is without having the gameplay be shown side-by-side with PCB footage, but it already feels a lot better to play. I don't have much experience with many cv1k games, but I like MMP a lot and playing it again in MAME (with 50% CPU) felt better than I remember. Will have to put some video's comparing it to the PCB hopefully soon just to confirm it isn't placebo.

Eitherway, huge thanks for this improvement!
Glad it feels better. Comparing with pcb behavior is useful, but its also good to just test this with games in general to make sure nothing stands out as completely incorrect due to bugs.

PCB comparisons will still not match 100% due to CPU slowdown not being accurately emulated yet.
emphatic wrote:Very cool, I hope this gets into the official MAME build with the correct CPU speed as a default setting once more knowledgeable folks (aka superplayers) has chimed in.
I’d expect it to be likely to be accepted into mame, since its closer to hardware than the current implementation in the cv1k driver. It might take a while though. Its a somewhat complex piece or code to review and verify, and i dont really know what mames processes around this is, since i dont typically file pull requests to them.

”Correct cpu speed” is not a thing though, and not something that belongs in mame with current implementation.

Tuning the CPU underclock can work as somewhat of an approximation of the actual pcb behavior, but theres not going to be an exact value thats best. With the Blitter slider (that this code removes) it was way worse though. The Blitter delay code prior to this had pretty much nothing to do with how things work on pcbs, so tuning it to specific values made no sense really.

That said, until proper wait state support is implemented for the cpu, picking some cpu value that feels mostly right is probably close-ish at least.
Jaimers wrote:Very cool stuff, would revolutionize CV1K in Mame and it's been a long time coming.

I've been trying some SDOJ Expert at 37% CPU and so far it seems very close to the PCB footage I've been using to learn the game with.
Very nice to hear! I’m very happy that high level players like you are testing this. Thats extremely helpful.
User avatar
ShootTheCore
Posts: 52
Joined: Wed Jan 18, 2017 12:20 am

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by ShootTheCore »

I've been trying out various CV1000 games with the new build daily for the last two weeks or so, and I haven't picked up on any obvious issues. I've set the CPU slider at 50% on every game so far and the "feel" is definitely better than it was with the legacy blitter code.
Buffi
Posts: 192
Joined: Sat Jul 22, 2006 5:17 pm
Location: Sweden

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Buffi »

This is now merged into mame, so will go into next release.
Still good to test it more though. Seems to work well for me

https://github.com/mamedev/mame/commit/ ... 4259f745ea
User avatar
emphatic
Posts: 7917
Joined: Mon Aug 18, 2008 3:47 pm
Location: Alingsås, Sweden
Contact:

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by emphatic »

Congrats to the MAME team and all of us who get to play these games closer to the original - because of your efforts. Pat yourself on the back, man. :D
Image | My games - http://www.emphatic.se | (Click) I have YEN stickers for sale
RegalSin wrote:Street Fighters. We need to aviod them when we activate time accellerator.
Buffi
Posts: 192
Joined: Sat Jul 22, 2006 5:17 pm
Location: Sweden

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Buffi »

This is now included in MAME 0.254
Bassa-Bassa
Posts: 1161
Joined: Tue Mar 12, 2019 5:18 pm

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Bassa-Bassa »

Thanks! You still need to particularly tweak the CPU slider, right?
Buffi
Posts: 192
Joined: Sat Jul 22, 2006 5:17 pm
Location: Sweden

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Buffi »

Yup
User avatar
nesrulz
Posts: 181
Joined: Wed Nov 13, 2013 6:01 pm

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by nesrulz »

Thanks!
User avatar
Tatsuya79
Posts: 149
Joined: Tue Jan 07, 2014 10:29 am

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Tatsuya79 »

Buffi's code has been ported to FBNeo, nightlies are there: https://github.com/finalburnneo/FBNeo/r ... tag/latest

It's in retroarch too.
I tested it with mushi futari black and run ahead 2 frames, it was pretty cool.
I'm not sure about the slowdowns on some parts like the flying islands before the 1st stage dino boss;
it seemed a bit too slow but maybe I was shooting using Palm making it worse.
Buffi
Posts: 192
Joined: Sat Jul 22, 2006 5:17 pm
Location: Sweden

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Buffi »

Tatsuya79 wrote:Buffi's code has been ported to FBNeo, nightlies are there: https://github.com/finalburnneo/FBNeo/r ... tag/latest

It's in retroarch too.
I tested it with mushi futari black and run ahead 2 frames, it was pretty cool.
I'm not sure about the slowdowns on some parts like the flying islands before the 1st stage dino boss;
it seemed a bit too slow but maybe I was shooting using Palm making it worse.
That section can hsve pretty chunky slowdown on pcb too. See about 54 sec into
https://youtu.be/dddz8fgfkdU
User avatar
Tatsuya79
Posts: 149
Joined: Tue Jan 07, 2014 10:29 am

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Tatsuya79 »

Ah yes it's happening more in this video around 1mn45s than the other one I checked before.
It seems good.

Then I'm not sure about the cpu clock to use in the different games, trying 50% for them all atm.
Buffi
Posts: 192
Joined: Sat Jul 22, 2006 5:17 pm
Location: Sweden

Re: Help me test MAME with "fixed" CV1K Blitter code

Post by Buffi »

Yeah best not to overthink cpu tbh.
Post Reply