Homebrew [Release] ScummVM 3DS

MrHuu

Well-Known Member
Member
Joined
Sep 19, 2015
Messages
563
Trophies
0
Age
37
XP
1,618
Country
Netherlands
While tinygl already runs, none of the games mentioned are actually functional on 3ds.

Due to memory limitations and slow speeds, tinygl could be adapted to have some functions taken over by hardware. This is more in line of what i meant.

Please, do correct me if i'm wrong.
The available gl implementation, picagl, is based on gl 1.1 core. A few functions are missing but are available as ARB extensions.
But i havn't been succesfull in utilizing them.
It' been a while, but if i remember correct missing functions were: glIslist and VBO's.
Nothing to complicated.

These functions are available in the already available citro3d library. Which is used by the current renderer. A wrapper to make to gl functions work with citro3d with tinygl backing the unsupported hardware features could be a solution.

To my understanding, TinyGL as-is wouln't be sufficient to get these games running at acceptable speeds without modification.

Our best bet would be, citro3d with tinygl modified.
Or a gl renderer using picagl with added functionality.

But i love to be proven wrong and always open to suggestions on how to do it properly.

Maybe @MasterFeizz is able to give his opinion on how viable a picagl solution would be?
 

ccawley2011

Member
Newcomer
Joined
May 12, 2021
Messages
18
Trophies
0
Age
24
XP
232
Country
United Kingdom
As I understand it, TinyGL isn't really designed for that kind of thing, so I suspect that using picaGL would be the best approach. Currently, all of the engines using OpenGL have separate renderers for OpenGL 1.x and OpenGL (ES) 2.x, so the former should be relatively easy to adapt for the 3DS, although I'm not so familiar with the changes that would be needed on the backend side of things.
 
  • Like
Reactions: AHB

MrHuu

Well-Known Member
Member
Joined
Sep 19, 2015
Messages
563
Trophies
0
Age
37
XP
1,618
Country
Netherlands
Most platforms have have gl implemented using a SDL backend. I believe the AMIGA platform uses a gl 1.3 compatibility profile to provide a context.
But without looking further into it, I'm not sure if that equals the actual minimum used.
 

AHB

Active Member
Newcomer
Joined
Mar 9, 2016
Messages
40
Trophies
0
Age
34
XP
436
Country
United States
I just found a couple of potentially useful things on github: A project working to overhaul tinyGL and a 3DS implementation by one of said project's maintainers.
___________________________________________________________________________________

May 25, 2021:
@MrHuu @ccawley2011 @MasterFeizz Correct me if I'm wrong, but if some rendering-related functionality was to be relegated to the 3DS hardware, it seems like the underlying math should be part of that. If that is the case (don't bother reading the rest of this if it isn't), it might present a snag.

From looking at the code, it looks like both citro3D and picaGL use fixed 4x4 matrices (made up of 4 4x1 vector matrices) - which, according to the citro3d source code, matches the PICA200 GPU layout - while ScummVM uses variably-sized matrices. Off the top of my head, it seems like the simplest solution would be to convert the ScummVM vectors/matrices to and from PICA vectors/matrices as needed. Would this cause a noticeable hit to performance?
___________________________________________________________________________________

May 26, 2021:
Don't hesitate to call me out and/or correct me if it's clear I have no idea what I'm talking about. Frankly, it feels like the more I look into this, the less sure I am about things I thought I had at least a tenuous grasp on. :unsure:
 
Last edited by AHB,

AHB

Active Member
Newcomer
Joined
Mar 9, 2016
Messages
40
Trophies
0
Age
34
XP
436
Country
United States
Blade Runner runs pretty much perfectly on 3DS. This could possibly be related to the fact that does not rely on OpenGL nor on TinyGL. If so, perhaps whatever's allowing the BLADERUNNER engine's graphics library to function on the 3DS could be adapted to TinyGL?

Also yeah, pretty much rambling to myself at this point.

EDIT: Huh, so post-merging only happens within a specific window after the post, and I guess adding @'s in an edit doesn't ping the user. No wonder I've been talking to myself. Good to know nearly two weeks after the fact! :creep:
 
Last edited by AHB,
  • Like
Reactions: MarioKartFan

MrHuu

Well-Known Member
Member
Joined
Sep 19, 2015
Messages
563
Trophies
0
Age
37
XP
1,618
Country
Netherlands
I have to start looking into the project again before i can be of any use.
I do like to checkout that TinyGL implementation for 3ds, that should be relatively easy to implement. Not sure about it's capabilities though.

Doesn't bladerunner use regular sprites? I was under the impression it doesn't have 3d rendered scenes.
Unfortunately i don't think we have much options next to using some sort of GL implementation.
 

AHB

Active Member
Newcomer
Joined
Mar 9, 2016
Messages
40
Trophies
0
Age
34
XP
436
Country
United States
Doesn't bladerunner use regular sprites? I was under the impression it doesn't have 3d rendered scenes.
The background is 2D, but the characters are 3D, which is similar to The Longest Journey, Syberia, Grim Fandango, etc. Looking into it, Blade Runner apparently used "slice animations" for optimization.
LouisCastle on May 28, 2018 [–]

Fun! Yeah, we stored our data as slices for space and restricted rotation to the Y axis. Both were optimization since each frame of an animation was a full model there was no need to rotate them. The renderer could render them from any angle though so I still consider them voxels. More like voxels lite then voxel plus. We also used a lot of sprite cards with zdepth and a quick normal hack for lighting. You had to cut corners where you could back then!!
 
  • Like
Reactions: MrHuu

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    Oh Dragon Quest IX
  • K3Nv2 @ K3Nv2:
    Spent like 5 hours on switch one never touched it again
  • Psionic Roshambo @ Psionic Roshambo:
    Sentinel of the stary skies
  • K3Nv2 @ K3Nv2:
    Ds is 20 years old this year
  • Psionic Roshambo @ Psionic Roshambo:
    So MJ no longer wants to play with it?
  • K3Nv2 @ K3Nv2:
    He put it down when the 3ds came out
  • SylverReZ @ SylverReZ:
    @K3Nv2, RIP Felix does great videos on the PS3 yellow-light-of-death.
  • Jayro @ Jayro:
    Eventhough the New 3DS XL is more powerful, I still feel like the DS Lite was a more polished system. It's a real shame that it never got an XL variant keeping the GBA slot. You'd have to go on AliExpress and buy an ML shell to give a DS phat the unofficial "DS Lite" treatment, and that's the best we'll ever get I'm afraid.
    +1
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
  • BakerMan @ BakerMan:
    imagine not having hands, cringe
    +1
  • AncientBoi @ AncientBoi:
    ESPECIALLY for things I do to myself :sad:.. :tpi::rofl2: Or others :shy::blush::evil:
  • The Real Jdbye @ The Real Jdbye:
    @SylverReZ if you could find a v5 DS ML you would have the best of both worlds since the v5 units had the same backlight brightness levels as the DS Lite unlockable with flashme
  • The Real Jdbye @ The Real Jdbye:
    but that's a long shot
  • The Real Jdbye @ The Real Jdbye:
    i think only the red mario kart edition phat was v5
    The Real Jdbye @ The Real Jdbye: i think only the red mario kart edition phat was v5