Multiple Arcade Machine Emulator for iOS, iPadOS, tvOS, macOS (Catalyst)

Overview

MAME4iOS

Original Author: David Valdeita (Seleuco)

This is a port of MAME for iOS, iPadOS, tvOS and macOS. MAME4iOS is designed to run for modern iOS and macOS platforms, including support for the latest Apple technology platform enhancments such as Metal graphics and the M1 processor.

Download IPAs for iOS and tvOS here

Chat on Discord!

See what's new

Screenshots

iPhone Screenshot AppleTV Screenshot macOS Screenshot

Summary

MAME stands for Multi Arcade Machine Emulator, and lets you play arcade games from the past 30+ years on a device that fits in your pocket! My teenage self from decades ago would be replaying that "mind blown GIF" over and over again, but that GIF did not exist back then.

More than 2000 games are supported, and the currently supported romsets are 0.238 (November 2021) and 0.139u1 (September 2010). Note that there are separate apps for the latest MAME and the classic 0.139u1 versions. This is done because the supported romsets differ greatly between the the MAME versions.

It has been updated to compile and runs on the latest Xcode by Les Bird, and he has graciously added support for MFI Controllers.

Since then, a large number of features have been added:

  • 64-bit binary to run on modern and future iOS and macOS devices, including Macs using the M1 series of processors
  • Supports modern device screen sizes for iPhone and iPad
  • tvOS support (new in 2019!)
  • Multiple MFI controllers (up to 4 with dual analog support - @DarrenBranford)
  • Supports using the touch screen as a lightgun
  • Turbo mode toggle for buttons
  • Touch analog for games like Arkanoid
  • An in-app web server to transfer files from your computer (new in 2019!)
  • A native iOS/iPadOS/tvOS frontend (by @ToddLa, new in 2020!)
  • A native Metal rendering engine (by @ToddLa, new in 2020!)
  • Transfer ROMs, Artwork, and ROMSETs via AirDrop or iOS File Sharing (new in 2020!)
  • Builds in the latest Xcode

Building / Installation / Sideloading

Xcode

Requirements: iOS 13.4 or higher, tvOS 13.4 or higher, or Mac 10.15.5 (Catalina) or higher to run.

Requirements: Mac 10.13.6 with Xcode 11.4 or above to bulid.

Even if you are not in the paid Apple Developer Program, you can sideload the app using a Mac with Xcode.

  1. Open the Xcode project in MAME4iOS.xcodeproj

  2. Set the Organization and Team Identifer in MAME4iOS.xcconfig

    ORG_IDENTIFIER   = com.example    // CHANGE this to your Organization Identifier.
    DEVELOPMENT_TEAM = ABC8675309     // CHANGE this to your Team ID. (or select in Xcode project editor)
    
    • The ORG_IDENTIFIER is a reverse DNS string that uniquely identifies your organization.
    • You can also set the Development Team via the drop down in the Xcode project editor, for each Target.
    • You can find your TeamID here.
  3. Enable entitlements in MAME4iOS.xcconfig (optional, only if you have a developer account)

    • entitlements are required for tvOS TopShelf and iCloud Import/Export/Sync.
  4. Select the MAME binary to link to, in MAME4iOS.xcconfig

    • 139u1 or latest MAME 2xx version.
  5. Choose the appropriate build target in Xcode:

    • MAME4iOS Release (iPhone/iPad/macOS)
    • MAME tvOS Release (AppleTV)
  6. Build:

    1. If you are a developer: Build and ▶︎ Run on your device. Done.
      • NOTE first time build may take a long time.
    2. If you are not a developer…
      1. XcodePreferences add your Apple ID, select your Personal Team, and create an iOS Development Profile.
      2. Select the project name on the left pane and make sure your personal team is selected
      3. Hit the ▶︎ Run button to install on your device. Done.

How to build latest version of MAME (optional)

By default MAME4iOS will use pre-combiled libraries for the latest MAME, if you need a Simulator build, or just want to build MAME, you need to...

  • clone this fork of MAME
  • run ./make-ios.sh [ios | tvos | ios-simulator | tvos-simulator | macOS] in the forked MAME
  • go watch this then this while you wait for MAME to build.
  • now switch directories to your MAME4iOS project
  • run ./get-libmame.sh ios <path to your MAME clone>
  • edit xcode/MAME4iOS/MAME4iOS.xcconfig to select the libmame library.
  • build and run in Xcode.

Issues running latest MAME

  • most MAME 139 ROMs dont work on 2xx, but that is just normal life in MAME world, see this.
  • if you run a Computer machine, and you use a USB keyboard, ⌘+DELETE is is the ui_mode_key.
  • MAME Configure menu has a Add To Favorites and Select New Machine that dont interact with the MAME4iOS Ux.
  • Games that use DRC (like NFL Blitz....) will not work correctly and may crash hang, if Use DRC is enabled, This is an issue with the arm64 support in MAME.

Mixing 139 and 2xx ROMs

Some romsets are not compatible between MAME 139 and newer versions, the best way to use both romsets at the same time is to make sure the newer ones are stored in the 7z format and the 139 ones in the zip format. This way both files can co-exist.

tvOS

MAME for tvOS support was added in early 2019, and it currently can run games has full native UI support and MFI controller support with most notably:

  • MFI controllers, Xbox One, PS4 DualShock, and Siri Remote support.

Using MAME

When you start MAME4iOS, you are now presented with an updated and native iOS/tvOS MAME UI

MAME UI Controls

  • Onscreen D-Pad or MFI Controller D-Pad: Move through the menu
  • A Button: Start Game

In-Game

  • Coin: SELECT/COIN for Player 1
  • Start: START for Player 1
  • Menu: Open the MAME4iOS menu
  • Exit: Exit the game

Adding ROMs to MAME4iOS

iOS

For iOS users, you can download ROMs using Safari and save them to the roms directory by choosing the "Save to Files" (go to "On My iPhone" -> MAME4iOS) option after downloading a ROM.

You can also use the "Start Server" option in the menu to start the webserver, and enter the address shown on the web browser on your computer.

You can also use the "Import ROMs" option to open up the native iOS file browser and load files that are saved locally or that exist on iCloud.

You can use "Import from iCloud" to download ROMs previously uploaded to iCloud.

tvOS

on tvOS the only options are to copy ROMs via "Start Server" or downloading via "Import from iCloud".

Adding Softare to MAME4iOS

MAME4iOS supports two types of Software

  1. Software List (aka MESS) based software, installed via ZIP files into roms

  2. Single file based image (cart, flop, dsk, ...), installed into software

ROMless Machines

MAME4iOS includes a set of Machines/Systems that dont need any ROMs installed to run, and can be used "out of the box".

ROMless Arcade Machines

Name Description
pongf Pong (Rev E) [TTL]
pongd Pong Doubles [TTL]
rebound Rebound (Rev B) [TTL]
breakout Breakout [TTL]

ROMless Console Machines

The following is a list of some of the Consoles and file types supported by MAME4iOS "out of the box"

Name Description Media File Types
a2600 Atari 2600 (NTSC) a26, bin
a2600p Atari 2600 (PAL) a26, bin
gen_nomd Genesis Nomad (USA Genesis handheld) md, smd, bin, gen
genesis Genesis (USA, NTSC) cmd, smd, bin, gen
megadrij Mega Drive (Japan, NTSC) md, smd, bin, gen
megadriv Mega Drive (Europe, PAL) md, smd, bin, gen
megajet Mega Jet (Japan Mega Drive handheld) md, smd, bin, gen
nes Nintendo Entertainment System / Famicom (NTSC) unif, nes, unf
nespal Nintendo Entertainment System (PAL) unif, nes, unf
1292apvs 1292 Advanced Programmable Video System rom, tvc, bin, pgm
1392apvs 1392 Advanced Programmable Video System rom, tvc, bin, pgm
pico Pico (Europe, PAL) md, bin
picoj Pico (Japan, NTSC) md, bin
picou Pico (USA, NTSC) md, bin
vboy Virtual Boy vb, bin
sgx SuperGrafx cue, gdi, toc, chd, bin, cdr, nrg, pce, iso
pce PC Engine cue, gdi, toc, chd, bin, cdr, nrg, pce, iso
tg16 TurboGrafx 16 cue, gdi, toc, chd, bin, cdr, nrg, pce, iso

Console Machines and Computers (that require BIOS)

The following is a list of some of the Consoles, Computers, and file types supported by MAME4iOS, but BIOS files must be installed first.

Name Description Media File Types
a5200 Atari 5200 rom, a52, bin, car
a800 Atari 800 (NTSC) rom, xfd, atr, dsk, bin, car
a7800 Atari 7800 (NTSC) a78
famicom Famicom unif, nes, unf
fds Famicom (w/ Disk System add-on) fds
snes Super Nintendo Entertainment System / Super Famicom (NTSC) sfc
snespal Super Nintendo Entertainment System (PAL) sfc
32x Genesis with 32X (USA, NTSC) 32x, bin
32xe Mega Drive with 32X (Europe, PAL) 32x, bin
32xj Mega Drive with 32X (Japan, NTSC) 32x, bin
neogeo Neo-Geo MV-6F neo, bin
n64 Nintendo 64 rom, v64, n64, z64, bin
n64dd Nintendo 64DD bin, 2mg, rom, n64, z64, hdv, hd, v64, chd, hdi
c64gs Commodore 64 Games System (PAL) a0, 80, prg, t64, e0, p00, crt
c64 Commodore 64 (NTSC) d64, tap, prg, a0, g64, 80, g41, g71, wav, p00, mfi, dfi, t64, e0, crt
apple1 Apple I wav, snp
apple2 Apple ][ do, mfi, dsk, rti, edd, wav, woz, nib, dfi, po
apple2gs Apple IIgs (ROM03) mfi, edd, mfm, td0, 360, img, do, nib, imd, dc42, hfe, rti, ima, po, d77, ufi, woz, dsk, 2mg, cqi, dfi, cqm, d88, 1dd
mac128k Macintosh 128k d88, dsk, cqm, d77, img, dc42, mfm, 2mg, 1dd, cqi, imd, dfi, mfi, woz, td0, ufi, 360, ima, hfe
ibm5150 IBM PC 5150 mfi, td0, mfm, wav, hdv, 360, img, hd, xdf, imd, hfe, 2mg, ima, hdi, d77, ufi, dsk, chd, cqi, dfi, cqm, d88, 1dd
bbca BBC Micro Model A wav, uef, rom, bin, csw
bbcb BBC Micro Model B adf, mfi, fsd, td0, mfm, wav, 360, ads, csw, img, rom, prn, adl, imd, bin, bbc, hfe, adm, ima, d77, dsk, ufi, uef, ssd, cqi, dfi, dsd, cqm, d88, 1dd

tvOS

You can upload ROMs to MAME on your AppleTV using a computer. After MAME starts, you'll be shown a welcome screen with the address of the AppleTV that you can enter in your web browser. Add MAME ROMs to the roms directory using the provided web uploader.

Game Controller Support

Pair your MFi, Xbox, or Dual Shock controller with your iOS device, and it should 'just work'. Up to 4 controllers are supported.

Hotkey combinations (while in-game)

MENU Open MAME4iOS MENU
MENU+L1 Player Coin
MENU+R1 Player Start
MENU+L2 Player 2 Coin
MENU+R2 Player 2 Start
MENU+A Speed 2x
MENU+B Pause MAME
MENU+X Exit Game
MENU+Y Open MAME menu
MENU+DOWN Save State ①
MENU+UP Load State ①
MENU+LEFT Save State ②
MENU+RIGHT Load State ②

Hotkey combinations (while in choose game UX)

MENU Game Context Menu
OPTION MAME4iOS Settings
A Play

Dual analog support

The right stick on the extended controller profile is fully supported, with support for 4 players (thank you @DarrenBranford!)

Trigger buttons

The trigger buttons are mapped to analog controls and should be useful in assigning for pedal controls, for example.

Siri Remote

MAME4iOS is now usable on a AppleTV using only the stock Siri Remote. You can only play games that use only the A and B buttons.

to start playing a game, hit MENU and select "Coin + Start" from the list.

TRACKPAD MOVE   - emulate a dpad or joystick
TRAKPAD CLICK   - A button
PLAY            - B button
MENU            - bring up the MAME4iOS menu

Touch Screen Lightgun Support (new in 2018, iOS only)

You can now use the touch screen for lightgun games like Operation Wolf and Lethal Enforcers. Holding down your finger simulates holding down the trigger, which is mapped to the "X" button. Tap with 2 fingers for the secondary fire, or the "B" button.

In full screen landscape mode, you can hide the onscreen controls using the "D-Pad" button at the top of the screen. When using a game controller, the top button of the screen opens the menu to load/save state or access settings.

Touch Lightgun setup is in Settings -> Input -> Touch Lightgun, where you can disable it altogether, or use tapping the bottom of the screen to simulate shooting offscreen (for game that make you reload like Lethal Enforcers).

Shortcuts while in Touch Screen Lightgun mode

  • Touch with 2 fingers: secondary fire ("B" button)
  • Touch with 3 fingers: press start button
  • Touch with 4 fingers: insert coin

Turbo Mode Toggle for Buttons (new in 2018)

Under Settings -> Game Input, there's a section called "Turbo Mode Toggle", that lets you turn on turbo firing for individual buttons. Holding down the button causes the button to fire in turbo mode.

Touch Analog Mode (new in 2019, iOS only)

Also in Settings -> Game Input, you'll find a section called "Touch Analog" and "Touch Directional Input". "Touch Analog" lets you use your touchscreen as an analog device for games using input controls such as trackballs and knobs. These include games like Arkanoid or Crystal Castles. You can adjust the sensitivity of the analog controls, and also choose to hide the d-pad/analog stick in this mode.

"Touch Directional Input" is rather experimental and is for vertical shooters so you can move around using your finger. It still needs some work so just a word of caution :)

License

MAME4iOS is distributed under the terms of the GNU General Public License, 2 (GPL-2.0).

Comments
  • Support ''Merged ROMS'' with latest MAME

    Support ''Merged ROMS'' with latest MAME

    Hi, ToddLa Thanks for updated to the MAME 229.

    First this is how I build: Download from your Fork this: ios-osd branch. run at Terminal this: ./make-ios.sh It took around 2 hours to build ''libmame-ios.a'' file. I tried to run at Terminal this: ./get-libmame.sh ~/MAME4iOS-master (my desktop path) And then Terminal shows this: USAGE: ./get-libmame.sh [ios | tvos | mac | all] [source] Terminal did not build anything. I simply copied the ''libmame-ios.a'' file to MAME4iOS-master root folder and run with Xcode Build successfully. 👍

    There are 3 type of romset https://docs.mamedev.org/usingmame/aboutromsets.html (url) I have Merged Roms (229), which is more benefit to users... all in one, save space etc. I added my roms to Mame4ios but it only shows the Parrent roms!!! I assume Mame4ios cannot separate that whatever inside the zip file! Especially with new the native iOS UI

    Is there any way to fix this issue?

    Example Rom: sf2ce.zip size:43 mb including all clones.

    opened by rslkr 43
  • New Button Layout.

    New Button Layout.

    With the iPhoneSE (SE2, 9, ...) imminent, and rumors of new screen sizes in the fall. You know what that means, MAME4iOS on screen buttons are gonna break again.

    Changing the button layouts is a PITA, you have to update 5 txt files for each device, and test in portrait/landscape full screen/non full screen. Currently the buttons in one of the iPad layout is not aligned, but it is not worth trying to fix it.

    What we should do is scrap all the code, and txt file resources and replace it with dynamic layout that will adapt to any screen size or device.

    The code will just simple code that manually lays out the stick and buttons based on the screen size, etc. it will use (gasp) AutoLayout, or a UIStackView. All it has to do is support a single layout for portrait vs landscape, fullsceen vs no-full screen. With maybe a few tweaks for extra large (iPad) or extra small (iPhone5ish) devices.

    What we loose doing this

    • custom button layouts. Does anyone really use these, except to fix broken layouts when a new screen size comes out??
    • per-device background images. We will need to use a generic black-brushed metal image that looks good when tiled to any size.

    What we gain doing this.

    • new screen sizes wont make the developers play roshambo to decide who gets to do a new layout.
    • button layout, ABYX, will match between iPhone and iPad. See issue #160
    • better to adapt to dynamic screen size, ie maybe split view on iPad, or a Catalyst macOS app.
    • ability to easily add/move the hidden buttons (A+B, A+X, etc) see #159
    • ability to easily add a L1 and R1 to the iPhone layouts.
    • general warm and fuzzy feeling being able to delete all that code.
    • ability to easily add back in skin support, skins would not be able to change the button locations, but would be able to change the button/stick images and the background tiled image. We can at least do a light, dark, and retro color scheme.
    • consistent placing for SELECT, START, MENU, EXIT. question, do we need a separate EXIT button? Exit is a choice on the menu???

    things to make sure we support

    • setting for extra large buttons, again do people use this?
    • make sure the hidden buttons are placed correctly.
    • maybe adding L2,R2, L3,R3 buttons on the iPad.
    opened by ToddLa 29
  • MAME4tvOS menu behaves unexpectedly

    MAME4tvOS menu behaves unexpectedly

    Hi guys, I am experiencing strange behaviour of MAME4tvOS menu.

    On Siri remote, MENU button should show MAME4tvOS menu - this is not happening for me On Magic Keyboard, most of the buttons will open MAME4tvOS menu before the action is passed through. "P" (pause) and TAB (MAME menu) works as expected. On 8bitdo controller, all buttons will open MAME4tvOS menu (keyboard or iCade mode)

    Any advise please? Thanks a lot.

    opened by Motko222 27
  • Add P3 and P4 Start

    Add P3 and P4 Start

    If a game has 3 or 4 Players should we add P3 Start and P4 Start to the in-game menu?

    Should we add them to the HUD menu? Both?

    The reason we did not do this before is..

    • the in-game menu was too full/large
    • we did not “know for sure” how many players a game had.

    We now have myosd_num_players set correctly, and in-game menu has some room, so we could easily do this.....

    opened by ToddLa 24
  • Rename Hidden Combo Button ''B+X to A+B''

    Rename Hidden Combo Button ''B+X to A+B''

    The main buttons used to be ''X and B'' on screen controller. I understand and respect the idea that why the buttons were changed to ''A and B''. They are adjustable but I still don't get used to it. It's kinda annoys me.

    I'll explain it more in e.g. below. I use left hand's thumb for j.stick and right hand's thumb for buttons. Sorry for the mere detail and yes I'm not a freak :) Some games require 2 buttons for special moves and I was using the hidden button ''B+X'' for it. I can't touch on 2 buttons same time even they next to each other! It was good before now I have to adjust more things.

    In short, please someone can add one more hidden button for ''A+B'' And these hidden buttons could turn on/off individually in the settings by user. If the user does not want them to be active on screen controller. Like ''Fullscreen Buttons''

    Controller 
    opened by rslkr 20
  • version 2020.1 always black screen TVos

    version 2020.1 always black screen TVos

    i try to use new version 2020.1 and i can't see ROMS, always black screen i can enter in SETTING end start web server, upload roms like older version but i cant see roms

    any ideas?

    opened by italoc 20
  • Add

    Add "Snapshot Button" for Game's Titles

    There is no guarantee that the website/server using for ''Game's Titles'' on the Native iOS UI will lasts forever!!! Please let the users to get the titles for it by MAME4iOS. So we can use a button on the HUD, this button should be available and visible on the HUD when user need it. Activate in Settings to turn it on/off. Otherwise the HUD will get crowded again. Snapshot text matches with game name and add to titles folder by Mame4ios.

    opened by rslkr 15
  • Adjust HUD size

    Adjust HUD size

    Sorry, ToddLa, Dynamic type didn't change the size!

    It does effect on Settings and the other pop-ups.

    Size of the HUD isn't too small on iPhone11, but size of the HUD on iPhone7 much better and just for the record I don't have huge finger tips.

    Dynamic type max. on iPhone11 and if this is the way it works I'll close this issue.Thank you. Running on iOS 13.4.1 5ce85ec2-fdc9-46bb-a68b-516022f6e475

    18ef6076-fbef-4674-a01a-2a75ebba581a

    Enhancement Question 
    opened by rslkr 15
  • Mark ''Favorite Games''

    Mark ''Favorite Games''

    There was a feature in old mameui, When I add a game to ''Favorite'' Game's name turn blue. Now with this ''new frontend ui'' can we have this option? Change the Game's name color instead of white or better yet, add a red little heart on the Game's Title/Image. This is improvement and that would be useful.

    opened by rslkr 13
  • Game Controller Cleanup

    Game Controller Cleanup

    The game controller code needs some cleanup, this issue attempts the following....

    • re-factor the GameControllerSetup code so it is not a big hairy single function.
    • directly poll game controllers from the MAME thread, this way a button press should have less latency.
    • support the iOS 14 (and maybe tvOS 14) support of controllers with three command buttons, OPTIONS, HOME, MENU.
    • Handle the original Nimbus controller better. all the buttons on the Nimbus are analog, and confuse the hell out of the current code to handle menu modifiers.
    • change the MENU modifier buttons for Save/Load state so you don't have to bring up the M4i in-game menu causing a PAUSE and game play disruption.
    • make the Siri Remote buttons be 🅐 and 🅑 (not 🅐 and 🅧) MAME considers 🅑 BUTTON_2
    • MENU combo button "quick help"

    New MENU combo buttons

    | | |
    -|- MENU |Open MAME4iOS MENU
    MENU+L1 |Player 1 Coin
    MENU+R1 |Player 1 Start
    MENU+L2 |Player 2 Coin
    MENU+R2 |Player 2 Start
    MENU+X |Exit Game
    MENU+Y |Open MAME menu
    MENU+UP |Load State ①
    MENU+DOWN |Save State ①
    MENU+LEFT |Load State ②
    MENU+RIGHT |Save State ②

    MENU combo button, quick help

    If you hold down MENU for a fixed amount (ie like 1sec) a "help screen" will popup on the screen (iOS and tvOS) showing the user what combo buttons are available. This is very similar to what happens on an iPad if you hold down ⌘. Unlike the in-game menu, this quick help does not pause the game and goes away instantly when MENU is released.

    IMG_C71D7E522832-1

    opened by ToddLa 13
  • Mame4ios HMDI out

    Mame4ios HMDI out

    Hello I’m using the Mame4ios app on my iPad Pro and have it hooked up to my monitor using a usb hub with hdmi out the first few times I didn’t have an issue but every time I hook it up a message appears I’ve tried each resolution and the picture is off center for all of them once I select it anybody else come across this? image

    opened by HowieT23 13
  • Irregular noise is included in the sound of any game when running on my iPhone14ProMax

    Irregular noise is included in the sound of any game when running on my iPhone14ProMax

    I noticed at the time of 2022.4 version and updated to 2022.5, but the same issue occurred. I had no issues with my iPadPro3G12.9inch. Both OS are version 16.2. When the emulation starts, the initialization sequence for each system board begins, which is often noisy. Normally, the noise stops when the initialization is over and the game starts running, but in the case of the iPhone, the noise continues. The game sound itself seems to sound normal, but at the same time there is a hum and intermittent noise mixed in.

    BR.

    opened by babi-jkr 0
  • “Better support for MFi controllers” (released in 2021.4) breaks 8BitDo Lite usability

    “Better support for MFi controllers” (released in 2021.4) breaks 8BitDo Lite usability

    I just upgraded from 2020.12 to 2022.4-139 (yeah, it’s been awhile and happy to see all the progress!) and noticed my 8BitDo Lite D-pad control went wonky (particularly noticeable in shmups as you can imagine :)

    it’s hard to describe the behavior [it’s a massive amount of lag and lack of responsiveness], I didn’t get a vidcap before downgrading to confirm the upgrade is an issue (and have limited IDs in AltStore so I am going to wait for your input to test further)

    first thing I did was isolate the issue by installing MAME4mac 2022.4-139 on a 2015 MBP (Monterey 12.4) and the confirmed the controller still works fine so it’s iPadOS related.

    without looking at the code, I assume you are still using the same 0.139 MAME core and it’s related to the “Better support for MFi controllers” feature in MAME4iOS 2021.4

    to test this, I downgraded to MAME4iOS 2021.2 (2021.3 is a mac-only release) and sure enough my 8BitDo Lite controller works fine again (I tested with the salamand driver)

    I really love that you can collapse sections now and use the controller to control menus so I can’t wait to get back to the current release (and eventually get caught up to the latest MAME so thanks for maintaining 0.139!)

    while I don’t think it’s going to be anytime soon, if I can figure out how to rebuild the current release with the “Better support for MFi controller” feature reverted, I’ll give it a shot. but at the current runrate, it might be another 2 years 😅 I just know it’s a good opportunity to get my hands dirty so if you’d like to point to specific sections of the code (or just top level direction “here’s what I would do”) - happy to help as I am able as I seem to be quite addicted to tinkering the last 2 months 🤓 ✌🏼

    if you need any other “how to reproduce” steps - let me know. I’m on an iPadPro 2019 12.9” on iPadOS 15.7. Here is the 8BitDo controller I am using with the latest firmware update (I updated it in Sept 2022 and the controller still works with the 2021.2 release (my workaround))

    opened by chinarut 12
  • Concept of

    Concept of "default clone"

    Currently you can see all clones, or hide clones.

    There is a sort option to "group by clones" but still some machines and merged romsets have many clones, and the Library UX is "full of Clones"

    We do show Clones in a slightly different color, but it is subtle

    This proposal is to when "hide clones" is on (aka hide clones mode) allow user to select (via context menu) what clone to launch.

    Very similar to "Play" and "Play With..." that lets you select the system/machine.

    The default clone would be remembered

    opened by ToddLa 2
  • Need UX for selecting BIOS

    Need UX for selecting BIOS

    This is related to #419 we need a global (per machine) and local (per media file/cart) way to set (and remember) options.

    We currently let you enter a per machine raw cmdline (like an animal) we can do better.

    We still should allow a cmd line, but have nice UX choices for "common" things like BIOS selection and Media selection.

    opened by ToddLa 3
  • Need a UX for machines that have multiple devices or media.

    Need a UX for machines that have multiple devices or media.

    MAME4iOS works very good for arcade machines, and game consoles that take single Cartridges (aka MESS games)

    But for computers/machines that can attach multiple disk images. (flop, hard, ....) or devices. We only support attaching the first one at launch...

    We would need to

    • be able to attach multiple media and devices at launch. And remember those settings either for the machine, or as custom config.
    • change the media while the machine is running (ie insert a new floppy)
    opened by ToddLa 2
Releases(2022.5)
Owner
null
A ARM macOS Virtual Machine, using macOS 12's new Virtualization framework.

macOS Virtual Machine A ARM macOS Virtual Machine, using macOS 12's new Virtualization framework. I copied KhaosT's code from here, all I did is chang

Ming Chang 127 Nov 30, 2022
nds4ios is a port of the multi-platform Nintendo DS emulator, DeSmuME to iOS.

nds4ios Supports iOS 6 to iOS 9. nds4ios is a port of the multi-platform Nintendo DS emulator, DeSmuME to iOS. Currently, emulation is powered by a th

Kevin 162 Dec 25, 2022
A compiler, assembler and emulator for the QCPU 2 architecture

QCPU CLI A CLI for compiling Q-code, assembling extended QCPU 2 assembly and emulating machine code. Tags @PAGE <upper> <lower> @HEADER <label> <argum

Joey Smalen 5 Nov 16, 2022
An IPFS client/api Swift Package, with the ability to add and pin any data on iOS/iPadOS/macOS

An IPFS client/api Swift Package, with the ability to add and pin any data on iOS/iPadOS/macOS. Originally bundled with GraniteUI, pulled out for independant use by any party.

Kala 4 Dec 8, 2022
macOS Virtual Machine using Virtualization.framework

virtualOS Run a virtual macOS machine on your Apple Silicon computer. On first start, the latest macOS restore image is automatically downloaded from

null 102 Dec 24, 2022
A nano-sized weather station based on a Raspberry Pi with an API, iOS & Mac Catalyst app, and sensor-based automations.

Nanotool A nano-sized weather station based on a Raspberry Pi with an API, iOS & Mac Catalyst app, and sensor-based automations. Descriere Vremea este

CMD 3 Aug 18, 2022
ConfettiKit is a custom framework used to add Confetti on your iOS/iPadOS projects.

ConfettiKit is a custom framework used to add Confetti on your iOS/iPadOS projects. The kit provides variety of customisations inorder to design a confetti which matches your project's UI. ConfettiKit makes your work of adding Confetti on your project with just one line of code.

Gokul Nair 14 Sep 27, 2022
Gesture Control for Safari on iOS and iPadOS

Svadilfari Svadilfari brings Gesture Control for Safari on iPhone/iPad. Features Control Safari with Gestures 10+ Customizable Actions Select Patterns

Shun Kashiwa 52 Dec 13, 2022
a playground app using `MultipeerConnectivity` to transfor data wirelessly between iOS / iPadOS

README An example app using MultipeerConnectivity to transfor data wirelessly between iOS / iPadOS. Both using Data and Stream to transfer data are su

null 3 Aug 6, 2022
Stay - a local userscript manager and an extension sample for Safari on iOS/iPadOS

Stay - a local userscript manager and an extension sample for Safari on iOS/iPadOS

shen yin 688 Dec 28, 2022
Free and open source manga reader for iOS and iPadOS.

Aidoku A free and open source manga reading application for iOS and iPadOS. Features Ad free Robust WASM source system Online reading through external

null 421 Jan 2, 2023
A very simplistic state machine system for Swift while mainly used with Raylib on Swift

A very simplistic state machine system for Swift while mainly used with Raylib on Swift

Conifer Coniferoslav 2 Dec 12, 2022
Running GUI Linux in a virtual machine on a Mac

Running GUI Linux in a virtual machine on a Mac Install and run GUI Linux in a virtual machine using the Virtualization framework. การ build และใช้งาน

MrChoke 3 Jul 12, 2022
Quiz-V2 - An another version for quiz app with multiple choices

Quiz-V2 It's an another version for quiz app with multiple choices. VideoPlay.mp

Burak Pala 0 Jan 11, 2022
tvOS example app, shows upcoming movies

UpcomingMovies tvOS example app. Shows upcoming movies as a list and in a detail movie screen, using TMDb API. Installation Run pod install on project

Ivan Magda 32 Nov 10, 2022
PlayCover is a project that allows you to sideload iOS apps on macOS( currently arm, Intel support will be tested.

PlayCover is a project that allows you to sideload iOS apps on macOS( currently arm, Intel support will be tested.

Alexandr 4k Jul 8, 2022
A sample app demonstrates how to use Atlantis on Swift Playground (iOS/macOS)

Atlantis with Swift Playground A sample app demonstrates how to use Atlantis on

Proxyman 3 Dec 22, 2021
Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. Forum: https://discourse.joplinapp.org/

Joplin® is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are sea

Laurent 33.7k Dec 30, 2022
The Outline Client is a cross-platform VPN or proxy client for Windows, macOS, iOS, Android, and ChromeOS

Outline Client The Outline Client is a cross-platform VPN or proxy client for Windows, macOS, iOS, Android, and ChromeOS. The Outline Client is design

Jigsaw 7.3k Dec 31, 2022