Your rating: None Average: 4.9 (11 votes)

Gameboy emulator for Sailfish OS

Put your *.gb roms to "/home/nemo/Documents/jboy_roms". The folder will be also created on first launch.
Some *.gbc roms can also be played with jBoy. Just rename them to *.gb and they can be started.

- Running most Gameboy roms
- Gamepad in theme colors or original color
- Option for emulation speed (5 Steps)
- Show FPS during emulation
- Option for original screen color or greyscale
- Logging on file (primary for bugfixing) to /home/nemo/Documents/jboy_log.txt
- Supporting MBC1, 2, 3 (with RTC) and 5
- Supporting up to 256 rombanks and 16 rambanks
- Original RAM saving when cart is using a battery (Creating *.sav file for *.gb file)
- Savefiles are (except RTC-Roms) compatible with other emulators
- Gameshark cheatcodes (Up to 25 per rom)
- Scale screen up to three times (Default size can also be set)
- Screenshots (saved in original resolution in "/home/nemo/Pictures/jboy_screenshots/%Timestamp%.png")
- Debugger (primary for bugfixing)
- Savestates (inclusive quicksave and -load)
- Sound support
- Link-Cable emulation


Do not run any software you don't own with jBoy.




Application versions: 
File harbour-jboy-0.8.1-1.armv7hl.rpm116.7 KB02/02/2016 - 21:04
File harbour-jboy-0.8.5-1.armv7hl.rpm124.94 KB10/02/2016 - 15:05
File harbour-jboy-0.8.7-1.armv7hl.rpm128.84 KB19/02/2016 - 22:24
File harbour-jboy-0.8.7-3.armv7hl.rpm128.77 KB21/02/2016 - 21:21
File harbour-jboy-0.9.7-1.armv7hl.rpm134.49 KB22/06/2016 - 14:01
File harbour-jboy-0.9.8-1.armv7hl.rpm138.01 KB08/08/2016 - 23:49
File harbour-jboy-0.9.8-1.i486.rpm135.58 KB08/08/2016 - 23:49
File harbour-jboy-1.0.0-1.i486.rpm172.36 KB20/04/2017 - 22:23
File harbour-jboy-1.0.0-1.armv7hl.rpm175.87 KB20/04/2017 - 22:23
File harbour-jboy-1.0.1-1.armv7hl.rpm177.08 KB25/05/2017 - 13:13
File harbour-jboy-1.0.1-1.i486.rpm172.43 KB25/05/2017 - 13:13

Changes in 0.8.5:

Added savestates
Added landscape mode
Timer bugs fixed


Changes in 0.8.7-1:

Fixed serial interrupts
Keyboard input (tested with a bluetooth keyboard)
Changes in gamepad
Fixed bugs


Changes in 0.8.7-3:

Fixed bugs


Changes in 0.9.7:

Sound support
Added Quicksave and -load
Added chooseable gestures (Swipe in gameboy lcd)


Changes in 0.9.8:

Changes for Jolla C
Gamepadsize configurable
Fixed rombank change
Fixed window behaviour
Fixed isAutoRepeat for keyboards
Fixed interrupt at LYC write
Fixed scanline color when screen goes off


Changes in 1.0.0:

Linking cable emulation (network and local)
Improved performance
Fixes for SailfishOS 2.1
Improved sound and fixed channel 3
Added cover
Rendering option
Added slow motion
Added a few keyboard colors
Added landscape gamepadmode
French translation (Thanks to Quentin PAGÉS)


Changes in 1.0.1:

Fixed playing on cover
Fixed rom deletion
Fixed background in OpenGL
Fixed saving of Wave Ram
Changeable vibration intensity


explit's picture

This patch works, but the ui is broken (at least on XA2Plus. Game window overlaps control buttons and joystick

ade's picture

There is a simple workaround for that: just rotate the screen once and the layout is fixed.

Skillmon's picture

Unfortunately the emulator doesn't work anymore for me. I only get "Error #3" from any game I tried. The same is true for JBoy Color while JBoy Advance does still work.

ade's picture

Jolla has replaced a lot of gnu cli tools with busybox equivalents (apparently to save storage). But the latter does not always support all options.
This end up to be a problem here: for gamerom checksum, a "du -b" is executed. But busybox does not support the "-b" parameter for "du".

As the author never released any sourcecode, it's hard to fix without the author's help.

Skillmon's picture

How unfortunate. It was really a great emulator.

ade's picture

Replacing busybox coreutils with the gnu version will probably help, but you could also "patch" the binary.
The emulator checks if the size of the rom is at least 32768 bytes, which fails since Sailfish OS 3.3.0. For that we will make it pass by always returning 999999999.

For that, execute from the terminal (as user root!):

perl -pi -e 's/\/usr\/bin\/du -b/echo 999999999/g' /usr/bin/harbour-jboy
Skillmon's picture

I love this emulator. Thank you very much. I have 1 request. Could you please make saving faster? I mean in the save dialogue there is a remorse timer. It would be great if it would save when you leave tje save menu before the time is up. Would be like in other parts of SFOS and for me is expected behavior. I know tjere is quicksaving (awesome!) but this would be great!

DarkWhite's picture

Great app =) If only all TOHKBD2 keys would work. As Ingvix already said, only physical a control panel key (49) press does work. I followed the bug report steps and here is a log file contents (touchscreen keyboard options were inactive):

|LOG| jBoy log
|LOG| OPENED AT Sat Jul  9 16:52:08 2016


|CHECK| #0001# 1048576 BYTE ALLOCATED
|LOG| Eventkey pressed 49
|LOG| Eventkey released 49
|LOG| Eventkey pressed 49
|LOG| Eventkey released 49
|LOG| Eventkey pressed 16777235
|LOG| Eventkey released 16777235
|LOG| Eventkey pressed 16777237
|LOG| Eventkey released 16777237
|LOG| Eventkey pressed 16777234
|LOG| Eventkey released 16777234
|LOG| Eventkey pressed 16777236
|LOG| Eventkey released 16777236
|LOG| Eventkey pressed 32
|LOG| Eventkey released 32
|LOG| Eventkey pressed 16777220
|LOG| Eventkey released 16777220
|LOG| Eventkey pressed 79
|LOG| Eventkey released 79
|LOG| Eventkey pressed 76
|LOG| Eventkey released 76


Using TOHKBD2 version 0.5.23 + Boston qmap fix (AltGr).

Ingvix's picture

A great update! Finally a sound support. I still find it odd though that I can configure TOHKBD but only button that actually works in game mode is the one dedicated for control bar.

M1KE___'s picture

I added some logging-parameters in 0.9.7 for TOHKBD - please can you try the following steps?


  • In Settings:
  1. Reset keyboard configuration
  2. Activate logging in settings
  3. Configure the complete keyboard new


  • Select any rom and press the previous configured keys one by one
  • Post the log here (located in /home/nemo/Documents/jboy_roms/jboy_log.txt) or send it to my mailadress (you can find it in the pulley-menu - About)



drcouzelis's picture

Thank you for this great emulator! So far I've used it to play through, in their entirety, Pokemon Red (20+ hours), Operation C (beat it with no cheats), ;) and Catrap. I'm playing through Hammerin' Harry, Kirby's Dreamland 2, Metroid 2, and Wario Land... It works great! :)

mrzapp's picture

This app works so well, the UI is great, all essential features are supported except for audio (personally don't care much, as I remember every sound in these games from my childhood) One of the very few apps to get an emulation UI exactly right, it's a breeze to play this on a touch screen

tamhou's picture

awesome app. one little idea: would it be possible to scale the picture bigger for the (few) tablet useres out there?


thanks anyway for this nice emulator...




V10lator's picture

Looks good. Anyway, here some bugs I found:

  • The Emulator won't set it's speed to anything more than the double of the original. Well, you can set it higher, but FPS wont go up nor will the game feel any quicker.
  • After some hours of gaming the gameboy screen flickers.
  • Some system popups slow the emulator down will they are shown, other are fluent (guess that's more a bug of SailfishOS).

Other than that: Are there any chances for you to open up the sources? Any plans to cooperate with EmuMaster ( http://talk.maemo.org/showthread.php?p=1400707 - they already have a GBA emu, so with jBoy all that would be left for GameBoy awesomeness would be GameBoy Color) ?

Crypto's picture

Amazing dude. thank you. best emulator for jolla

Ingvix's picture

TOHKBD still not working with the latest version. Oh well, can't have it all.

fravaccaro's picture

First of all, thanks for this, I'm having so much fun :)

I noticed a weird issue with savestates tho. They are correctly saved in the jboy_savestates but I cannot see them in the UI.

Steps to reproduce:
- Save a state.
- Go back.
- Go in the savestate menu again.
- No savestate snown.

M1KE___'s picture

Thanks, please try the update - it should fix this issue

cvp's picture

Nice work! Thanks!

one feature is missing, too

i love to play mario land. i hold Button B every time to run and push jump with it. but in this Emulator is it not possible because after pushing Button A , Button B stops working in this moment. Hope you understand me :) Cool was if its possible with one finger push both button to get this feature work.

Ingvix's picture

I can configure my tohkbd in settings but in game it doesn't have any effect. Also I don't seem to be able to open the control bar. No matter how long a hold the middle of the direction pad it won't appear like it use to. The landscape mode is pretty nice anyway.

M1KE___'s picture

I will have a look at that. I (sadly) have no tohkbd but I have an idea what could be the problem.


Please check if the new settings parameter "Open control bar" is set to something else than hold. Maybe I made a mistake in the default values.

Ingvix's picture

Previously it didn't work even though it was set to hold but after I changed it to tap twice and tried that, it worked, and then I changed it back to hold. Now it works with the holding too.

I tried the same trick with screen size change as it didn't work at first but after changed to hold and back to tap it also started working. Maybe there's similar problem with the keyboard but as it works a bit differently and not just back and forth, I can't really do the "workaround" to it. Like it's not actually activated by default even though it should.

M1KE___'s picture

Just uploaded the fixed version.

I think the tohkbd should work now.

Ingvix's picture

I don't see any new version.

If it's the same version number with the fix, then it's not working.

freedent's picture

Good job!

a_andreyev's picture

Thank you, M1KE!
Any link to git repo or something?

evk's picture

LSDJ isn't working for me. 4.8.0 doesn't start at all, same thing with 4.7.3.

M1KE___'s picture

Bug fixed, should start in newest version

evk's picture

Yes, works fine. Once there's sound it'll be great. (:

Ingvix's picture

Good start. A landscape mode with a gba-ish layout would work nicely and would probably be more comfortable with the phone. Assigning key values to the button would also be nice so I could use my TOHKBD to play.

EDIT: Usage of the directional buttons would probably do better if it would always take the newest pressed button. Now if I intend to change my direction, for example, from up to left, the up button needs to released before it starts taking the left button and with touchscreen they're often pressed at the same time if moving the finger without lifting it.