Author Topic: SH3/CV1000 emulation in MAME: CPU and blitter settings for emulating slowdown  (Read 6624 times)

Offline el_rika

  • Trade Count: (0)
  • Maniac Member
  • *
  • Posts: 54
Oh, thank you for the feedback and observations!

Watching a couple of Akai Katana vids led me to believe that there's a difference due to the shot spread, but as you say, it's most likely the accumulation of greens and/or golds. Need to watch more  :righton:

Offline EOJ

  • Administrator
  • Trade Count: (+38)
  • Ultra Member
  • *
  • Posts: 7895
Type C can accumulate green energy orbs more rapidly and more often than the other ship types, which leads to more slowdown. So in that regard you could say Type C has more slowdown overall. There may be a minor effect with its shot as well, but honestly the game has so much slowdown even when you're not shooting, I don't notice anything extra that is induced merely by the act of shooting.

This should be the easiest game to get better slowdown emulation in MAME compared to the X360 port, because 50-60% of the slowdown is missing in the port. Even 60-70% accuracy in MAME would be a big improvement.
My score archive
twitter: @cavexstg
youtube: eojx9999
Xbox gamertag: eojx9999

Offline el_rika

  • Trade Count: (0)
  • Maniac Member
  • *
  • Posts: 54
Good info there. It did seem to be the case at first glance .

I always tend to settle for a bit more slowdown in these games myself. Just love the dramatic near miss feeling it gives  ^-^

Offline EOJ

  • Administrator
  • Trade Count: (+38)
  • Ultra Member
  • *
  • Posts: 7895
For emulation I think it is best to aim for accuracy, not 'a bit more slowdown than on the PCB', even though perfect accuracy is not possible in MAME. From what I have tested out thus far, no MAME emulation of any Ikeda SH3 game is more than 70% accurate (the ports are more accurate in basically every case). Yagawa stuff fares noticeably better (e.g. MMP and PS can be set to have more accurate slowdown in MAME than in the ports) except DFK BL, which is on par with the Ikeda stuff in terms of accuracy (probably because it is an Ikeda game in its core programming).



My score archive
twitter: @cavexstg
youtube: eojx9999
Xbox gamertag: eojx9999

Offline xygax

  • Ballet Hell
  • Trade Count: (0)
  • Maniac Member
  • *
  • Posts: 29
  • It Hurts
Aim for accuracy? I don't know if I should laugh or cry.

Again it is a waste of time researching this using an outdated build. For the Nth time some ingame behaviours changed a bit after the recompiler was introduced (0.192 mem loadings that can influence slowdowns in places). Also using a proper up-to-date build you wouldn't have to deal with crashes and workarounds.

In short whatever you guys find here is in part of no use to users of proper up-to-date builds, and of course no use for the future.

The people who pushed for doing the wrong, uneducated choice of going for outdated cv1k emu ruined the chance of this 'project' to be at least a little serious, as expected from the SRR (Shmuppers + Retroarch = Retardation) typical combo recipe for inacccurcy and promotion of anti-progress, and the ugly clickwhores a la Mark_MSX will surely further promote mediocrity since that's what they exist for/live off.

Aim for accurcy = start with using a proper up-to-date build period.

Retroarch culture is people who don't understand the serious problem of sticking with heavily outdated versions of software, it's a cancer of our times for the world of emulation and development as a whole, a disservice to video games.

Damned Brandolini's law is the essence of the internet.  :displeased:

Offline SuperPang

  • Moderator
  • Trade Count: (+4)
  • Ultra Member
  • *
  • Posts: 680
    • Arcade Otaku
U OK hun?

Offline EOJ

  • Administrator
  • Trade Count: (+38)
  • Ultra Member
  • *
  • Posts: 7895
I use the “proper, up-to-date build”.
My score archive
twitter: @cavexstg
youtube: eojx9999
Xbox gamertag: eojx9999

Offline el_rika

  • Trade Count: (0)
  • Maniac Member
  • *
  • Posts: 54
Testing a bit of Akai Katana, another gorgeous game full of pretty effects.

I've been studying this for the past week (still don't fully understand all the elements of proper scoring - do i actually need to graze bullets with the captured orbs and gold?! or they mature on their own after a fixed time?) and i have a good idea on what it needs to properly run in mame.

As i assumed earlier and EOJ confirmed, type C slows down the game most, and it's a very noticeable difference in slowdown, with any of the ships, between an option full of matured orbs, small orbs and no orbs.

A guy on nico did pcb runs with all characters without ever going into Bubble mode (not an easy thing to do :oogle: ), which is very helpful for testing.
There are sections in this game where, especially with C and B, the game slows down so much that i think it's in single digits. Possibly the slowest slowdown in any Cave   cv1000 game.

B ship:
https://vimeo.com/426182216

Cpu 47.00 mhz
Blitter delay 68%

C ship needs a faster Cpu clock and lower blitter value (60%), while A ship needs a lower Cpu and considerably higher (i settled for 72%) blitter.

Offline el_rika

  • Trade Count: (0)
  • Maniac Member
  • *
  • Posts: 54
Muchi Muchi Pork!

Love everything about this game, except for the bosses, mostly because they lack a health bar or audio cue of some kind. Maybe they'll grow on me    ^-^

Cpu 53.55 Mhz, blitter delay 53%

https://streamable.com/vh6pcn - level 1

https://streamable.com/cfpdff - level 2 and 3 (half)

Maybe a little faster at times, though pretty good overall (level 4 boss slows down just a little bit more than on pcb). This game is soo delicious and sucking in those big golden porky heads is incredibly satisfying.


Daifukkatsu Black Label

This game is pure madness, bullets everywhere, the hud and your ship completely vanishes, hyper quickly becomes a double edge sword, the soundtrack is blood pumping...what can i say, a masterpiece   :righton:

Cpu 41.57 Mhz, blitter delay 57% (Strong/Power)

https://m.youtube.com/watch?v=S7kxrY5R5jw&t=172s - level 1 and half of 2 Green Strong

https://m.youtube.com/watch?v=xmXpWdfVEnQ&t=4s - level 1 and half of 2 Blue Power

https://m.youtube.com/watch?v=LpuUDgMpkw8&t=283s - level 2 and 3 Green Strong (got ultra lucky in a couple of spots).

!youtube/streamable always add a bit of annoying stuttering in some moments, so ignore it!  :'(

This game's timings are very very dependant on rank and shot type. As with all games heavy on special effects, blitter is the first to byte from lasers and explosions, while Cpu goes after the rest (bullets).
The game is fastest with A, a bit slower with B and (slightly slower) with C, like most Cave games with this forumla.
Level one and three bosses on Strong/Power with a full red rank, as well as a couple of dense bullet pattern moments (before mid boss level 3, begining of level 4) are important and reflect well the overall slowdown of the rest of the game.

If anyone knows a pcb Strong/Bomb no Ura no Hyper level 4 mid boss footage (preferrably B ship), it'd help a lot

Bomb style needs 1 Mhz more with B and C, otherwise some instances are a bit too slow (ex.level 1 boss 3rd pattern full red).

Offline trev1976

  • Trade Count: (0)
  • Maniac Member
  • *
  • Posts: 57
Re: SH3/CV1000 emulation in MAME: CPU and blitter settings for emulating slowdown
« Reply #69 on: September 16, 2020, 04:48:48 AM »
what an interesting thread, I currently run a 360 plus UVC for my cave ports but id love to one day just have a PC that does everything rather than having to mess about with so much equipment.

Offline el_rika

  • Trade Count: (0)
  • Maniac Member
  • *
  • Posts: 54
So, Futari Black Label.

No need to reiterate how amazing this one is.

There's a lot to be said about this game and how the emulation handles it, but i'll keep it short.

On pcb, contrary to the norm, sometimes Reco produces more slowdown, sometimes Palm does that (ex. as opposed to Daifukkatsu where the rule is that blue always slows down the game more, and red less ). So the logic is not clear cut, and this made analysing and tweaking much more time consuming.

Reco maniac:
Cpu 45.26 Mhz, Blitter Delay 54%
Palm maniac:
Cpu 46.08 Mhz, Blitter Delay 56%

Reco god:
44.54 Mhz, Blitter Delay 56%
Palm god:
44.33 Mhz, Blitter Delay 56%


Overall level 2 boss and certain Larsa patterns are great for the CPU values, while level 3 and 4 bosses and again Larsa, for blitter.
In-levels and mid bosses, line up very well with these boss values.
Also, the more agressive/point blank the game is played, the more slowdowns happen. Superplayers tend to always play like this, for those red aura gems  :shock:

Observations:
There are a couple of instances (boss 3 and 4) where, depending on how homing (mostly Reco's little bugs) connect to the boss body, an extra 1 or 2 seconds of slowdown occurs. I've seen it in pcb vids and it seems to also be dependable on how much of the boss's body is on screen, so it's somewhat random.

In maniac, 2nd level Boss, first salvo of last segment, is a bit slower with Palm laser, if it connects the center of the boss. Shot has no issues.
In maniac (to lesser extent God) level 3 boss first salvo is slower with Reco if laser hits frontal compared to pcb. Last pattern also depends on positioning, but it is slightly slower as well.

[In these bosses, it depends a lot on how soon/late you create that ~ 3 seconds continuous white flash, with laser/shot, on the boss's body. It seems superplayers actually use this to their advantage, creating a bit more or a bit less slowdown in those quick moments]

Larsa's first salvo in maniac is just a little slower with Reco's laser compared to pcb, though i've seen it go slower in some pcb vids while a bit faster in others.

Larsa in god is very good with both ships :wink:


Maniac:
https://vimeo.com/471737529/ (Reco maniac lvl1,2,3)

https://vimeo.com/471731416/ (Reco maniac lvl1)

https://vimeo.com/479581629 (Palm maniac lvl1,2)

https://vimeo.com/479582830 (Palm maniac  lvl3 boss)

https://vimeo.com/475076907/ (Palm maniac lvl4 boss)


God:
https://vimeo.com/476652165  (Reco god lvl1,2)

https://vimeo.com/477588588  (Reco god lvl2)

https://vimeo.com/user107095125 (Reco god lvl3 boss)

https://vimeo.com/476787078  (Reco god lvl4)

https://vimeo.com/476856294 (Reco god lvl4 mid boss to boss)

https://vimeo.com/479470121 (Palm god lvl4 boss to lvl5 mid boss)

- as always, there are some stutters from vimeo conversion.

Note: There is a behaviour on pcb that can not be replicated (without completely breaking everything else):
Palm (and to a lesser extent Reco's) laser effect seems to have a greater impact on slowdown in less busy scenes in certain levels. Easily observed in superplays at the begining of level 4, where Palm's laser visibly slows down the speed. Other similar moments don't seem to behave the same, with Palm not slowing down the game this dramatically.
This somewhat supports Trap15's old idea that different bleding methods need different blitter values. Thankfuly it happends only in a couple of small instances, the overall blitter and cpu values taking over quite quickly.

Cheers to all.

Offline el_rika

  • Trade Count: (0)
  • Maniac Member
  • *
  • Posts: 54
Revisiting Mushihimesama and Futari 1.5.

My initial analysis for both games was flawed, and the results not as good as they could have been, so i re-tested and compared to pcb runs, with better understanding of how the games behave and how mame handles the blitter delay.
There are surprisingly few pcb runs available for these games at high quality in maniac and ultra modes, so thanks to those that helped me find them :)

The new numbers are much better and i think, as accurate as emulation allows it atm and for the forseable future.

Mushihimesama Futari 1.5:

Reco Normal (maniac):

CPU 47.7 mhz, Blitter Delay 57%

https://youtu.be/D-Qd5cz_tCc lvl1and 2

https://youtu.be/qBU3W4jsHbI lvl3

https://vimeo.com/492447261 lvl2 and 3+boss

https://vimeo.com/492351257

https://vimeo.com/488979653 lvl5

https://vimeo.com/492842604 lvl4+boss,5 and Larsa (potato quality, but showcases how accurate Larsa is)


RecoNormal has a more stuttery normal shot slowdown compared to PalmNormal. The 360 port mitigates this a bit by adding longer slowdown sections in most instances.

Palm Normal (maniac):

Cpu 48.5 Mhz, Blitter Delay 57%

https://youtu.be/oloBwbrLPIo lvl1

https://youtu.be/ZpZmRlHV0Cc lvl3 boss

https://youtu.be/IY2eKyVMZ6I lvl1,2,3

https://youtu.be/kGD3sHywIdM from lvl4 boss to Larsa

https://youtu.be/MQKTuvXmBy4 lvl5

Normal Palm's shot slows down the game most. Does that on pcb as well. In mame it may be a bit slower in some instances, though definitelly in the 10% range. Tried to show that behaviour in a couple of spots on bosses.

Abnormal Palm (maniac):

Cpu 41.5 mhz, Blitter Delay 56%

>footage coming soon<

The normal shot on pcb slows down the game more than in mame, so the game is a bit faster overall in mame. Laser on the other hand slows down the game (lvl3 boss) a bit more than on pcb.
Overall the game is faster (less slowdown) than with Normal Reco and Palm.

Abnormal Reco, Original and Ultra, waay out of my league to properly test them.


Mushihimesama:

Cpu 41.77 Mhz, Blitter Delay 57% (Ultra mode)

I mostly use Wide Shot, as do 99% of the players.
My inital cpu clock speed was too low. This one is the sweet spot for the Cpu dependant patterns (boss1 first salvo, level 2 bullet cancelling sand-worms circular salvos) and overall speed. Level 3 is where the Blitter Delay is important, as there is a lot of in-out slowdown on pcb to be observed.

https://youtu.be/Vui28Eaes-M lvl1,2,3

https://youtu.be/elwYtjxbQlo lvl1,2,3,4,5(half)

https://youtu.be/uuTuL9inw50 lvl5

Maniac mode:
Cpu 48.0 mhz, Blitter Delay 57%

>footage in the future<

Plays very very close in maniac and probably original as well (never tested it).

Youtube always adds some kind of resample and small extra stuttering to these vids, so that's unfortunate.