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
  • No one is chatting at the moment.
  • 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:
    +1
  • 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
  • BigOnYa @ BigOnYa:
    A woman with no arms and no legs was sitting on a beach. A man comes along and the woman says, "I've never been hugged before." So the man feels bad and hugs her. She says "Well i've also never been kissed before." So he gives her a kiss on the cheek. She says "Well I've also never been fucked before." So the man picks her up, and throws her in the ocean and says "Now you're fucked."
    +1
  • BakerMan @ BakerMan:
    lmao
  • BakerMan @ BakerMan:
    anyways, we need to re-normalize physical media

    if i didn't want my games to be permanent, then i'd rent them
    +1
  • BigOnYa @ BigOnYa:
    Agreed, that why I try to buy all my games on disc, Xbox anyways. Switch games (which I pirate tbh) don't matter much, I stay offline 24/7 anyways.
  • AncientBoi @ AncientBoi:
    I don't pirate them, I Use Them :mellow:. Like I do @BigOnYa 's couch :tpi::evil::rofl2:
    +1
  • cearp @ cearp:
    @BakerMan - you can still "own" digital media, arguably easier and better than physical since you can make copies and backups, as much as you like.

    The issue is DRM
  • cearp @ cearp:
    You can buy drm free games / music / ebooks, and if you keep backups of your data (like documents and family photos etc), then you shouldn't lose the game. but with a disk, your toddler could put it in the toaster and there goes your $60

    :rofl2:
  • cearp @ cearp:
    still, I agree physical media is nice to have. just pointing out the issue is drm
  • rqkaiju2 @ rqkaiju2:
    i like physical media because it actually feels like you own it. thats why i plan on burning music to cds
    rqkaiju2 @ rqkaiju2: i like physical media because it actually feels like you own it. thats why i plan on burning...