Homebrew Homebrew game Zuma Deluxe - Switch Port

  • Thread starter Thread starter zebo
  • Start date Start date
  • Views Views 442
  • Replies Replies 6
  • Likes Likes 7

zebo

Member
Newcomer
Joined
Mar 3, 2026
Messages
7
Reaction score
15
Trophies
0
Age
36
XP
53
Country
United States
Port of a zuma decompilation to the switch. The last feature to implement is music. Game data not included in download. This port requires handheld mode, it is entirely controlled by the touch screen.

https://files.catbox.moe/dbc17o.nro

Instructions
  • Create a new folder called sdmc:/switch/zumaportable
  • Copy nro and game data to the above folder
Source
Screenshot 2026-08-01 at 3.36.39 PM.png
 
Last edited by zebo,
Another great port, thanks! I wonder if it'd be possible to somehow implement the controller support from the Android TV version (which is based on the PC version), or at the very least controller mouse support like some of the Android touch game ports have
 
  • Copy nro and game data to the above folder
Thank you for the port!..

Could you please explain a little bit the proper structure of the directories?.. Like like /switch/zumaportable/lib and /switch/zumaportable/assets, or?.. What's the exact version of Android game to unpack?

For now the game gives me that error, unfortunately:
error (1).jpgerror (2).jpg

Thanks in advance! :)
 
Last edited by mathew77,
Thank you for the port!..

Could you please explain a little bit the proper structure of the directories?.. Like like /switch/zumaportable/lib and /switch/zumaportable/assets, or?.. What's the exact version of Android game to unpack?

For now the game gives me that error, unfortunately:
View attachment 584529View attachment 584530

Thanks in advance! :)
This uses the PC versions files. Copy everything from a PC install aside from the exe into the same folder as the nro
 
  • Like
Reactions: mathew77
Port of a zuma decompilation to the switch. The last feature to implement is music. Game data not included in download. This port requires handheld mode, it is entirely controlled by the touch screen.

https://files.catbox.moe/dbc17o.nro

Instructions
  • Create a new folder called sdmc:/switch/zumaportable
  • Copy nro and game data to the above folder

View attachment 584481
You should post source. You should also take this cursor implementations I use in my ports for USB mouse support, gyro support and left stick support for moving cursor.
https://github.com/ChanseyIsTheBest/angrybirdsclassic_nx/blob/main/source/nx_pointer.c
https://github.com/ChanseyIsTheBest/angrybirdsclassic_nx/blob/main/source/nx_pointer.h
 
Thank you for the port!..

Could you please explain a little bit the proper structure of the directories?.. Like like /switch/zumaportable/lib and /switch/zumaportable/assets, or?.. What's the exact version of Android game to unpack?

For now the game gives me that error, unfortunately:
View attachment 584529View attachment 584530

Thanks in advance! :)

sd:/switch/zumaportable/ <=== must be exactly
├── dbc17o.nro
├── levels/
├── properties/
├── music/
└── main.pak
Post automatically merged:

Zuma Deluxe from Windows
 
Last edited by ngohogwarts,
  • Like
Reactions: mathew77
Thank you, it works!.. My list of all the gamefiles was like this:
Code:
\switch>tree /f
.
└───zumaportable
    │   activation_info.xml
    │   bass.dll
    │   bfgstate.xml
    │   dbc17o.nro
    │   LaunchGame.bfg
    │   readme.html
    │   UnlockGame.bfg
    │
    ├───fonts
    │       Arial12Bold.txt
    │       Cancun10.txt
    │       Cancun12.txt
    │       Cancun13.txt
    │       Cancun8.txt
    │       CancunFloat14.gif
    │       CancunFloat14.txt
    │       NativeAlien48.gif
    │       NativeAlien48.txt
    │       NativeAlienExtended16.gif
    │       NativeAlienExtended16.txt
    │       NativeAlienExtended18.gif
    │       NativeAlienExtended18.txt
    │       _Arial12Bold.gif
    │       _Cancun10.gif
    │       _Cancun12.gif
    │       _Cancun13.gif
    │       _Cancun8.gif
    │       _CancunFAT8.gif
    │       _CancunFloat14.gif
    │       _CancunOUTLINE10.gif
    │       _NativeAlien48.gif
    │       _NativeAlienExtended16.gif
    │       _NativeAlienExtended18.gif
    │
    ├───images
    │       advback.jpg
    │       advdoor1A.jpg
    │       advdoor1B.jpg
    │       advdoor1C.jpg
    │       advdoor2A.jpg
    │       advdoor2B.jpg
    │       advdoor2C.jpg
    │       advdoor3A.jpg
    │       advdoor3B.jpg
    │       advdoor3C.jpg
    │       advdoor4A.jpg
    │       advdoor4B.jpg
    │       advdoor4C.jpg
    │       advHighscore.gif
    │       advmainmenubutton.jpg
    │       advmiddle.jpg
    │       advplaybutton.jpg
    │       advsky.jpg
    │       advstage.gif
    │       advtemple1.jpg
    │       advtemple2.jpg
    │       advtemple2v.jpg
    │       advtemple3.jpg
    │       advtemple3v.jpg
    │       advtemple4.jpg
    │       advtitle.jpg
    │       baAccuracyBlue.gif
    │       baAccuracyGreen.gif
    │       baAccuracyPurple.gif
    │       baAccuracyRed.gif
    │       baAccuracyWhite.gif
    │       baAccuracyYellow.gif
    │       baBackwardsBlue.gif
    │       baBackwardsGreen.gif
    │       baBackwardsPurple.gif
    │       baBackwardsRed.gif
    │       baBackwardsWhite.gif
    │       baBackwardsYellow.gif
    │       baBallBlue.gif
    │       baBallGreen.gif
    │       baBallPurple.gif
    │       baBallRed.gif
    │       baBallWhite.gif
    │       baBallYellow.gif
    │       baBombBlue.gif
    │       baBombGreen.gif
    │       baBombPurple.gif
    │       baBombRed.gif
    │       baBombWhite.gif
    │       baBombYellow.gif
    │       baDotz.gif
    │       baLightBlue.gif
    │       baLightGreen.gif
    │       baLightPurple.gif
    │       baLightRed.gif
    │       baLightWhite.gif
    │       baLightYellow.gif
    │       baSlowBlue.gif
    │       baSlowGreen.gif
    │       baSlowPurple.gif
    │       baSlowRed.gif
    │       baSlowWhite.gif
    │       baSlowYellow.gif
    │       checkboxcap.gif
    │       checkboxsliver.gif
    │       checkBUtton.gif
    │       COIN.gif
    │       cursor_dragging.gif
    │       cursor_dragging_.gif
    │       cursor_hand.gif
    │       cursor_hand_.gif
    │       cursor_pointer.gif
    │       cursor_pointer_.gif
    │       cursor_text.gif
    │       dialogbox.jpg
    │       DialogButton.jpg
    │       Explosion.gif
    │       EYEBLINK.gif
    │       gauge.gif
    │       gaugegreen.gif
    │       GauntBackButton.jpg
    │       GauntDoor1.jpg
    │       GauntDoor2.jpg
    │       GauntDoor3.jpg
    │       GauntDoor4.jpg
    │       GauntEagleGem.gif
    │       GauntHighscore.gif
    │       GauntJaguarGem.gif
    │       GauntMainMenuButton.jpg
    │       GauntNextButton.jpg
    │       GauntPlayButton.jpg
    │       gauntpracticebutton.jpg
    │       gauntscreen.jpg
    │       gauntsky.jpg
    │       GauntSUNGEM.gif
    │       gauntsurvivalbutton.jpg
    │       GauntTitle.gif
    │       GodHead.gif
    │       grayplosion.gif
    │       happyending.jpg
    │       helpback.jpg
    │       helpfront.jpg
    │       Hole.gif
    │       LoaderBar.gif
    │       loadingscreen.jpg
    │       Menubar.jpg
    │       MenuButton.jpg
    │       mmARCADEBUTTON.jpg
    │       mmeyeleft.gif
    │       mmeyeright.gif
    │       mmGAUNTLETBUTTON.jpg
    │       mmhat.jpg
    │       mmMOREGAMESBUTTON.jpg
    │       mmOPTIONSBUTTON.jpg
    │       mmQUITBUTTON.jpg
    │       mmscreen.jpg
    │       mmsky.jpg
    │       mmsun.gif
    │       mmUFO.jpg
    │       MoreGamesButton.gif
    │       MoreGamesScreen.jpg
    │       nebula1.jpg
    │       pitcover.gif
    │       SliderThumb.gif
    │       slidertrack.gif
    │       SMALLFROGonPAD.gif
    │       sparkle.gif
    │       ToadLives.gif
    │       Tongue.gif
    │       tut_mouse_r.jpg
    │       tut_mouse_r_.jpg
    │       waitbar.gif
    │       _advback.gif
    │       _advdoor1A.gif
    │       _advdoor1B.gif
    │       _advdoor1C.gif
    │       _advdoor2A.gif
    │       _advdoor2B.gif
    │       _advdoor2C.gif
    │       _advdoor3A.gif
    │       _advdoor3B.gif
    │       _advdoor3C.gif
    │       _advdoor4A.gif
    │       _advdoor4B.gif
    │       _advdoor4C.gif
    │       _advHighscore.gif
    │       _advmainmenubutton.gif
    │       _advmiddle.gif
    │       _advplaybutton.gif
    │       _advtemple1.gif
    │       _advtemple2.gif
    │       _advtemple2v.gif
    │       _advtemple3.gif
    │       _advtemple3v.gif
    │       _advtemple4.gif
    │       _advTitle.gif
    │       _baAccuracyLight.gif
    │       _baBackwardsLight.gif
    │       _baBomb.gif
    │       _baLight.gif
    │       _ballalpha.gif
    │       _ballshadow.gif
    │       _baSlowLight.gif
    │       _checkboxcap.gif
    │       _checkboxsliver.gif
    │       _checkBUtton.gif
    │       _COIN.gif
    │       _dialogbox.gif
    │       _Dialogbutton.gif
    │       _gauge.gif
    │       _GauntBackButton.gif
    │       _GauntDoor1.gif
    │       _GauntDoor2.gif
    │       _GauntDoor3.gif
    │       _GauntDoor4.gif
    │       _GauntEagleGem.gif
    │       _GauntHighscore.gif
    │       _GauntJaguarGem.gif
    │       _GauntMainMenuButton.gif
    │       _GauntNextButton.gif
    │       _gauntpracticebutton.gif
    │       _GauntScreen.gif
    │       _GauntSUNGEM.gif
    │       _gauntsurvivalbutton.gif
    │       _GauntTitle.gif
    │       _GodHead.gif
    │       _grayplosion.gif
    │       _hatchback.gif
    │       _helpfront.gif
    │       _Hole.gif
    │       _LoaderBar.gif
    │       _Menubar.gif
    │       _Menubutton.gif
    │       _mmARCADEBUTTON.gif
    │       _mmeyeleft.gif
    │       _mmeyemask.gif
    │       _mmeyeright.gif
    │       _mmGAUNTLETBUTTON.gif
    │       _mmhat.gif
    │       _mmMOREGAMESBUTTON.gif
    │       _mmOPTIONSBUTTON.gif
    │       _mmQUITBUTTON.gif
    │       _mmscreen.gif
    │       _mmsun.gif
    │       _mmsunglow.jpg
    │       _mmUFO.gif
    │       _MoreGamesScreen.gif
    │       _pitcover.gif
    │       _SliderThumb.gif
    │       _slidertrack.gif
    │       _SMALLFROGonPAD.gif
    │       _toadlives.gif
    │       _Tongue.gif
    │
    ├───levels
    │   │   levels.xml
    │   │
    │   ├───Blackswirley
    │   │       BlackSwirley-1.dat
    │   │       BlackSwirley-2.dat
    │   │       BlackSwirley.jpg
    │   │
    │   ├───claw
    │   │       claw.dat
    │   │       claw.jpg
    │   │
    │   ├───coaster
    │   │       coaster.dat
    │   │       coaster.jpg
    │   │       _tunnel01.gif
    │   │       _tunnel02.gif
    │   │
    │   ├───groovefest
    │   │       Groovefest.dat
    │   │       Groovefest.jpg
    │   │       _Groovefest01.gif
    │   │       _Groovefest02.gif
    │   │       _Groovefest03.gif
    │   │
    │   ├───inversespiral
    │   │       inversespiral.dat
    │   │       inversespiral.jpg
    │   │       _tunnel.gif
    │   │
    │   ├───longrange
    │   │       longrange.dat
    │   │       longrange.jpg
    │   │
    │   ├───loopy
    │   │       loopy.dat
    │   │       loopy.jpg
    │   │       _tunnel.gif
    │   │
    │   ├───overunder
    │   │       overunder.dat
    │   │       overunder.jpg
    │   │       _tunnel01.gif
    │   │       _tunnel02.gif
    │   │
    │   ├───perm_thumbnails
    │   │       blackswirley.jpg
    │   │       claw.jpg
    │   │       coaster.jpg
    │   │       groovefest.jpg
    │   │       inversespiral.jpg
    │   │       longrange.jpg
    │   │       loopy.jpg
    │   │       overunder.jpg
    │   │       riverbed.jpg
    │   │       serpents.jpg
    │   │       snakepit.jpg
    │   │       spaceinvaders.jpg
    │   │       spiral.jpg
    │   │       squaresville.jpg
    │   │       targetglyph.jpg
    │   │       tiltspiral.jpg
    │   │       triangle.jpg
    │   │       tunnellevel.jpg
    │   │       turnaround.jpg
    │   │       underover.jpg
    │   │       warshak.jpg
    │   │
    │   ├───riverbed
    │   │       riverbed.dat
    │   │       Riverbed.jpg
    │   │       _Riverbed01.gif
    │   │       _Riverbed02.gif
    │   │       _Riverbed03.gif
    │   │       _Riverbed04.gif
    │   │       _Riverbed05.gif
    │   │
    │   ├───serpents
    │   │       serpents-1.dat
    │   │       serpents-2.dat
    │   │       serpents.jpg
    │   │       _quake01.gif
    │   │       _quake02.gif
    │   │       _quake03.gif
    │   │       _quake04.gif
    │   │       _serpentsB.gif
    │   │       _serpentsM.gif
    │   │       _serpentsT.gif
    │   │
    │   ├───snakepit
    │   │       snakepit-1.dat
    │   │       snakepit-2.dat
    │   │       Snakepit.jpg
    │   │
    │   ├───space
    │   │       space.dat
    │   │
    │   ├───spaceinvaders
    │   │       spaceinvaders.dat
    │   │       spaceinvaders.jpg
    │   │       _tunnel.gif
    │   │
    │   ├───spiral
    │   │       spiral.dat
    │   │       Spiral.jpg
    │   │
    │   ├───squaresville
    │   │       squaresville.dat
    │   │       squaresville.jpg
    │   │
    │   ├───targetglyph
    │   │       targetglyph.dat
    │   │       Targetglyph.jpg
    │   │
    │   ├───tiltspiral
    │   │       tiltspiral.dat
    │   │       tiltspiral.jpg
    │   │
    │   ├───triangle
    │   │       triangle.dat
    │   │       triangle.jpg
    │   │
    │   ├───tunnellevel
    │   │       tunnellevel.dat
    │   │       tunnellevel.jpg
    │   │       _tunnel1.gif
    │   │       _tunnel2.gif
    │   │
    │   ├───turnaround
    │   │       turnaround.dat
    │   │       turnaround.jpg
    │   │
    │   ├───underover
    │   │       underover.dat
    │   │       underover.jpg
    │   │       _left.gif
    │   │       _right.gif
    │   │
    │   └───warshak
    │           warshak.dat
    │           warshak.jpg
    │
    ├───music
    │       zuma.mo3
    │
    ├───pics
    │       175x150.swf
    │       60x40.jpg
    │       80x80.jpg
    │       feature.jpg
    │
    ├───properties
    │       partner.xml
    │       partner.xml.sig
    │       resources.xml
    │
    └───sounds
            accuracy3.ogg
            ballclick1.ogg
            ballclick2.ogg
            ballsdestroyed1.ogg
            ballsdestroyed2.ogg
            ballsdestroyed3.ogg
            ballsdestroyed4.ogg
            ballsdestroyed5.ogg
            bombexplode.ogg
            button1.ogg
            button2.ogg
            chain1.ogg
            chant1.ogg
            chant14.ogg
            chant2.ogg
            chant3.ogg
            chant4.ogg
            chant5.ogg
            chant6.ogg
            chant8.ogg
            chime1.ogg
            choral1.ogg
            coingrab.ogg
            earthquake.ogg
            endoflevelpop1.ogg
            extralife.ogg
            fireball1.ogg
            frogland2.ogg
            gapbonus1.ogg
            gemvanishes.ogg
            jewelappear.ogg
            lighttrail2.ogg
            pop.ogg
            reverse1.ogg
            rolling.ogg
            slowdown1.ogg
            ufo1.ogg
            warning1.ogg
All is like a charm for now!.. :)
 
Last edited by mathew77,

Site & Scene News

Popular threads in this forum