Homebrew Stella-DS Improved

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
StellaDS 1.1g released. https://github.com/wavemotion-dave/StellaDS

Added support for all Paddle Games. You can use the left/right D-Pad (not very satisfying) or the touch screen area below the cart slot (somewhat more satisfying but still not quite like holding real paddles). I found hitting the A/B button for the paddle button was tricky so you can alternatively press either shoulder button which should satisfy lefties and righties.

New ROM table map added so that games are positioned perfectly on screen (I've only manually set about 50 of the most popular games... I'll do the rest soon-ish). A handful of games will now auto-switch into Flicker Free mode such as Stellar Track, Asteroids and Yars Revenge which really need that mode... but you can manually switch in/out of flicker free mode as you like (again, FF mode is CPU intensive so you will lose a bit of speed on some games). A few other fixes - like auto-patching the Haunted House ROM to fix the programmer bug (one byte change) and so that game is now playable. Using the shoulder buttons to bump the screen up/down one pixel is now done during the VBLANK so that the screen doesn't flash.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Just for fun, I enabled the lower CPU speed of DS mode (67Mhz vs 133Mhz) and the results were not impressive. Almost no game I tried ran at full speed - you might be able to play Adventure or Sky Diver with a bit of slowdown but almost nothing else will run right. StellaDS really is more like StellaDSi - it needs the extra CPU speed to be of any real playability.

Fortunately, you can get a nice Japanese DSi for about $35 shipped on eBay these days... get UNLAUNCH and TWI++ installed and it's 95% english and ready to play!
 

Indy13

Well-Known Member
Member
Joined
Jan 26, 2017
Messages
593
Trophies
0
Age
45
XP
1,254
Country
France
Just for fun, I enabled the lower CPU speed of DS mode (67Mhz vs 133Mhz) and the results were not impressive. Almost no game I tried ran at full speed - you might be able to play Adventure or Sky Diver with a bit of slowdown but almost nothing else will run right. StellaDS really is more like StellaDSi - it needs the extra CPU speed to be of any real playability.

Hi @wavemotion thank you for your work :)

For NDS Lite users, can we expect a version of StellaDS compatible with an expansion pak like the EZ Flash 3 in 1?
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Hi @wavemotion thank you for your work :)
For NDS Lite users, can we expect a version of StellaDS compatible with an expansion pak like the EZ Flash 3 in 1?
Honestly, I've no idea how to do that. From my hour of Google-ing it seems this build should work on flashcarts as well as on SD cards but I tried to load it on my R4i clone card (those $10 jobs) and it didn't work (error -4). I don't see anything obvious in the build that I would change to make it work for flashcarts.

If anyone more knowledgeable has a clue for me to follow, I'm all ears!
 
  • Like
Reactions: Alexander1970

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,515
Trophies
3
Age
24
XP
20,845
Country
United States
Honestly, I've no idea how to do that. From my hour of Google-ing it seems this build should work on flashcarts as well as on SD cards but I tried to load it on my R4i clone card (those $10 jobs) and it didn't work (error -4). I don't see anything obvious in the build that I would change to make it work for flashcarts.

If anyone more knowledgeable has a clue for me to follow, I'm all ears!
You have to load it with either nds-hb-menu, or TWiLight Menu++ (yes, this works on flashcards as well).
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
You have to load it with either nds-hb-menu, or TWiLight Menu++ (yes, this works on flashcards as well).
Oh wow - you're famous! :)
Thanks - I'll give that a try.

I've added support for the Driving Controller which provides access to like 3 games... sadly it was underutilized.

Still tweaking paddle games... some games use Paddle 0 and some use Paddle 1 and that needs some sorting out.

I'm adding new icons on the main screen to bring up full-screen paddle and keypad touch screens.

upload_2020-12-1_16-18-55.png
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Okay, it's released. StellaDS 1.1h is here: https://github.com/wavemotion-dave/StellaDS

Full paddle and keypad emulation via on-screen icons. Preliminary driving controller support (yay Indy 500!). Even games that use the OTHER paddle (like Demons to Diamonds) should now work fine. Need to tweak the sensitivity on the paddles on a per-game basis but generally it should all work now.

I also tried to get Supercharger games working but it's going to be a struggle due to the age at which the Stella emulator was ported to the DS (before Stella version 2). And DPC+ games (for new homebrews like Space Rocks which is amazing!) will never work - those carts have an ARM co-processor running at about same speed as the original DS CPU. We can barely keep up with 6502, TIA and RIOT emulation to make most Atari games work... the co-processor will not happen on this hardware.

But there is still so much classic goodness to enjoy!
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Okay, thanks to Robz suggestion, I was able to put nds-hb-menu on my flashcart (was just a matter of copying the folder and then placing BOOT.NDS in the root of the SD card). Booted into the normal R4i clone menu and then launched BOOT.NDS and then StellaDS.NDS

The results were spectacularly bad. The games are emulated and you can clearly see/hear them running but the graphics are a mess. I suspect this is because of some of the DMA tricks I did for the build - it requires that the CPU be able to finish processing the memory copy into VRAM before it comes back around to re-writing that memory. The DSi with it's twice-fast CPU can do it... the DS-LITE and earlier cannot. I'm sure someone more clever than I am (not hard!) can find a way to make it fast and work on older hardware - but given how stunningly cheap a DSi is these days (US$40) it's really a powerhouse of classic gaming and worth seeking out.

It's probably time for a re-branding of StellaDS to StellaDSi with new readme and splash screen...
 
Last edited by wavemotion,

Alexander1970

XP not matters.
Member
Joined
Nov 8, 2018
Messages
14,973
Trophies
3
Location
Austria
XP
2,482
Country
Austria
Hello.:)

Okay, thanks to Robz suggestion, I was able to put nds-hb-menu on my flashcart (was just a matter of copying the folder and then placing BOOT.NDS in the root of the SD card). Booted into the normal R4i clone menu and then launched BOOT.NDS and then StellaDS.NDS

The results were spectacularly bad. The games are emulated and you can clearly see/hear them running but the graphics are a mess. I suspect this is because of some of the DMA tricks I did for the build - it requires that the CPU be able to finish processing the memory copy into VRAM before it comes back around to re-writing that memory. The DSi with it's twice-fast CPU can do it... the DS-LITE and earlier cannot. I'm sure someone more clever than I am (not hard!) can find a way to make it fast and work on older hardware - but given how stunningly cheap a DSi is these days (US$40) it's really a powerhouse of classic gaming and worth seeking out.

It's probably time for a re-branding of StellaDS to StellaDSi with new readme and splash screen...


Thank you for this awesome Project and your Work.:yay:

I have tried it on the DS Lite with two Flashcards (R4iTT v1.6 and R4 SDHC Dual-Core 2018)
with TWiLight Menu installed on it.

As you said,the Emulator runs perfect unfortunately the Graphics is not so good.:D

P1010928.JPG P1010929.JPG
P1010933.JPGP1010932.JPG

If you need "testing" Help,I have also the Memory Expansion Module and an EZ Flash IV.

Thank you.:)
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Okay, I went back to the pre-DMA hack I put in to give a speed performance boost for DSi consoles... and it does work but the framerate on most games is sub-par.

But if you want to play around, it will have some speed improvement over the original StellaDS and it will have the difficulty switches working as well as support for games like Raiders of the Lost Ark. But I don't hold out much hope of making it much faster on the older hardware...

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

The "new" file you're looking for is called StellaDS-Lite.NDS and is not going to have the paddle/keypad/driver controller emulation working as the new build for DSi will.

Edit: You can play Adventure, Demon Attack and Pheonix at fairly close to full speed... give or take. But many other games are coming up short on the original hardware.
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
After a brief experiment, it's definitely the VRAM to VRAM copy that is causing problems on the DS-LITE (and DS-PHAT). I think it will be easy to check if I'm running in the slower CPU speed of a DS-LITE and older and then just use the old slower memory operations to make it work. At least it will be backwards compatible - though (again), only a small subset of games will run correctly (fortunately, great games like Adventure, Demon Attack, Missile Command, Phoenix, and Space Treat will work reasonably well enough).
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Okay, uploaded 1.1i here: https://github.com/wavemotion-dave/StellaDS

This build will check whether we are in DSi mode and if not, will slow down the DMA copy so that it works again on older DS-LITE (and, presumably, DS-PHAT) hardware. I have a DS-LITE but not older...

I'm also re-branding. I don't know if I'm allowed to do it on moral grounds - but there are all kinds of versions floating around out there... 1.0, 1.1, 1.2 and some 1.0s are newer than 1.2s

So I'm going to bump up to revision 2.0 soon and call this "PHEONIX EDITION" because, well, I'm over 100 hours tweaking this thing and that's my compensation :)
upload_2020-12-2_10-45-49.png
 

Deleted member 668561

GBAtemp Official Psychonaut
Banned
Joined
Jan 29, 2008
Messages
1,875
Trophies
0
Location
somewhere within 4 dimensional space-time
XP
2,654
Country
United States
Thank you for this. It always confused me how emulating such an old system could have any slowdown.

first you have to emulate the 6502, then you have to emulate the i/o and ram (6532/riot), what really makes the 2600 hard (resource hungry) to emulate is the tia and how it actually displays graphics, you effectively have to emulate a crt TV aswell, 2600 has no framebuffer, it draws scanlines and draws in realtime and doesn't have pixels, but color clocks, and then you'd want to emulate sound aswell, do all this and get 60fps and full compatibility on a system with 16mb of ram and 133mhz arm9

--------------------- MERGED ---------------------------

this gives me an idea for a nds SLOT-2 card, 16mb of ram, and a stm32 would be very interesting on an NDS
 
Last edited by Deleted member 668561,

Alexander1970

XP not matters.
Member
Joined
Nov 8, 2018
Messages
14,973
Trophies
3
Location
Austria
XP
2,482
Country
Austria
Okay, uploaded 1.1i here: https://github.com/wavemotion-dave/StellaDS

This build will check whether we are in DSi mode and if not, will slow down the DMA copy so that it works again on older DS-LITE (and, presumably, DS-PHAT) hardware. I have a DS-LITE but not older...

I'm also re-branding. I don't know if I'm allowed to do it on moral grounds - but there are all kinds of versions floating around out there... 1.0, 1.1, 1.2 and some 1.0s are newer than 1.2s

So I'm going to bump up to revision 2.0 soon and call this "PHEONIX EDITION" because, well, I'm over 100 hours tweaking this thing and that's my compensation :)
View attachment 236380


AWESOME !! :yay::bow:

P1010934.JPG P1010935.JPG P1010936.JPG

Works perfect now on the Flashcards with TWiLight Menu.

Thank you.:)
 

Coto

-
Member
Joined
Jun 4, 2010
Messages
2,979
Trophies
2
XP
2,564
Country
Chile
Okay, thanks to Robz suggestion, I was able to put nds-hb-menu on my flashcart (was just a matter of copying the folder and then placing BOOT.NDS in the root of the SD card). Booted into the normal R4i clone menu and then launched BOOT.NDS and then StellaDS.NDS

The results were spectacularly bad. The games are emulated and you can clearly see/hear them running but the graphics are a mess. I suspect this is because of some of the DMA tricks I did for the build - it requires that the CPU be able to finish processing the memory copy into VRAM before it comes back around to re-writing that memory. The DSi with it's twice-fast CPU can do it... the DS-LITE and earlier cannot. I'm sure someone more clever than I am (not hard!) can find a way to make it fast and work on older hardware - but given how stunningly cheap a DSi is these days (US$40) it's really a powerhouse of classic gaming and worth seeking out.

It's probably time for a re-branding of StellaDS to StellaDSi with new readme and splash screen...

Good work! It's always nice to see other devs supporting the DS. The DS hardware requires to deal with events in a more "machine state" manner than usual software way of things (slower).
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Version 1.1j released: https://github.com/wavemotion-dave/StellaDS

Added info button to show how keys are mapped.

Squeezed a few more CPU cycles out of the frame drawing... but it's like trying to get water from a stone at this point.

I did notice that I haven't heard the strange audio glitches (present in the baseline emulator I started with) since I put in the VRAM to VRAM DMA copy. Hopefully that was the issue!

Getting close to a 2.0 Release.

upload_2020-12-3_10-25-17.png
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @salazarcosplay, Morning