28 December 2022

Google Search Milestone 🥁🎉😎 - staying strictly non-commercial

So I learned these days that Google Search sees this Blog, and here‘s a milestone for clicks. It is very nice to see that this bears some relevance. And repeating my pledge: No monetization whatsoever happens here! Keep on retrogaming!



26 December 2022

Off-Topic: Mupen64plus on Mac Silicon - finally here

Update Christmas 2022: I created a script for a fully fledged compile of mupen64plus. 

Please download the zip file under this link:

https://drive.google.com/file/d/1EG6fMN-NmQl5cPZ20SNFGdych-wGmxNa/view?usp=sharing

After extraction, please check whether it is executable; if not:

chmod 755 mupen64plusSilicon.sh

With this script, you get all built automatically as described below. Be sure to have all the dependencies installed as explained below.

Only one warning: Although the Rice plugin builds successfully, it fails in my testing with several errors. For the time being, it does not work.

And if you want a frontend: That one works well, even if only an Intel binary (take the latest development build):

https://github.com/dh4/mupen64plus-qt#development-builds

Original post from 3 October 2022:

This is major (at least for me), thus I post these non-MAME news as a change: It runs on Apple Silicon, and quite well!

 


As we all know, Nintendo 64 emulation is a challenge, and modern Macs have long time been virtually excluded from proper emulation. Though OpenEmu has a N64 core based on mupen64plus, the current limitations are too big (for me), and on Apple Silicon, there is no OpenEmu binary available. But finally, you can at least compile your own mupen64plus binary, and thanks to a user, even the crucial GlideN64 plugin can be compiled now!

What you get from this adventurous compile:
  • a (nearly) fully functional mupen64plus core with GildeN64 GFX, SDL joypad support and two optional RSPs (HLE and CXD4)
  • very decent performance at 1280x1024 (I did not yet test higher resolutions)
  • fully functional hires texture packs (crucial for me)
  • everything is still considered 'experimental', but very good for me to go so far
  • run it out of a directory, so I do not mess around with an app image
Requirements: Besides XCode, you need a bunch of packages to be installed (via Homebrew or via Macports). These instructions for MacOSX seem outdated. With Homebrew, an installation of the requirements is rather straight-forward:
  • Homebrew (initial install)
  • sdl2 (with all associated dependencies)
  • libpng
  • freetype2
  • zlib
  • cmake
  • nasm
If you have already Homebrew up and running, it's very likely that you already meet these requirements.

I keep it short for the time being, but will expand if necessary. Basic Terminal knowledge and MacPorts/Homebrew will be required.

11 December 2022

Moving to MacOS Ventura

 After some waiting, I moved to MacOS Ventura 13.0.1 from Monterey without any issues so far.

Ventura seems to be a no-brainer for MAME

This is a rather short post because there is not much to report: MAME and all frontends seem to work flawlessly. Benchmarks show approximately identical results (OpenGL became slower through various releases, Metal benchmarks still don't work properly, but at least the purple flash is gone when starting MAME and games).

Further nice things to report:

All emulators mentioned in this post work.

Joypad configuration is massively improved, and Nintendo Joypads and Joycons can be connected. For Joycons and Dolphin, you only need to follow Andrew‘s instructions:

https://youtu.be/Y4FqRpFi5Fo (a brilliant channel, by the way)

I already tested my beloved Super Mario Galaxy 2, and it blows my mind :-).

The new Apple Silicon build of GIMP 2.10.32 runs extremely well.

If there is anything else to report, I will do an update here.



21 November 2022

RetroAchievements is just brilliant and highly addictive! (November Update)

Brief update after s month in RetroAchievements: It continues to amaze me!

- New sets come in very frequently, and the recent Moon Patrol set is brilliant. With sets like these, you learn more about the games and what is achievable (at least by very good gamers). The community is enthusiastic and grateful.

- As an open system, you can switch between emulators/RetroArch cores or systems (Mac/iPad/Windows/Raspberry Pi) and always work on your achievements. This is amazing.

- For Arcades, I went back to the Arcade Stick, these challenges demonstrate that you need them for serious Arcade gaming. My beloved PS4 joypad is just too casual.

- Even if I will probably not master any set fully, I really like looking at my achievements and think of next steps (closing in to top 50%, at least).

- But where are you, fellow gamers? Let‘s connect!!! 😃



First: Whatever I write here, you need to experience it yourself to really appreciate it.

I never had a close look into RetroAchievements, though it has been around for some time. What a mistake, now I have to play all these console games from scratch again ;-), but now without save states, but just the original games!

Though arcade games don‘t play the lead role in here, they are still worth a try. Just to clarify, this is not MAME, but Finalburn Neo in RetroArch. So if you still need a reason to test RetroArch for arcade games - here it is.

Please see https://retroachievements.org/gameList.php?c=27 - there are currently 218 arcade games registered with a set. Arcade games that are worth a try in RetroAchievements are:

Galaga, Gyruss, Phoenix, Metal Slug Series, Shinobi

06 October 2022

Attract Mode on Steroids: At-The-Arcade Flex is a must tryout

Update 6 October 2022: This GitHub repository provides very recent Apple Silicon builds of Attract Mode

https://github.com/djhan/attractplus-for-mac

See https://github.com/djhan/attractplus-for-mac/blob/master/attract-2.6.2-41.dmg

And Attract Mode builds very nicely on Silicon Macs, just use the create-pkg.sh Script from the /util/osx subdirectory. It only works with Homebrew but not MacPorts, though. And if you want to use the created dmg on another Mac (even identical AppleID), you need to codesign the binary, the dylibs and the app container manually, otherwise you get a "permission denied" error and other error messages.

——-

During my testing, I could not identify any flaws, except for the non-functional history.dat plugin. So kudos to DJHan for these builds. For Intel builds, revert to the discussion below and try his Intel builds, or just stick with the official old builds that still work fine.

Minor update 10 July 2022: As explained in the comments below, if you  want to compile your own .app bundle (which works nicely), it seems to me that you must sign it with your own Developer Certificate. Otherwise the compiled app would even not work on your own Mac (at least I think so).

Attract Mode still impresses, as its layout capabilities are further evolving in the community. This release of a layout called "At-The-Arcade-Flex" is so outstanding that I had to produce this small video.

How to get there:

  1. Setup, part 1 - is a mandatory read, in particular how to toggle new layouts
  2. Download and install the theme from here: http://forum.attractmode.org/index.php?topic=3979.0 - read instructions carefully, but note: On Macs, the gtc-common folder goes into the .attract root directory of your user.
  3. Download the updated cabs from the same forum post and put them all in a directory of your choice (must match with the directory below!)
  4. And these are the important parts of your Arcade.cfg file - cabinets folder definition in red:

executable           $HOME/Games/mame/mame

args                 [name]

workdir              $HOME/Games/mame/

rompath              $HOME/Games/mame/roms/

romext               .zip;.7z

system               Arcade

info_source          listxml

nb_mode_wait         2

exit_hotkey          Joy0 Button12  

artwork    cabinets        $HOME/Games/mame/cabinets_am 

artwork    flyer           $HOME/Games/mame/flyers

artwork    marquee         $HOME/Games/mame/marquees

artwork    snap            $HOME/Games/mame/videosnaps;$HOME/mame/snap

artwork    video           $HOME/Games/mame/videosnaps

artwork    wheel           $HOME/.attract/scraper/mame/wheel


It's very snappy and extremely noisy - you get the cacaphony of an arcade hall, and your own video sound prevails over it. What a joy! Try out and be amazed.



New Lightweight GLSL Shader around - some testing comparison

If you browse this blog, you'll see how important I deem shaders for MAME. Proper shader configuration was a bit of the start of this blog. So no wonder if I report about a promising new lightweight GLSL shader.

MAME-PSGS in action, good looking and performant

You find the new shader here: https://github.com/TheCodeTherapy/MAME-PSGS. According to the ReadMe, this shader is designed for rather low-key non-Windows devices running MAME. Clearly modern Macs run every BGFX MAME shader with ease, but let's see which performance gains a truly lightweight shader can achieve.

16 July 2022

MAME on Apple M1 - as good as expected!

Update 3 December 2022: moving to Ventura was smoothless - see this short post.

Update 16 July 2022: I did some prelimimary MAME testing on a 14“ MacBookPro M1Pro (it’s not mine). While this is no in-depth review, there are some insights from a MAME gamer‘s perspective I would like to share with you.
  • SUPERB The Liquid Retina XDR-display with 3024x1964 is a real highlight. Above all the ProMotion refresh rate of 120 Hz provides you with butter-smooth scrolling out of the box. Just activate waitvsync on top, and you get perfect scrolling. But don’t use nothrottle as your games would run double speed.
  • GOOD: This laptop produces surprisingly good sound quality. Retrogames sound very nice!
  • GOOD: It did not produce any heat during my testing, and no fan noise. Always such a good thing compared to most Windows and MacIntel laptops.
  • BAD: In some games, e.g. 1942, the display notch is quite a nuisance (see photo below). But it’s not terribly bad, if it makes you crazy, use a bezel and shrink your screen, or just turn to window mode.
  • SURPRISE: Initial benchmarks (as I used to do them) provide for worse results than on my Mac mini M1, even on the same external display. The M1 Pro should provide better results, so something is wrong. In practice, this is totally irrelevant, as the games run just nicely so far.
Conclusion: Of course this machine is too much for Retrogaming, but if you happen to own such machine, it provides an impeccable MAME gaming experience, with this display being the highlight. Would I need a Mac laptop, I would always opt for a ProMotion display.

In many games, you will have to adjust the screen below the Display Notch.



Original post: I finally decided to move to a Mac mini M1 - and MAME just shines on it. No war stories here, but just the benchmarks!


R0ni compiles M1 MAME, so get it here: https://sdlmame.lngn.net/ or on Github: https://github.com/mac-a-r0ni/mame 

This table shows you a performance comparison between:
- Mac mini M1 (native)
- Mac mini M1 (Rosetta2): no real need for this, but just to demonstrate Rosetta2 performance 
- Mac mini Intel (latest version)
- iMac (late 2013): best results under Mojave (Catalina became slower, and no Big Sur here)

./mame -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom -bgfx_backend opengl -noreadconfig -nosleep -nothrottle -lowlatency


02 April 2022

FINALLY: perfect scrolling in MacMAME by configuration!

👾👾👾👾👾👾 Time to celebrate. After so many attempts, I finally stumbled across the perfect configuration for flawless scrolling in MacMAME. 👾👾👾👾👾👾

Update 16 July 2022: It seems to me that with displays higher than 60 Hz, the nothrottle option would not work, as it results in speeds far above 100%. At least that was the result of my testing with a MacBook Pro M1. With such monitors, you would not need this hack anyway as waitvsync alone already provides for perfect results.

Showcase Moon Patrol - watch on your system how it scrolls sideways 

Until now, the usage of waitvsync, which is rather important for avoiding bleeding, caused stuttering in MacOS. As the MAME documentation explains:

On macOS, -waitvsync does not block; instead the most recent completely drawn frame will be displayed at vblank. This means that if an emulated system has a higher framerate than your host display, emulated frames will be dropped periodically resulting in motion judder.

That's why waitvsync is disabled by default. Now, very surprisingly, nothrottle combined with waitvsync comes to the rescue! With this MacMAME emulation is close to perfect for me! No 144 Hz monitor or Adaptive Sync required.