Homebrew Stella-DS Improved

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
908
Trophies
1
XP
7,257
Country
United States
Any interest in adding save state support? Not at all authentic but a nice to have.
There is always interest :)

There was some Save Support in the original Stella code that was mostly disabled and I've removed it as part of my cleanup but it could be added back. Lots of other pressing priorities on this stuff first, however!
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
908
Trophies
1
XP
7,257
Country
United States
@wavemotion Now that you have more or less conquered the Atari on NDS would you have any interest in porting these to the 3DS? They all run great under TwiLightMenu but it would be lovely to take advantage of the higher resolution of the 3DS.

Interestingly enough, for the 2600, the higher resolution would only hurt. The specs on the Atari 2600 are 320x192 though most games don't use all 320 as the older TVs would often cut them off at the sides... the 192 was also a guideline to avoid cutting off the tops and bottoms on some ancient TVs (remember, they were still dealing with a load of Black/White TVs in 1977) - but most games utilized more than 192 and it was generally for sky/ground effects that didn't affect gameplay.

So for the 2600, the 3DS native 320×240 resolution won't buy much as the DS/DSi 192 pixels is sufficient to show the games 1:1 on the 2600. Mostly you would just end up with black bars top and bottom on the 3DS (like watching old widescreen DVDs on a 4:3 TV).

Plus, I don't own a 3DS so it would be hard to test :)
 

wavemotion

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

Screen scaling/tweaks to more than 400 games to make them look as good as possible on the DS screen.
AR/Starpath Supercharger games got a nice 10% speedup with some optimization - more of those games are now playable.
General cleanup and polish ... pretty happy with this one now!
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
908
Trophies
1
XP
7,257
Country
United States
Not ready for a new build, but the nightly check-in has a new build with improved Starpath Supercharger support. That stuff is tricky and I'm working on getting the games running at full-speed. With the latest check-in, half of the games run at full speed and the other half run close enough to be playable... I think the only real holdout is "The Official Frogger" which is still running down in the mid 40 FPS and needs some help... It's been a significant effort getting it this far but I think it's worth it. Although the Supercharger (which allowed playing Atari games from data stored on Cassette Tapes) only has a library of 12 games, many of them were shining examples of what was possible on the system.

Pi1bO64.jpg
 
Last edited by wavemotion,

wavemotion

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

Okay, significant improvement on the Starpath (Arcadia) Supercharger front and the emulation in general. I discovered something important - I had gone a little hog-wild using (otherwise unused) Video Memory for various things because it's faster (not quite as fast as the "Tightly Coupled Memory" but there's a ton more of the Video Memory to play with). This is true ONLY if you are accessing the memory in 16-bit (or 32-bit) chunks... 8-bit access is actually not all that efficient. I had put some of the scanline buffers into video memory and it was only a "win" in emulation speed if the game had otherwise simple backgrounds where I could draw in chunks of 16 or 32 bits - games like Adventure were benefiting from this. But simple background games were all running way faster than necessary anyway... I was so fixated on getting Adventure to run full-throttle over 150FPS that I didn't stop to realize that it came at the expense of the more complicated games that were not yet achieving 60FPS. So I reversed that course - and now Adventure (which had seen peaks of 155FPS) is now running about 142FPS - still more than 2x what is needed. But much harder to run games like Phaser Patrol and The Official Frogger have gone from low 40FPS to 50+FPS and that's a huge win as it now makes them playable (though just barely).

Anyway, enough rambling. Version 2 is here! More than 800 games (original games + homebrews) are in the compatibility list now.
 
Last edited by wavemotion,

ber71

Well-Known Member
Member
Joined
Apr 24, 2019
Messages
549
Trophies
0
Age
58
XP
2,427
Country
Spain
One curious thing.
Every nds you make has this titleID: 0004800023232323
which displays as '####'.
I believe that having a proper, separated titleID for your excelent stellads, a5200ds and a7800ds ports, is somewhat desirable to avoid problems.
 

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,513
Trophies
3
Age
24
XP
20,842
Country
United States
One curious thing.
Every nds you make has this titleID: 0004800023232323
which displays as '####'.
I believe that having a proper, separated titleID for your excelent stellads, a5200ds and a7800ds ports, is somewhat desirable to avoid problems.
Which is why I gave StellaDS a proper ID in the first place.
Unfortunately, using a proper ID breaks compatibility on certain flashcard kernels, so it got reverted.
 
Last edited by RocketRobz,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
908
Trophies
1
XP
7,257
Country
United States
Just an update. Nothing new to release - I have found a couple of if/then clauses that could be simplified in the main emulation loop that buy us a bit less than 1% speedup... but it's something.

I'm really squeezing blood from the proverbial stone at this point. Unless I'm willing for a complete re-write, I don't know if I can get any more speed out of this emulator. In short: I think we're at the limit of my skill here. It's almost 200% faster than the initial version I started with and with improved compatibility - and the vast majority of Atari games run at full speed on the DSi and a reasonable handful of simple games run fine on the original DS hardware.

The Atari 2600 has been really difficult - more so than the 5200 or the Atari 8-bit where things aren't nearly as wild and wooly. The 2600 has such limitations on the system side that a huge number of games take measures to add bank switching and extra RAM and other crazy schemes built into the cartridge itself which need special handling. All of these edge cases make it difficult to optimize for a single path. I'm still pretty happy with where this ended up. I will put out a new build with the tiny tweaks (and one bugfix) soon.

Hopefully a clever developer will pick up the mantle on this and move the ball forward!

upload_2021-3-22_10-17-57.png
 
Last edited by wavemotion,

wavemotion

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

As promised. Improved screen scaling to more closely match the other Atari DS emulators I've worked on. Bug fixes in the file/rom selection (plus the increased speed of loading large directory listings). Improved info screen and a last few tweaks to bring the speed up as much as possible. This has come a long way in 4 months - Enjoy!
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
908
Trophies
1
XP
7,257
Country
United States
i think you have done more than enough making this emulator so much more a pleasure to use, shame the c64 emulator on the DSi wasnt like this. :)
It's been quite the adventure - I only set out to add difficulty switches to the emulator and ended up putting in more than 100 hours of development effort - about half that was learning how to program the NDS :)

upload_2021-3-23_8-32-23.png
 

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,285
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,877
Country
United States
Just discovered this and its really good.

Be nice if here was a native 2DS/3DS version of this emulator so we don't have to run it through TWiLight Menu++.
There is a version of Stella on 3DS included in RetroArch, not sure how it compares to Stella-DS, but I would hope it's at least as good performance wise since it has the much more powerful 3DS hardware.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
908
Trophies
1
XP
7,257
Country
United States
Had a free day today and decided to look at this with fresh eyes... to try and squeeze out a bit more performance.

I had some success! The TIA rendering was an area that I didn't think had much left to give in terms of emulation performance. I was wrong. Turns out that I worked hard to make the simple stuff faster... but what was really needed was to make the more complicated stuff faster even at the expense of the simpler stuff. Basically - I traded in a few frames per second of the games that are easy to render (not much in the way of playfield objects) for a speed improvement to the games that are harder to render (more stuff going on with the playfield area). As an example.. Adventure which is capable of running at 145FPS now runs at 142FPS max (it only needs to run at 60FPS to be full-speed). But that small drop in max-performance allows the more complicated games to gain upwards of 15% speed improvement! Games like Fantastic Voyage were only running around 43FPS and now run at 60FPS. Even the really difficult to emulation Elevators Amiss saw a jump from 35FPS to 46FPS... this reworking brings about 20 more games up to the playable level and I'm pretty happy about it!

The new version is released, as usual, here:

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

Enjoy!
 

wavemotion

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

Sorry for the quick turnaround on another version - but I woke up with an inspiration for refactoring some common code in an area that gets executed tens of thousands of times per second... it's in the same TIA area that saw the big speed improvement yesterday. This gets another 10% speed boost and, for the first time, games like Freeway, Super Breakout and Lead all run at or very near 60FPS! Even the most stubborn of games - Elevators Amiss is up to 51FPS (from the abysmal 36FPS a few days ago) - that's a 41% speed improvement. All of the Starpath Supercharger games are now running well into the mid 50 FPS which makes them playable ... though the Official Frogger is still down around 52FPS (but very playable). On the DSi, virtually every Atari 2600 game is playable now.

Whew. I'm gonna take a nap!

Edit: Inadvertently broke the 'B=cancel' when picking a new ROM... put out 2.3a so if you grabbed the 2.3 earlier today, grab the 2.3a please.
 
Last edited by wavemotion,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Sicklyboy @ Sicklyboy:
    maaaaan that's so awesome but I also don't want to fork over a hundo for it
  • Veho @ Veho:
    The fuuuuu---
  • Veho @ Veho:
    I thought it was an actual xBox at that price.
  • Sicklyboy @ Sicklyboy:
    I wanna grab a 360 Slim and a 360 E one of these days. Missed the boat of getting them at their lowest though, once they were discontinued. Could've got them for cheap back when I was a broke 20 something working at Target, but then again, I was a broke 20 something working at Target
  • Veho @ Veho:
    Being broke is no fun.
  • K3Nv2 @ K3Nv2:
    @Sicklyboy, $150 isn't that bad for a jtag slim on ebay
  • Veho @ Veho:
    I only wish it was actually playable.
  • Veho @ Veho:
    There's a guy on the Tube of You that makes playable mechanical arcade games out of Lego. This could work on the same principle.
  • Veho @ Veho:
    Just a couple of guys taking their manatee out for some fresh air, why you have to molest them?
  • Veho @ Veho:
    Stupid Chinese shop switched their shipping company and this one is slooooooow.
  • LeoTCK @ LeoTCK:
    STOP BUYING CHINESE CRAP THEN
  • LeoTCK @ LeoTCK:
    SUPPORT LOCAL PRODUCTS, MAKE REVOLUTION
  • LeoTCK @ LeoTCK:
    THEY KEEP REMOVING LOCAL SHIt AND REPLACING WItH INFERIOR CHINESE CRAP
  • LeoTCK @ LeoTCK:
    THATS WHY MY PARTNER CANT GET A GOOTWEAR HIS SIZE ANYMORE
  • LeoTCK @ LeoTCK:
    HE HAS BIG FOOT AND BIG DUCK
  • LeoTCK @ LeoTCK:
    d*ck i mean*
  • LeoTCK @ LeoTCK:
    lol
  • Veho @ Veho:
    Mkay.
  • Veho @ Veho:
    I just ordered another package from China just to spite you.
  • SylverReZ @ SylverReZ:
    Leo could not withstand communism.
  • SylverReZ @ SylverReZ:
    Its OUR products to begin with lol.
    SylverReZ @ SylverReZ: Its OUR products to begin with lol.