Homebrew Unofficial 3DS ScummVM builds

Jmbenetti

Member
Newcomer
Joined
May 14, 2019
Messages
16
Trophies
0
Age
41
XP
221
Country
Argentina
Thanks again! It worked! I couldn't run bannertool because I couldn't update gclib to 2.29, but I made my own banner with the same tool on Windows and I modified the script to make it run. :)
 

Mihailo

New Member
Newbie
Joined
Aug 17, 2019
Messages
3
Trophies
0
Age
38
XP
89
Country
Serbia, Republic of
I'm a new 2ds user and I absolutely love this port! Just a quick question, can I build a cia for other games without banners and icons or do I need to make them first?
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,588
Country
Netherlands
I'm a new 2ds user and I absolutely love this port! Just a quick question, can I build a cia for other games without banners and icons or do I need to make them first?

No, not straight away. Images are required to build, you could use a placeholder however...
But the artwork is basically the last part in adding a game.

For other games to be compiled (and setup right) you have to add the gameID to the script and code.

As any other game would require scummvm to be configured with an other core, and with an other argument to be able to start the game.

If you can't or don't want to to do this, let me know, i'll add a few ID's.
 

Mihailo

New Member
Newbie
Joined
Aug 17, 2019
Messages
3
Trophies
0
Age
38
XP
89
Country
Serbia, Republic of
For starters I thought about adding Quest for Glory 4. If I understand correctly, I should add another elif line and set enable engine as SCI or SCI32 (ill check the scummvm wiki)? As for banners, I would have to look at documentation. I know a bit about bash scripting since I work as a sysadmin, but graphics are not my forte. :)
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,588
Country
Netherlands
I've pushed a few changes to the Github. This makes the processes of adding ID's a bit easier.

An ID for Quest for Glory 4 is also added. No artwork for now.


To add your own:

- Add an ID with the correct config / engine like this:
https://github.com/MrHuu/scummvm/blob/master/build_custom_3ds.sh#L101

- Add a game description and Unique Application ID like this:
https://github.com/MrHuu/scummvm/blob/master/backends/platform/3ds/app/game.info#L79

-Add a folder with the game ID, with icon, banner, gamefiles (inside folder 'game') here:
https://github.com/MrHuu/scummvm/tree/master/backends/platform/3ds/app

Now you can run './build_custom_3ds.sh QFG4' to build the .cia
 

lincruste

Well-Known Member
Member
Joined
Jan 13, 2008
Messages
375
Trophies
1
Location
france
XP
1,187
Country
Antarctica
Wait a minute. So now we can run any game supported by ScummVM 2.x official releases ?
Does it mean SCI games can be run on 3DS, like Gabriel Knight , Rama and Phantasmagoria ?
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,588
Country
Netherlands
Wait a minute. So now we can run any game supported by ScummVM 2.x official releases ?
Does it mean SCI games can be run on 3DS, like Gabriel Knight , Rama and Phantasmagoria ?

Since @Nitrus updated 3DS builds on the official git, it's possible to compile the latest source.

So, yes, those are supported.

I've used the fork available here to create a .cia build with Phantasmagoria (2.17Gb), seems to be running near perfect!
 
  • Like
Reactions: lincruste

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,588
Country
Netherlands
@lincruste I've tested a few other games:

-- Supported in the latest scummvm builds
-Gabriel Knight
-Gabriel Knight 2
-Phantasmagoria 2

They all seem to run fine so far. With some minor audio crackling and occasional frame drop upon loading a scene. Pretty sure similar SCI games will have similar results.

-- Unsupported in the latest scummvm builds
-Beavis and Butt-head Do U

Does run, but crashes at certain events.
 
  • Like
Reactions: lincruste

lincruste

Well-Known Member
Member
Joined
Jan 13, 2008
Messages
375
Trophies
1
Location
france
XP
1,187
Country
Antarctica
@lincruste I've tested a few other games:

-- Supported in the latest scummvm builds
-Gabriel Knight
-Gabriel Knight 2
-Phantasmagoria 2

They all seem to run fine so far. With some minor audio crackling and occasional frame drop upon loading a scene. Pretty sure similar SCI games will have similar results.

-- Unsupported in the latest scummvm builds
-Beavis and Butt-head Do U

Does run, but crashes at certain events.
Thank you so much for your feedback ! I came back home yesterday and will give Sierra's Rama a try tonight.
 
  • Like
Reactions: MrHuu

lincruste

Well-Known Member
Member
Joined
Jan 13, 2008
Messages
375
Trophies
1
Location
france
XP
1,187
Country
Antarctica
Oh fuck I didn't understand I had to compile this stuff by myself.
Well I don't have a GNU/Linux VM nor any devkitpro toolchain ready so I'll pass on this one.
Very good to know it's doable at last, thanks for making this possible !
 

Nitrus

Active Member
Newcomer
Joined
Sep 27, 2018
Messages
28
Trophies
0
Age
44
XP
329
Country
United States
@lincruste if you're only looking at playing RAMA, you can try with the build from this thread
Hello,

I've brought the port up to speed with current ScummVM codebase.
...
I've uploaded binaries here:
https://git.io/fp8Hs
Check the notes to determine if the game you want to play is playable with that build.
These are supplied as-is, I can't offer a lot of support for them.
If you were happy with the previous releases, keep using those.
...

This does not have animated banners and is not at current ScummVM HEAD (9-10 months old at this point, where does time fly), but should be sufficient to run SCI games.
 
  • Like
Reactions: lincruste

lincruste

Well-Known Member
Member
Joined
Jan 13, 2008
Messages
375
Trophies
1
Location
france
XP
1,187
Country
Antarctica
@Nitrus Thank you for the link, I'll try your pre-compiled binary tonight and will update this post.
By the way I have a question (as a total noob in programming):
Is ScummVM "core" codebase ready to compile on 3DS with porting only requiring a "frontend" work, or do you have to hack all of the code everytime there is an update ?
 

Nitrus

Active Member
Newcomer
Joined
Sep 27, 2018
Messages
28
Trophies
0
Age
44
XP
329
Country
United States
The official ScummVM codebase was updated with what was necessary to make builds for the 3DS. The port was broken/uncompile-able for a number of years, at least since DevkitPro's upgrade to pacman, but should be back on track since November 2018.

ScummVM has one frontend as far as I'm aware, however it has backend ports for every platform it supports (3DS, Android, SDL, PSP, WII...).
This usually means that the code must be cross-compiled (using a compiler and libraries for the system you want to compile for).
As a quick and dirty explanation, ScummVM has certain core calls that need to be translated to the system-specific equivalents in order for all of it to come together, and that's roughly what the ports are.

This means you can clone the master branch from the official Github, and you could follow the instructions in the backends/platform/3ds/README in order to make your own build.
There aren't official ScummVM daily builds for the 3DS likely because they don't have an active maintainer for the system (a person who could look at port-specific bugs on a regular basis), or more importantly because it isn't possible (or wasn't when I last looked at it) to create a 3DS build that includes all the engines, because of space restrictions.
If the port supported dynamic plugins this would have been possible, but as far as I know it never did.
---
In any case, if you took the most recent ScummVM code and follow the instructions, you should be able to compile it as-is.
No further "hacking" would be required unless an update to the core code or configure script has somehow broken the 3DS backend. I don't think that's the case today, albeit I haven't compiled it in a while.

This thread (that we're talking in) is about making your own game forwarders for individual games. That's not exactly part of ScummVM as it stands today.
So if you would want to run ScummVM through HBLauncher or as an app from the Home menu, you could just compile from the official ScummVM source.
However if you would like to have a nice icon, banner and potentially music on the Home menu for every individual game you have, you should use @MrHuu's method supplied in this thread, in addition to being able to compile the source code.
(from memory, I believe with MrHuu's fork here you might enjoy a slight performance boost for resource-intensive games)

Even if you updated your tree with the most recent code from the official ScummVM master, you should still be able to continue this method to create game forwarders.
 
Last edited by Nitrus,

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,588
Country
Netherlands
The main difference between regular builds from the latest source, and these builds, is the inclusion of the game inside the .cia container. (also works fine for .3dsx btw)
This basically packages all scummvm and game files into one big file.
So instead of having to open, read and close a lot of small files on a slow SD, you're opening it once and just read the data when needed.

Speed difference is in loading times. On startup and in-game (only resource heavy games).
 
  • Like
Reactions: Nitrus and Mihailo

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
@MrHuu Thanks so much for your work. I attempted to modify your script (I had to modify an additional file because the script spit out an error) to include Gabriel Knight. Unfortunately, when I run your script, I get the following error at the very end. It appears to be a Makerom issue. Any thoughts?

EDIT: NEVERMIND. I'M AN IDIOT. I FIGURED IT OUT.
 
Last edited by MarioKartFan,
  • Like
Reactions: MrHuu

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
@MrHuu Can you please provide additional information on how you configured your script to build Gabriel Knight? I got it working with Quest for Glory IV, but Gabriel Knight crashes upon launch. I assume sci32 is the correct engine for that game, based upon what I have read.
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,588
Country
Netherlands
@MrHuu Can you please provide additional information on how you configured your script to build Gabriel Knight? I got it working with Quest for Glory IV, but Gabriel Knight crashes upon launch. I assume sci32 is the correct engine for that game, based upon what I have read.

ouwch.. i know it already takes long enough to compile and install.

Which game ID did you add? The ID's for Gabriel Knight are GK1 and GK2.
For both games you can use sci32.
Just enabling sci32 enables all sci engines. So unless you're sure it's a sci v1 game, just use sci32.

I added it in the way explained a few posts back. link

I only tested the Gabriel Knight 1 floppy version, and GK2.

If you're unsure if you got the right gameID, just add the game to an other (PC) build of scummvm and check the settings or .ini file. Maybe the cd version requires GK1-cd or something.

I don't have the cd version available now, but i'll make sure to check it out.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    S @ salazarcosplay: is it difficult?