Jump to content
IGNORED

Any info on StellaDS?


AgentOrange96

Recommended Posts

@SpiceWare Well... it's a bit of a hollow victory.  The problem was some optimizations I did to the code (more than a year back). Obviously I can (and have) fixed it but the hit to performance is going to take some time to recover from.  Not so much on the DSi (or 2DS/3DS) but for the original DS. With my userbase that can be counted on two hands... I'll have to work to re-optimize "safely". 

 

image.thumb.png.700e90ce84cf02262ff5f8a346497bd9.png

  • Like 1
Link to comment
Share on other sites

My kids have a few DS Lites sitting around, but if I could get a DSi XL or 3DS (even a 3DSXL) for an even bigger screen, then would I be able to switch between this and the Intellivision DS?

 

Edit: oh, and I see you have a ColecoDS, so if I could get the AtariDS, IntellivisonDS and ColecoDS all on the same DSi, then I'd have a nice portable device for my business trips

  • Like 1
Link to comment
Share on other sites

I'm currently the caretaker of 6 Emulators for the DS/DSi/XL which can all co-exist on your DS:

 

  • StellaDS - Atari 2600
  • Nintellivision - Intellivision
  • ColecoDS - Coleco, ADAM, SGM, MSX, SG-1000, Memotech MTX, Tatung Einstein, Sord M5, Hanimex Pencil (only one game but it's great!) and other related systems.
  • A5200DS - Atari 5200
  • XEGS-DS - Atari 8-Bit 
  • A7800DS - Atari 7800

 

  • Like 3
  • Thanks 2
Link to comment
Share on other sites

Okay! Just found and fixed my logic bug with Score vs Priority... without a loss of speed (except for a very small percentage dip for games that utilize the Score bit in combination with the Playfield). I also dug out another 1 frame of performance for DPC+ games.

 

Star effects should be working... colors on MM should be right. @SpiceWare let me know if you get a chance to try MM with the new version of StellaDS 5.7c (or later) up on my github page.

 

Thanks for the assist!

  • Like 2
Link to comment
Share on other sites

14 hours ago, llabnip said:

Star effects should be working... colors on MM should be right.

 

Awesome!  

 

Detaching those handles from my 3DS to access the SD card is a minor hassle, so I plan to install the update this weekend when I setup your other emulators.

 

My hands cramp if I don't use the handles, so I'm being extra careful to not break them.

  • Like 1
Link to comment
Share on other sites

I never played Intellivision back in the day. I have played a few games via emulation, even had an official release on my Mac at one point (was for PowerPC, so doesn't run on anything I now have), but the control situation was not ideal.

 

I think having overlays on the touchscreen will make a huge difference, so I do plan to install it.  

 

Does the analog stick map to the 16 discrete directions that Intellivision controllers support?

  • Like 1
Link to comment
Share on other sites

27 minutes ago, SpiceWare said:

Does the analog stick map to the 16 discrete directions that Intellivision controllers support?

No... my emulators are targeted for the DS/DSi/XL so it won't read the analog stick. Someday... 

 

The best I can do is 8-way which is not ideal but having the touchscreen for the "overlays" and/or numeric pad still provides for a very smooth experience. 

 

I had the Atari 2600 (we just called it 'Atari') and Colecovision... my buddy had the Intellivision and we played all three systems so much that the glow of the phosphor has not yet faded from my eyes.

  • Haha 1
Link to comment
Share on other sites

We called it "Atari" as well. Didn't know anybody with an Intellivision.  

 

I'd already moved onto computers with my VIC 20 before the ColecoVision even came out. Likewise most of my friends had moved onto computers, and the consoles had become "toys" relegated to our younger siblings.

 

At PRGE 2017 Tim Lapetino hosted a panel I was on with Al, John, and Howard Scott Warshaw. I remember John commenting to Howard beforehand on the fond memories he had of playing his games (Yars, Raiders, & ET) - I didn't have those memories, though my brother did.

 

 

 

 

  • Like 3
Link to comment
Share on other sites

Great panel - thanks for sharing as I hadn't seen it yet!

 

I just released v5.8 of StellaDS and I wanted so badly to hit that full-speed 60 FPS on Space Rocks (it will actually run 60 fps easily when there aren't too many rocks floating about). I did everything I could but came on a frame short - ultimately nobody will notice this in gameplay but it bugs me... As a developer you very likely understand.

image.png.f5265d96964248a068445a1643e0bcc7.png

 

Stay Frosty 2 is also pretty much full speed now - though I had to optimize the music fetchers to use a clock approximation rather than being accurate. That's okay since my sound handler can't keep up with the fast fetching music anyway - the game is perfectly playable with in-game sounds but no background music. I default the difficulty switch to OFF which actually gains a few additional frames of performance (likely your code is doing less processing). So not perfect but perfectly playable and enjoyable.

 

That leaves Scramble (well... and Space Rocks TE which has... and I didn't count... about 37,121 rocks floating about!!). Playable at 50+ fps but just hammers my poor emulator :D

 

As an aside... I noticed that Space Rocks Encore (which, if I've got my facts right... is a version that will work on the Harmony Encore that has some... startup problems?) runs a few frames slower than the normal Space Rocks. 

Edited by llabnip
  • Like 2
Link to comment
Share on other sites

You're welcome!

 

Nice! Yeah, squeezing out every bit of performance is both frustrating and rewarding.

 

SF2's music routines do waveform addition to create new sounds, such as by merging a sine wave with a triangle wave, as well as manipulating the amplitude for ADSR.  Those routines don't run if the music is turned off.

 

This reply goes into what's up with the Encore version of Space Rocks, basically the original DPC+ driver's initialization routine don't work on an Encore, so the driver* is swapped out for the fixed version.

 

Batari goes into what the issue is here, as well as the 3 byte fix to the driver:

 

On 11/6/2014 at 2:44 AM, batari said:

To fix any errant DPC+ games, use a hex editor to change the bytes at offset 0x200 from 00 A0 85 to 01 A0 C5. Then they will load on Encore (or any other Harmony version) with no problem.

 

I don't know why changing those 3 bytes would cause it to run slower in StellaDS as it doesn't run DPC+'s initialization routine.

 

 

 

* first 3K of the ROM for DPC+ programs. first 2K for CDF and its variants (and BUS). Reducing the size of the driver freed up 1K of ROM and 1K of RAM for the game as the driver must be copied into RAM and run from there for performance reasons.  

 

One of the ways we did that was by the revising data fetchers - in DPC+ there are 2 types:

  • increment by 1
  • fractional increment 0.0 to 0.9999... (255/256, so not quite 1)

Fractional data fetchers were intended for playfield (returns the same value over a number of few scanlines). We did figure out how to use them as increment by 1 by setting the fractional increment to 0.9999.... then doing a priming read. It would then advance by 1 value for the next 255 scanlines, more than enough values for a game screen.

 

In BUS and CDF the all data fetchers are fractional, though the increment can now be set from 0.0 to 255.9999...  A 2.0 increment is really useful for the flicker blind kernels.

  • Like 2
Link to comment
Share on other sites

On 10/19/2022 at 11:44 AM, llabnip said:

That's super helpful Darrell!

 

The StellaDS baseline got "upgraded" several times... though not wholesale. I'd say that 80% of the code is 2.6-ish but I pulled in some fixes from later Stella releases as well as the SaveKey support, more advanced bank-switching schemes (pretty much anything up to 512K ROM and 32K RAM) and a few other improvements of my own devices.   But I bet you've hit the nail on the proverbial head and that gives me a massive head start on fixing it. I've done so many DIFFs of Stella versions in the last 2 years :) 

I appreciate the help - and especially the willingness to cover old ground that modern Stella has already fixed. I usually get the "just use Stella 6.7 as your baseline" but the reality is that my hobby is emulators for the venerable DS/DSi where the processor is the equivalent of a 386 SX from the mid 90s!

Look at the very last release in the 4.x series.  That one still used the old TIA core.  There are 'game-specific hacks' in TIA.cxx for some of the ROMs listed above.  I agree that going to 5.x or newer just won't work on this hardware.  Cycle-exact emulation has a very real price, needing probably a 500Mhz+ machine to work well.

  • Like 4
Link to comment
Share on other sites

On 10/20/2022 at 9:47 AM, SpiceWare said:

I plan to install the update this weekend when I setup your other emulators.

 

Sorry, didn't happen. Spent the weekend camped out on the couch drugged up on Dayquil and Nyquil. Still on Dayquil today, though feeling better enough that I'm working*.  I'm assuming it's the flu as covid test was negative.

 

 

* I work from home, so only take a sick day if I'm really bad off.

  • Like 1
Link to comment
Share on other sites

19 hours ago, SpiceWare said:

 

Sorry, didn't happen. Spent the weekend camped out on the couch drugged up on Dayquil and Nyquil. Still on Dayquil today, though feeling better enough that I'm working*.  I'm assuming it's the flu as covid test was negative.

 

 

* I work from home, so only take a sick day if I'm really bad off.

'TAKE ALL THE QUILS!' [place neurotically obsessed face here]

 

...Anyway what reversepinball said; your betatest is close to getting me to crave the most powerful DS hardware family release, whatever model 3DS that is... :)

  • Like 2
Link to comment
Share on other sites

Still wiped out, but have the latest version of StellaDS installed. Also figured out how to show what appears to be FPS in the top-left corner of lower display, though it seems finicky to turn on. Probably easier to trigger that with the stylus, though thats usually difficult to access as the snap-on handle block its storage slot.

 

image.thumb.jpeg.829f4edd0f06046c923a072fbe06900a.jpeg


 

When setting up my DS one of the things that was auto-created was a /roms/ directory with subdirectories of: a26, a52, a78, bios, col, cpc, dsiware, gb, gba, gen, gg, m5, nds, nes, ngp, sg, sms, snes, tg16, and ws.

 

Each subdirectory has an empty file "Place xxx ROMs here" where xxx was Atari 2600 and ColecoVision for the a26 and col directories.

 

I had to manually move to /roms/a26 each time I started StellaDS. I figured there must be a default, so searched the source and found /roms/a2600 so I renamed the directory and StellaDS now shows its contents at launch.

 

I setup ColecoDS with some ColecoVision games:

 

image.thumb.jpeg.59873d917399efad9150cee28711cacb.jpeg

 

 


and likewise had the same issue with having to move into the diectory. Searched the source and found /roms/coleco was the preferred directory.  I've renamed my subdirectory to match.

 

So a minor suggestion would be to update your pages to include a recommended ROMS directory for each emulator, such as in this section for ColecoDS:

 

Quote

To run requires a coleco.rom BIOS to be in the same directory as the emulator or else in /roms/bios or /data/bios

ROMs can be anywhere, though /roms/coleco is recommended

 

 

I also noticed ColEm in there - like Stella/2, I did a ColEm/2 port for OS/2 users back in the day.

 

  image.gif.83784420e5520400ce4ff9b4b0626efb.gif   image.gif.64a563af886b03b868946329394b7506.gif

 

 

Anyway that's enough for this weekend, will look into setting up your other emulators next weekend.

 

  • Like 3
Link to comment
Share on other sites

Nice! I didn’t realize the auto created directories and will add those to default startup locations. I really should just start the emulator in the last directory picked but I never think to do it as my system has the roms exactly where the emulators go first. And yes I had them in those folders first and built that as a default into the emulators as I worked on them!

 

Since I do a lot of profiling on StellaDS, if you press Select to pick a game you will get FPS and Full Speed enabled. Pressing and holding X and then pressing A to pick a game enables my debug output. 

  • Like 2
Link to comment
Share on other sites

Been staying in my office near the front door for trick-or-treaters. Only 3 groups so far, so I've had time to setup A7800DS.

 

Looks like you just added support /roms/a78 but the A7800DS.nds predates it by 2 days, so I renamed my directory to a7800.

 

Roboton works great with the 4 buttons as the 2nd joystick, I could even shoot diagonally with ease!

 

image.thumb.jpeg.92dce2c66df66a7b7a978b0e8b068c1e.jpeg

 

Bentley Bear's Crystal Quest by @PacManPlus

 

image.thumb.jpeg.c4741834b8558fcd68591664df892aec.jpeg

 

Pac Man Collection 40th Anniversary starts up OK, but freezes after you select your options and start a game. Filename is PMC_MX.A78 so I suspect it's using XM, which you don't support.

 

image.thumb.jpeg.3e4aaaf733158c3344033fdb8c742597.jpeg

 

And just for fun Cosmic Cruncher, a hack of Pac-Man

 

image.thumb.jpeg.4b4fb025a10fbd162bb4dc85d02bdc9c.jpeg

 

inspired by Commodore's Pac-Man knockoff for the VIC-20 that I still play to this day.

 

image.thumb.jpeg.711a4c390c94aa297f921df1c8e4d5dd.jpeg

 

  • Like 1
Link to comment
Share on other sites

You're a man on a mission, Spice!  Total 8-bit nerdvana.

 

PMC_XM.a78 and PMC_XM_S.A78 should work fine. Pac-Man Collection is one of my favs - and both the Trebor pro-pack version and the latest bug-fix that Bob put out recently should play flawlessly. I don't support the YM sound chip but the game will fall back to using the TIA (and sounding great!).

 

I can't think of why it would freeze... maybe it's expecting the high-score cart? do you have highscore.rom available?  Hmm... I'll look into it.

 

Edit: nope... doesn't seem to care if I have highscore.rom available. I just tried all 4 versions ... 2x PMC_XM.a78 and 2x PMC_XM_S.a78 from the most recent Trebor ProPack and Bob's last fixes released last week: 

 

And yes, last night I staged my new 4.0 version but didn't hit the release button (wanted to test a few more things with coffee this morning before releasing).  The new 4.0 does start the process of using the default Twilight Menu++ directories (it will look for /roms/a78 and then /roms/a7800).  The big fix for 4.0 is a switch to a new audio streaming library to eliminate sound "zingers" which would occasionally happen with the old sound core (something I already corrected with ColecoDS and Nintellivision some months back).

Edited by llabnip
Link to comment
Share on other sites

@PacManPlus There was a time when A7800DS required the version of PMC_XM.a78 that didn't check for XM but I dug into the XM detection code and figured out why ProSystem was "responding" to XM writes even though it wasn't supported. I fixed that some many revisions back (at least 6 months back). To my knowledge all versions of PMC_XM.a78 (with or without the XM check) should work. I just reached out to my two beta testers and both have reported playing (and enjoying!) Pac-Man-Collection with no issues.

  • Like 2
Link to comment
Share on other sites

2 hours ago, llabnip said:

both the Trebor pro-pack version and the latest bug-fix that Bob put out recently should play flawlessly.

 

do you have highscore.rom available?

 

1 hour ago, PacManPlus said:

Please give this one a shoe and let me know

 

Sorry, didn't mean to make you nervous!

 

I didn't remember where my 7800 ROMs were, so I did a search of .a78 on my drive. Couldn't find them*, but did find PMC_XM.A78 in a subdirectory of The 3rd annual Atari Homebrew Awards files.  File is dated Jan 16, 2021.

 

I do not have highscore.rom

 

Heading out for a funeral soon, so will look into this more this evening.

 

* just realized they're in OpenEMU's ROM directories in ~/Library/, which Macos likes to hide from you.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...