Homebrew Stella-DS Improved

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
Holy s**t This is so cool man [emoji1]is this possible to port this to 3ds?

Hi. While this port is now incredible, if you have a N3DS/N2DS, you can check out the Stella core, which runs extremely well. Pitfall II is full speed on it, for example.

This emu still has some amazing features that are missing from Stella core. But options are always good to have, so FYI!
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
917
Trophies
1
XP
7,358
Country
United States
@wavemotion Is there any way you can get this to work nicely with the TWiLightMenu++ hot key to return to menu? Unfortunately it has been hit or miss for me.
Interesting! In theory, when you quit it should exit back to the guy who called it... which I would guess is the TWL++ menu. I don't know what I could do differently but hopefully someone will have a suggestion and I can implement it!
 
  • Like
Reactions: banjo2

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,621
Trophies
3
Age
24
XP
21,037
Country
United States
Interesting! In theory, when you quit it should exit back to the guy who called it... which I would guess is the TWL++ menu. I don't know what I could do differently but hopefully someone will have a suggestion and I can implement it!
The combo should be L+R+DOWN+B. It should be implemented in arm7 side. (See TWLMenu++ DSi theme's arm7 code, for reference).
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
917
Trophies
1
XP
7,358
Country
United States
The combo should be L+R+DOWN+B. It should be implemented in arm7 side. (See TWLMenu++ DSi theme's arm7 code, for reference).

Yeah, the code I started with does it the same way - boy the ARM7 doesn't do much! A bit of sound and mostly it just looks for those keys to exit.

You can also use the QUIT graphical button on the Atari 2600 console to quit. That seems to return me to TWL++ every time.
 

Indy13

Well-Known Member
Member
Joined
Jan 26, 2017
Messages
602
Trophies
0
Age
45
XP
1,278
Country
France
Hi @wavemotion and lots of thanks for your work on StellaDS & A7800DS :)

I tested the versions of your emulators on my nds lite with an R4 SDHC Gold Pro 2016 and HBMenu (0.4.1 version), I still get the same result : a white screen.

When I use the classic version of StellaDS and A7800DS, I have no problem, the emulators are working correctly.

Are the versions of your emulators only compatible with TWiLight Menu?

Is the problem with my R4?

Thanks in advance
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
917
Trophies
1
XP
7,358
Country
United States
Hey Indy,

I'm not sure - I just downloaded my StellaDS 1.6 and placed onto my R4-SDHC cart (those $10 jobbers from China) in my DS-LITE and it worked fine (no TWL++ menu on that unit). Here is what I have visually:

upload_2020-12-16_16-12-26.png


upload_2020-12-16_16-13-45.png
 

Indy13

Well-Known Member
Member
Joined
Jan 26, 2017
Messages
602
Trophies
0
Age
45
XP
1,278
Country
France
@wavemotion ,

I understood where my problem came from, it was the version of HBMenu I was using that was too old, it works with HBMenu 0.7.1 but it does not work with HBMenu 0.4.1

Cool ! Now it works on my ndsl ! :grog:

I also noticed that your version of A7800DS could start directly without going through HBMenu, which is not the case with StellaDS 1.6.

If I try to start StellaDS directly without using HBMenu, I get this message:
IMG_2391.JPG
 

Indy13

Well-Known Member
Member
Joined
Jan 26, 2017
Messages
602
Trophies
0
Age
45
XP
1,278
Country
France
Maybe it could be useful, I don't know, but the difference I noticed between the two emulators is that StellaDS tries to generate a .SAV file like the nds commercial roms which has the consequence of launching the process of creating a .SAV file in a partial way since after that crashes and we get an error message (as in the photo above).

The .SAV file is created because it can be found on the root of the SD card but it must be corrupted because the procedure could not be completed completely.

Beside that A7800DS does not create .SAV file, I think maybe this is the reason why this emulator can work without HBMenu, it is just a guess and maybe I am completely in the false but this is the comparison that I could observe by installing the two emulators on the root of my SD card and starting the two emulators without using HBMenu.
 

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,285
Trophies
1
Age
22
Location
米国
Website
xn--rck9c.xn--tckwe
XP
3,902
Country
United States
Now that IS interesting! I have no idea why they would be different... hrm.... I'll check the linker - maybe something different there.
The problem is that you added a title ID and title, most flashcards kernels use the "####" title ID and sometimes the "HOMEBREW" title as their homebrew check. HBMenu always boots like homebrew and TWiLight Menu++ uses more sophisticated checks so it usually gets it right, but most flashcard kernels just check that.

https://github.com/wavemotion-dave/StellaDS/blob/master/Makefile#L28

Edit: If you want to make one with a title ID for making CIAs and installing with TMFH, maybe make it with a .dsi extension?
That should still work in TWiLight Menu++ and makes sense imo since the title ID is only needed on DSi, might be a bit confusing though since .dsi isn't a very common extension but it is sometimes used for dsiware and unlaunch uses it. I think I'm going to start making .dsi files with title IDs for my projects now that I've thought of it
 
Last edited by Pk11,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
917
Trophies
1
XP
7,358
Country
United States
Interesting.

So if I understand correctly, the STELLA-DS version has this in the makefile:

upload_2020-12-17_7-13-31.png


And the A7800DS version has this:

upload_2020-12-17_7-13-51.png


Both of these are unchanged from Alekmaul's originals - I didn't have enough knowledge on NDSTOOL to know what they did and so didn't make any changes.

Can I just safely strip away the title change and options in yellow highlight from StellaDS?
 

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,285
Trophies
1
Age
22
Location
米国
Website
xn--rck9c.xn--tckwe
XP
3,902
Country
United States
Interesting.

So if I understand correctly, the STELLA-DS version has this in the makefile:

View attachment 238392

And the A7800DS version has this:

View attachment 238393

Both of these are unchanged from Alekmaul's originals - I didn't have enough knowledge on NDSTOOL to know what they did and so didn't make any changes.

Can I just safely strip away the title change and options in yellow highlight from StellaDS?
Looks like Robz added them: https://github.com/DS-Homebrew/StellaDS/commit/21ec7a44b642e2f9c54f81077c884b6676cdda1f

And yeah, you can just remove that line and the \ at the end of the one before and it should be good
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
917
Trophies
1
XP
7,358
Country
United States

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
917
Trophies
1
XP
7,358
Country
United States
Oh 8-bit love of my life, I have not forgotten thee!

I'm not ready for a new build but the nightly check-in has significant changes.

https://github.com/wavemotion-dave/StellaDS

It's up-revved to 1.7a and contains the new CPU core borrowed from Stella 2.7 (basically a couple years newer than the core that was in place). This fixes a number of small core bugs plus improves timing to the point where you can now play great new homebrews like Venture Reloaded and for the first time you can play the Starpath Supercharger games! Those games don't run at full speed yet... some are close and others are, well, less close. But it's a start.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
917
Trophies
1
XP
7,358
Country
United States
Makes me wonder how much gain would one get if it was ported to assembler?
Quite a bit, I would imagine. It's actually well-structured C++ and some of the speedup was undoing that beautiful encapsulation by doing some direct memory reads/writes. Even just a port to straight hand-tuned C might provide some benefit. But I'll leave that to someone else - the code is available! My goal is to get as many games playable as possible on the aging hardware but generally steer clear of a total ground-up re-write.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
917
Trophies
1
XP
7,358
Country
United States
Version 1.8: https://github.com/wavemotion-dave/StellaDS

This is a big one.
  • Booster Grip Implemented (Omega Race and Thrust+ working as two-button games... use A and B)
  • Improved timing accuracy so games like Venture Reloaded work.
  • Implemented "AR" handling so Supercharger carts work!
  • Improved timing across the board... about 5% faster than 1.7 despite being a more timing-accurate emulator.
  • DPC+ Carts now recognized... and message will come up stating they are not supported.
  • L-TRIG+DPAD bumps screen offsets. R-TRIG+DPAD changes Y-Scaling
This will render almost the entire library playable except the newest DPC+ homebrew games which require a co-processor that can't be emulated properly with the limitations of the DS.

Edit: Just for fun, I loaded up StellaDS 1.1b which is the earliest version I have with enough debug in place to be able to see benchmarks. I compared them to what 1.8 will do... here's some compares when games are "unthrottled" (running as fast as they can):

Adventure was 88FPS and is now 155FPS.
Adventures of Tron was 45FPS and is now 70FPS
Alien was 44FPS and is now 61FPS
Chopper Command was 58FPS and is now 77FPS
Demon Attack was 79FPS and is now 126FPS

I'd say from this sampling that we are a solid 50% faster in emulation with at least twice the accuracy (i.e. more games are playable and more controller-types are properly emulated). This is a beast of a system to emulate as a lot of add-ons were cart specific.

Once I get all the screen tweaks and positions correct, next up: one-page mini-manuals for the games so you can just click a little booklet icon and get brief instructions on how to play!
 
Last edited by wavemotion,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Xdqwerty
    what are you looking at?
  • BakerMan
    I rather enjoy a life of taking it easy. I haven't reached that life yet though.
    Xdqwerty @ Xdqwerty: @BakerMan, it wasnt aimed at you but ok