Apple [RELEASE + TUTORIAL] Giovanni - GBC Emulator for Apple Watch

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,511
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,792
Country
Spain
Hey, I didn't know why anyone posted this before. 2 years ago Gabriel O'Flaherty-Chan (Gabrieloc) started his open-source project Giovanni Emulator for Apple Watch and now I'm here to bring it to anyone interested. I know there is an old Reddit post, but hey, why not having one here. JAILBREAK IS NOT NEEDED AND THIS IS NOT MINE SO I CAN'T HELP WITH NOT-WORKING GAMES NOR ISSUES WITH THE EMULATOR.

banner.png



Some games may crash during gameplay but I tested a few games (Pokémon Gold, Crystal, Yellow, Keitai Denjuu Telefang and DK Country) and execpting a few slowdowns and gamepad-issues, the emulator works like a charm.

I tested the emulator on an iPhone X with iOS 14.3 + Apple Watch 4 with WatchOS 7.2 but the general requirements for installing the emulator are:

- Apple Watch with WatchOS 3+.
- iPhone with iOS 10+ paired with the apple watch.
- MacOS.
- XCode 8.0+ (For Apple Watch 4 and above, you need XCode 10+ as they come with WatchOS 5.1).
- Apple Developer account (can be the free one).
- Git + Github account for cloning the repo.

There are a few steps to install the app:

Clone the repo:

Turn on your mac and clone the repo by git:

Code:
git --recursive [email protected]:gabrieloc/GIOVANNI.git

or

Code:
git --recurse-submodules [email protected]:gabrieloc/GIOVANNI.git

You don't need any ssh stuff for getting this cloned and working.

Open xCode's Project:

Connect the iPhone to your mac. Open XCode and look for GIOVANNI.xcodeproj or go to the cloned folder by your favourite explorer and open it.

Building the app:

You will need to change some building settings like linking in WatchOS, iOS App and WatchkitExtension the developer team. You can change the app name and bundle identifier if you want too. Once you click build in XCode, the app will install in your iPhone. Even if it tells you that you can't install it correctly, the app will install in iOS 14.3+.

cd695317-40e8-4910-9780-fee54f027f16.jpg


ROMs:

- Dump from your physical games (or download roms from your favourite pirate site) and place them in your computer. They must be .gb or .gbc.
- Connect your iPhone to the computer and open iTunes.
- In iTunes select your phone > Shared Files > Giovanni
- Drag your ROMs there.

upload_2019-4-6_14-13-15.png



Have Fun:

- Open the app in your Apple Watch. If your game list is not refreshed automatically, open the app in your iPhone and try again. The list will display all your games. Now just tap in the game you want to play.

ca1968a9-bedd-4507-b710-0b98d7c9f444.jpg


- The game will run.

- Enjoy. <3

D3de9FjWkAAWyll.jpg


For the controls:

controls.png


If you want to see videos of the emulator working, check this:



Updates:

V1.1: I updated the code to latest iOS and WatchOS, so it no longer shows weird logs. I need to delete deprecated functions tho.



Source Code:

- Original repo: https://github.com/gabrieloc/GIOVANNI

WARNING: The project from the original repository won't work with latest iOS without some tweaks. I fixed XCode issues and uploaded the code to my github: https://github.com/Manurocker95/GiovanniEmulator.
 
Last edited by Manurocker95,

_imaxi_

New Member
Newbie
Joined
Oct 29, 2019
Messages
2
Trophies
0
Age
27
XP
55
Country
Germany
Hi,

when i try to run my build failed with error message "error: Build input file cannot be found: '/Users/maximilianstingl/Downloads/GIOVANNI-master 2/gambatte/libgambatte/src/interrupter.cpp' (in target 'Gambatte_watchOS' from project 'giovanni')"

Could you help me?

Thanks!!
 

_imaxi_

New Member
Newbie
Joined
Oct 29, 2019
Messages
2
Trophies
0
Age
27
XP
55
Country
Germany
Hi,

when i try to run my build failed with error message "error: Build input file cannot be found: '/Users/maximilianstingl/Downloads/GIOVANNI-master 2/gambatte/libgambatte/src/interrupter.cpp' (in target 'Gambatte_watchOS' from project 'giovanni')"

Could you help me?

Thanks!!
 

DannyBoi22456

Member
Newcomer
Joined
Mar 14, 2020
Messages
6
Trophies
0
Age
24
XP
88
Country
United Kingdom
Is it possible for you to add a compiled IPA in the releases on the github page? My Macbook is running El Capitan rn so I can't install Xcode 10.
 

DannyBoi22456

Member
Newcomer
Joined
Mar 14, 2020
Messages
6
Trophies
0
Age
24
XP
88
Country
United Kingdom
Is it possible for you to add a compiled IPA in the releases on the github page? My Macbook is running El Capitan rn so I can't install Xcode 10.
 

DannyBoi22456

Member
Newcomer
Joined
Mar 14, 2020
Messages
6
Trophies
0
Age
24
XP
88
Country
United Kingdom
Is it possible for you to add a compiled IPA in the releases on the github page? My Macbook is running El Capitan rn so I can't install Xcode 10.
 

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,511
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,792
Country
Spain
sorry, im dumb. i meant a precompiled ipa for sideloading yourself (an unsigned one)

If you don't have a paid developer account, the expiration time for each free account-ipa is 7 days, so if I compile it now, I would need to compile a new one next week.

You can't compile an app without signing it afaik
 

CrCrate

New Member
Newbie
Joined
Nov 15, 2019
Messages
4
Trophies
0
Age
27
XP
38
Country
Poland
If you don't have a paid developer account, the expiration time for each free account-ipa is 7 days, so if I compile it now, I would need to compile a new one next week.

You can't compile an app without signing it afaik

stackoverflow thread 25396299 has some info how to build an ipa file without signing it. (nevermind this, please just sign the ipa for one week)
im really sorry if im bothering you but if that fails, could you just make a signed one for one week? i have a jailbroken iphone and am able to export an unsigned from that.
 
Last edited by CrCrate,

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,511
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,792
Country
Spain
Any idea why it crashes when trying to load a game that was alrerady loaded after closing the app for the first time ?

Hmm, it should not happen. Does it happen with a specific ROM?. I will take a look just in case. It worked just fine with Pokémon Yellow and Pokémon Prism.

What fw are you using for both iOS and WatchOS?
 
Last edited by Manurocker95,

SSJoker

New Member
Newbie
Joined
Dec 28, 2020
Messages
2
Trophies
0
Age
27
Location
Suceava,Romania
Website
www.facebook.com
XP
50
Country
Romania
Hmm, it should not happen. Does it happen with a specific ROM?. I will take a look just in case. It worked just fine with Pokémon Yellow and Pokémon Prism.

What fw are you using for both iOS and WatchOS?
I tried with both Pokémon Red and Pokémon Yellow. iOS 14.3 and WatchOS 7.2.
 
  • Like
Reactions: Manurocker95

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,511
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,792
Country
Spain
I tried with both Pokémon Red and Pokémon Yellow. iOS 14.3 and WatchOS 7.2.

That's weird then. It should not matter but are you signing with developer account or the free one?

--------------------- MERGED ---------------------------

I tried with both Pokémon Red and Pokémon Yellow. iOS 14.3 and WatchOS 7.2.

I will debug the Watchkit outputs in case something weird happens in specific cases. It might be related with a memory leak I haven't handled. But it's weird bc it's working for me.


Edit: It happened to me. I will try to check what's the issue.
 
Last edited by Manurocker95,
  • Like
Reactions: SSJoker

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    10 tabs open on chrome and no slow downs suck it low ram plebs lol
  • Veho @ Veho:
    Firefox users be like "look at what they have to do to mimic a fraction of our power."
  • K3Nv2 @ K3Nv2:
    they be like which lite firefox exe pls
  • Veho @ Veho:
    Wut.
  • Maximumbeans @ Maximumbeans:
    GM all
  • K3Nv2 @ K3Nv2:
    butt
  • SylverReZ @ SylverReZ:
    douche
  • Veho @ Veho:
    Touché.
  • SylverReZ @ SylverReZ:
    Push it :creep:
  • Veho @ Veho:
    Talk about propaganda.
  • Veho @ Veho:
    Illinois is working to ban toxic food additives that have been banned for decades in other countries; additives that can be replaced and all those countries still have Skittles and Mountain Dew. Title of the piece: GUBMINT WANTS TO TAKE AWAY YOUR CANDY
  • Veho @ Veho:
    Gee, I wonder if the author is biased?
  • SylverReZ @ SylverReZ:
    @Veho, Sounds and smells like bullshit. They don't give you cancer, and California should know that. I don't get why they stick labels that say "may or may not cause reproductive harm or cancer".
  • Veho @ Veho:
    Arsenic doesn't give you cancer either.
    +1
  • Veho @ Veho:
    California has already banned those additives BTW.
    +1
  • Veho @ Veho:
    Psi has been banned in the state of California.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    I am the cancer!!! lol
  • Psionic Roshambo @ Psionic Roshambo:
    Yayyy got arcade games on the Pi working lol
  • Veho @ Veho:
    Cool.
  • Psionic Roshambo @ Psionic Roshambo:
    Now to spend 6 months deleting all the garbage lol
  • Psionic Roshambo @ Psionic Roshambo:
    Mame should be two sets one for preservation of everything and one set for people who just want to play and enjoy the old old ganes
    Psionic Roshambo @ Psionic Roshambo: Mame should be two sets one for preservation of everything and one set for people who just want...