Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up --- Bug Reports --- Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Smartphone CPU (Android OS) and mame Cv1000 emulation  (Read 163 times)

0 Members and 1 Guest are viewing this topic.

el_rika

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:June 16, 2019, 10:56:53 pm
  • I want to build my own arcade controls!
Smartphone CPU (Android OS) and mame Cv1000 emulation
« on: June 11, 2019, 05:27:48 am »
Hello good people, how's everyone doing?  :D

As the title says, i've been, for a few years now, on a quest for playing these wonderful games on the go, in an android smartphone. For some time, there's been a way to do it, with the help of mame (2014) core in Retroarch, but the requirements have far surpassed the CPU capabilities of smartphones, hopefully until this year with the release of Snapdragon 855 soc in various smartphones.

My questions for any of you that may be able to help are:

1. Has anyone had the chance to actually try these games in a Snap 855 powered device? If so, how do they fare in terms of speed (not accuracy, i know that is a different story). As a side note; Mame 2014 core includes both Blitter and Cpu undeclocking settings, which 'should' help improve both speed and accuracy.


2. Is there a way to ~ accurately compare the speed of Snapdragon 855 with a Desktop/Laptop CPU (in terms of Single Thread performance), so one can conclude if full speed in Cv1000 games is achievable? Some benchmark CPU scores maybe..

I've been playing Cave 1st and 2nd gen shmups on my old 2013 phone (Galaxy Note 3) for years now, and there have been some very enjoyable work breaks, flys and bus drives  ;D and now i'm hoping to dive into 3rd gen Cave shmups, but before purchasing a new device, i'd like to avoid a disappointment.

Thanks a lot guys, sorry for the long post and thanks so much to anyone that takes the time to help me out!  :cheers:r

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1205
  • Last login:June 12, 2019, 09:32:04 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: Smartphone CPU (Android OS) and mame Cv1000 emulation
« Reply #1 on: June 11, 2019, 12:44:55 pm »
keep in mind that there's no ARM recompiler backend for the SH3/4, so while the system requirements on a PC are fairly modest these days that won't translate to ARM based architectures at all.

el_rika

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:June 16, 2019, 10:56:53 pm
  • I want to build my own arcade controls!
Re: Smartphone CPU (Android OS) and mame Cv1000 emulation
« Reply #2 on: June 12, 2019, 04:54:56 am »
Hy Haze, thanks for answering

yeah, i keep forgetting that. I was hoping someone would port the latest improved recompiler to android, but it seems that's not gonna happen.

However, as someone intimately familiar with this, would you say that there is a big difference in performance improvements between the 2014 version of the driver and the latest one, with the fancy recompiler?  I know for certain that on android, the 2014 is noticeably faster than the ~ 2016, 2017 drivers, so what i'm ultimately hoping for is that the brute force ('speed' in this case) of latest mobile hardware will be enough  :-\

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 431
  • Last login:Yesterday at 06:05:15 am
  • I want a large cream coffee
Re: Smartphone CPU (Android OS) and mame Cv1000 emulation
« Reply #3 on: June 12, 2019, 05:39:19 am »
As a side note; Mame 2014 core includes both Blitter and Cpu undeclocking settings, which 'should' help improve both speed and accuracy.
GroovyMAME of today does too, no need to stick to years-old builds for that. Good luck trying to find the best approaching settings for each game though.
« Last Edit: June 12, 2019, 05:41:07 am by schmerzkaufen »
GroovyMAME oddball LCD user: W7 64, viewsonic vx3211-mh, i5-4690k @4.1GHz, Rx 570, crt_emudriver 2.0b15

el_rika

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:June 16, 2019, 10:56:53 pm
  • I want to build my own arcade controls!
Re: Smartphone CPU (Android OS) and mame Cv1000 emulation
« Reply #4 on: June 12, 2019, 06:40:45 am »
Thanks man,

I'm not looking for pcb level of slowdown accuracy, just enough to be playable&enjoyable and smooth 60/60.

Is GoovyMame part of latest mame core? Or is is a seeparate core? I couldn't find it on libreto site  :dunno

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 431
  • Last login:Yesterday at 06:05:15 am
  • I want a large cream coffee
Re: Smartphone CPU (Android OS) and mame Cv1000 emulation
« Reply #5 on: June 12, 2019, 07:01:34 am »
Thanks man,

I'm not looking for pcb level of slowdown accuracy, just enough to be playable&enjoyable and smooth 60/60.

Is GoovyMame part of latest mame core? Or is is a seeparate core? I couldn't find it on libreto site  :dunno

I was only reacting to your side note - not specifically about RetroArch or mobile phones - saying GroovyMAME (as now v0.210) is almost always up-to-date with baseline MAME and features the useable/save-able CPU and Blitter sliders too. It's the only modern build that does.

You won't find a GroovyMAME core to use in RetroArch though.
And yeah indeed you can't get pcb accuracy with those tweaks no matter what, just something closer.
GroovyMAME oddball LCD user: W7 64, viewsonic vx3211-mh, i5-4690k @4.1GHz, Rx 570, crt_emudriver 2.0b15

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1205
  • Last login:June 12, 2019, 09:32:04 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: Smartphone CPU (Android OS) and mame Cv1000 emulation
« Reply #6 on: June 12, 2019, 08:08:32 am »
Hy Haze, thanks for answering

yeah, i keep forgetting that. I was hoping someone would port the latest improved recompiler to android, but it seems that's not gonna happen.

However, as someone intimately familiar with this, would you say that there is a big difference in performance improvements between the 2014 version of the driver and the latest one, with the fancy recompiler?  I know for certain that on android, the 2014 is noticeably faster than the ~ 2016, 2017 drivers, so what i'm ultimately hoping for is that the brute force ('speed' in this case) of latest mobile hardware will be enough  :-\

On a PC, yes, the speed increase from the recompiler makes things 3x faster in some CPU heavy situations (when things like Pink Sweets decompress graphics into video memory at various points in a stage for use in the next section for example)  The reason I added the recompiler for SH3 is because those were annoying me (idle skipping the CPU emulation was ineffective as the CPU wasn't idle).  In most situations the CPU emulation was the bottleneck so overall there is a lot of benefit from it.

A weak CPU will however still slowdown in cases where the blitter emulation thread is too heavy (lots of objects onscreen) as that runs on a different core to the CPU emulation and was already heavily optimized but can still be demanding in extreme cases.

« Last Edit: June 12, 2019, 08:10:20 am by Haze »

el_rika

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:June 16, 2019, 10:56:53 pm
  • I want to build my own arcade controls!
Re: Smartphone CPU (Android OS) and mame Cv1000 emulation
« Reply #7 on: June 12, 2019, 08:11:06 am »
Thanks for the clarification schmerzkaufen:applaud:

So for mobiles, the only option at the moment is the 2014 version of mame, but it's up to the hardware to do the heavy lifting.

el_rika

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:June 16, 2019, 10:56:53 pm
  • I want to build my own arcade controls!
Re: Smartphone CPU (Android OS) and mame Cv1000 emulation
« Reply #8 on: June 12, 2019, 08:35:58 am »
Thanks for the explanations Haze. So i guess, as far as actual performance, this is as good as it'll ever be (perfect accuracy is of course another matter).

Btw, Is blitter delay affecting performance at all?




Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1205
  • Last login:June 12, 2019, 09:32:04 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: Smartphone CPU (Android OS) and mame Cv1000 emulation
« Reply #9 on: June 12, 2019, 09:30:46 am »
The blitter delay actually lowers requirements a bit in the existing implementation, but the existing implementation isn't threadsafe, so if your CPU is too slow the whole thing will glitch out (and potentially crash)

A proper implementation with accurately calculated slowdowns would likely be much more demanding as the current blitter code has tightly optimized loops catered to every single draw case with no complex code to calculate how long the operations should really take for each type of pixel etc.  (this is currently impossible to do anyway as we don't have the proper information, and it likely relies on the uploaded FPGA microcode and RAM speed on the PCBs so could differ between FPGA code revisions, and before it's asked, yes, emulating it at FPGA level would be even slower, prohibitively slow even)

« Last Edit: June 12, 2019, 09:32:28 am by Haze »

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 431
  • Last login:Yesterday at 06:05:15 am
  • I want a large cream coffee
Re: Smartphone CPU (Android OS) and mame Cv1000 emulation
« Reply #10 on: June 12, 2019, 09:48:00 am »
If gathering the proper information means collecting all cv1000 pcb's again, then consumer CPUs with enough juice to run those full speed at fpga-level emulation will likely happen sooner anyway. I mean some Cave games exchange for over $10,000 already lol.

10GHz CPU @ $100 when
GroovyMAME oddball LCD user: W7 64, viewsonic vx3211-mh, i5-4690k @4.1GHz, Rx 570, crt_emudriver 2.0b15