StellaDS Phoenix Edition

From GameBrew
(Redirected from StellaDS - PHOENIX EDITION)
StellaDS Phoenix Edition
Stelladsphoenix4.png
General
AuthorDave Bernazzani (wavemotion)
TypeConsole
Version7.2
LicenseMixed
Last Updated2024/01/01
Links
Download
Website
Source

StellaDS is an Atari 2600 console emulator for the DS/DSi, based on AlekMaul's StellaDS.

This is the Phoenix Edition with improvements of speed, compatibility and accuracy to the emulation on the DSi. It also added new features such as instruction manuals and high score support.

Features

  • High level of compatibility to make games playable. Most games you remember fondly run full speed on a DSi in native 133MHz mode.
  • Full console emulation including Reset, Select, Difficulty Switches, TV Type.
  • Wide range of controllers including joystick, paddles, driving controller, booster grip, keypad, Genesis 2-button and more.
  • Savekey Support with backing 32K EEPROM.
  • FA2 and Cherity supported with backing EEPROM support.
  • Most popular bankswitching is supported up to 128K/256K BF/EF/DF/SB and 512K 3E and 3F schemes with up to 32K of RAM.
  • DPC+ Arm-Assisted games supported.
  • CDF/CDFJ/CDFJ+ Arm-Assisted games supported.
  • High score support with up to 10 scores for each game.
  • Manuals for more than 100 of the common games included.
  • Keypad overlay for Star Raiders.
  • Frame Blending to help smooth out flicker.

Installation

DIDL patch the StellaDS.nds file depending on the flash card (if it does not have auto-patching).

Copy it into a directory of your flash/(micro)SD/MMC card.

Put the a26/bin files where you want on your flashcard. If you are using Twilight Menu++, you will need to need to rename the .bin to .a26 in order to use.

User guide

When the emulator starts, click on the cartridge slot to choose a file.

Use Up/Down to select a file, then use A to load it.

Game Autodetection

The Atari 2600 employs various bankswitching schemes, and StellaDS currently supports 36 different schemes (see the full list below). The emulator usually auto-detects the correct scheme, but if it fails to do so, you can manually select a new scheme in the configuration menu (gear icon). Remember to press START to save your configuration before reloading the game, as bank switching requires a game reload.

In the rare event that the detected bankswitching scheme causes the emulation to crash, you can attempt loading the game using the Y button (instead of A). This loads the game without starting it, allowing you to go in and adjust bank switching schemes and other settings (PAL vs NTSC, etc.).

[The rest of the information was not provided. If you have specific questions or if there's more you'd like to know, feel free to ask!]

Configuration

The gear icon on the main screen allows you to set a number of configuration parameters related specifically to the game you are running. In addition to the parameters shown, the difficulty switches (Left/Right A/B) are also saved on a per-game basis.

If you change any configuration settings, you really should re-load the game after saving out your configuration - some settings such as Bank Switching and NTSC vs PAL are only applied when the game is first loaded.

Here is a description of the configuration items you can adjust. Be sure to press the START button to save out your configuration after making changes:

  • Controller - Most games use the Left-Joystick with a Savekey in the right port, but you can change this.
  • Bankswitch - The system attempts to auto-detect the correct bankswitching scheme, but you can override it if needed.
  • Frame Blend - Normal is the fastest. Flicker free combines even/odd frames, effective at eliminating flicker (10% hit to emulation speed). Background/Black mode is slower, helpful for games showing background/black on one frame and sprites on the other.
  • TV Type - Choose between NTSC and PAL. Reload your game after saving this setting.
  • Palette - Three different palette types are supported: DS-optimized (default), mainline Stella palette, and Z26 palette. Set the global palette for loading up all future games.
  • Sound - Four different levels, including the new WAVE DIRECT for games with direct sound output. Set the global sound for loading up all future games.
  • ABXY Button - Default to FIRE button, but you can change this. Set to Screen Pan UP or Screen Pan DN for scrolling the screen in more complex games.
  • HBLANK Zero - Whether the system clears pixels on horizontal blanks. Turn off at your own risk (speeds up emulation).
  • VBLANK Zero - Whether the system clears pixels on vertical blanks. Turn off at your own risk (speeds up emulation).
  • Analog Sens - Default is 10 (1.0x speed). Adjust how the paddle emulation responds.
  • Start Scanline/Num Scanlines - Starting Scanline setting and the number of scanlines to display. Only adjust if you understand this.
  • Offset/Scale - Adjust screen scaling and offset positions for the game. Scaling down may result in some pixel lines not rendering.
  • ARM THUMB - Options for ARM-assisted games. 'Optimized' is recommended for most games.
  • BUS Mode - 'Accurate' for DSi and above, 'Optimized' for older DS hardware. Set to 'Accurate' if encountering glitches with a game.
  • RAM Clear - Normally set to 'Random,' but you can force the Atari VCS RAM to all zeros if needed.

These options are spread across two pages; use the L/R shoulder buttons to switch between pages. The second page contains global settings for sound quality and default color palette, affecting all future games loaded. Individual game settings can still be tweaked as desired.

Screen settings

If you're primarily playing classic games, the default screen settings should suffice. However, for newer homebrew games developed in the past decade, adjusting your screen settings may be necessary. Many of these games feature content that can't fit within the 192 pixel lines of a DS/DSi screen.

For such games, you have a few options:

  • Cut off the top or bottom of the screen.
  • Scale the screen to fit.
  • Adjust the Y offset to cut off a portion of the screen from the top or bottom.

Additionally, you can map one of the DS buttons to 'SCREEN PAN UP' or 'SCREEN PAN DOWN.' This allows you to momentarily pan the screen up or down, which is particularly useful for games like Champ Games offerings where the score display is normally off-screen during gameplay. With this feature, you can tap a button to briefly see it. Adjusting these settings ensures an optimal gaming experience, especially for newer and more complex homebrew games.

Backing files used by StellaDS

The /data directory on your SD card contains files generated by StellaDS, and you can manage them according to your preferences. Deleting a file will result in its clean recreation upon the next emulator boot.

Here are the key files in the /data directory:

  • StellaDS.DAT - This file stores per-game settings, saving configurations made using the START button on the Configuration screen. If you wish to reset all games to default settings, you can delete this file.
  • StellaDS.HI - File to store high-score on a per-game basis. Up to 10 high scores for each game. Pressing the golden chalice icon on the main screen allows you to access high scores.
  • StellaDS.EE - This is the SaveKey 32K EEPROM file for games that utilize a SaveKey. If you choose to remove it, StellaDS will generate a new clean and blank copy as needed.

Champ Games Support

StellaDS fully supports all current games from Champ Games, including Turbo Arcade and Elevator Agent. These titles showcase the Atari 2600's capabilities with an ARM co-processor for enhanced performance. To run these advanced arm-assisted games at their full potential, it's recommended to use a DSi or later model with TWiLight Menu++ or Unlaunch, unlocking the 2X CPU at 134MHz. The original DS or DSi/2DS/3DS running with an R4 cart will operate in DS compatibility mode at 67MHz, which may not provide optimal performance.

For the best experience, an XL/LL model with a larger screen is recommended due to its slower LCD fade, resulting in less flicker and a picture closer to an old TV.

Note that these games often utilize overscan, with extra information rendering off-screen. StellaDS focuses on the main gameplay portion, using screen pan UP/DN to shift additional information, such as scores or status, in and out of view. While most Champ Games run at or near full speed, Turbo Arcade may experience a slight dip in framerate during complex rendering scenes, and Elevator Agent may exhibit variable performance with occasional music output wavering. Testing the DEMO roms first is advisable to ensure satisfaction with the emulation quality.

Controls

D-Pad - Joystick

A/B/Y - Fire button

Select - Atari Select switch

Start - Atari Reset switch

X - Show FPS (Frames per Second)

L - Toggle Full Speed (no trottle to 60FPS)

R+D-Pad - Shift display offset in the D-PAD direction

L+D-Pad - Change Scaling of the Y-Screen (Up/Down scaling only)

L+R+A - Swap LCD top/bottom

Use Stylus on buttons for other actions on bottom screen.

Screenshots

stelladsphoenix2.png

stelladsphoenix3.png

Compatibility

For the older DS-LITE and DS-PHAT, many of the simple 8k, 4k and 2k games will play perfectly. More sophisticated bank-switching schemes really require the DSi for the best experience.

If you're a fan of classic emulators on the DS/DSi, a DSi XL (USA) or LL (Japan) version is strongly recommended. Or a 2DS/3DS if you can get homebrews to run on those. The reason is that the original DSi has a fast LCD fade and as such some of the games will be a little hard to see or appear to flicker due to the way the original Atari game is coded. For a real TV or a slow LCD fade, this looks much better.

StellaDS includes an option to reduce the flicker - in configuration you can turn on Blending (recommend try Half Blend Mode as it's the least CPU intensive). This comes at a performance pentaly - for many games, the DSi can handle that penalty. For the ARM-Assisted games (DPC+, CDF/CDFJ/CDFJ+) that penalty will be too great which is why the full gammut of Atari games will always render best on an XL/LL screen.

Known issues

Please refer to https://github.com/wavemotion-dave/StellaDS/blob/master/README.md#known-issues-

Changelog

V7.2 2024/01/01

  • Updated copyright as we cross into the new year!
  • Another partial frame of performance on CDFJ/+ games.
  • Cleanup this readme file to reflect latest changes in the emulator.

V7.1b 2023/12/25

  • Squeezed out one extra frame of performance on CDFJ/+ games.
  • New light frameskip applied to Draconian for a performance boost.
  • Minor fixes and tweaks to make all the latest homebrew games look and play their best.
  • Version 7.1b eeks out another partial frame on the hardest hitting ARM-assisted games.

V7.0 2023/12/10

  • Champ Games Edition! Major overhal to the CDFJ/+ driver to squeeze out ever bit of performance.
  • Fix for Genesis gamepad emulation (detection now works).
  • Other minor cleanups and tweaks as time permitted.

V6.9 2023/12/06

  • Improved the ARM Thumb driver and the CDFJ driver to squeeze out two more frames of performance.
  • Fixed PAN UP / PAN DOWN handling on the A-button and you can now pan even if another button is pressed (useful for Turbo Arcade).
  • Minor cleanups as time permitted.

V6.8 2023/07/01

  • Improved RSYNC so Extra Terrestrials (1984 by Skill Screen Games) works.
  • Improved keypad handling so Magicard and similar keypad/keyboard game work.
  • Added a few of the ultra-rare games discovered in the last decade to the internal database.
  • Updated internal database to ROMHUNTER v18 for the classic-era games.
  • Starpath Supercharger (AR) carts now clear RAM by default (prevent lock-ups).
  • Added Dual Keypad/Keyboards for the few game that need them (BASIC, Magicard mostly).

V6.7 2023/06/24

  • Fix for Sword of Surtr so it runs correctly.
  • Hold L+R shoulder buttons for ~1 second to take a snapshot of the screen (written to SD card)
  • DSi now defaults to the 'Accurate' BUS MODE for maximum compatibility.
  • Improved data bus handling for undriven pins in Tia::Peek() for improved compatibility.
  • A few more tweaks to a few more games to make them as accurate as possible.

V6.6b 2023/06/21

  • DSi now defaults to the 'Accurate' BUS MODE for maximum compatibility.
  • Improved data bus handling for undriven pins in Tia::Peek() for improved compatibility.
  • A few more tweaks to a few more games to make them as accurate as possible.

V6.6 2023/06/20

  • Fix for Meltdown prototype so it doesn't crash.
  • Fix for Pleiades to fix graphical glitches.
  • Fix for Atom Smasher prototype so it doesn't crash on start (wrong bank scheme detected).
  • Fix for E7 banking so it handles 8K, 12K and 16K roms.
  • Fix for Flash Gordon to eliminate graphical glitches.
  • Fix for Elf Adventure prototype so it runs.
  • Fix for Star Gunner so it doesn't glitch.
  • Fix for Warlords graphical glitches.
  • Fix for Worm War I graphical glitches.
  • Fix for A-Star not starting.
  • Fix for Hugo Hunt graphical glitches.
  • Improved random() generator for more robust RAM clear / handling on startup and added config to either randomize RAM or clear it at start.
  • Added new option to use the 'Compatible' BUS driver which will handles things like invalid reads and drives unused TIA bits (a few games rely on this - but it does slow down emulation slightly).

V6.5 2022/12/21

  • Polished release - a few more tweaks, a few more optimizations and everything is running as fast science allows on the DS/DSi.
  • Removed "ghost read" and "ghost writes" on the 6502 emulation for a bit more speed.
  • Use of gcc "likely/unlikely" in a few key spots to help the compiler optimize.

V6.4 2022/12/16

  • Reduced stack memory so we don't crash when first creating a Savekey EE file.
  • Improved 6502 handling to localize the PC for a bit of a performance boost.
  • Added the 3E+ banking scheme.
  • New global palette and sound options on the Configuration Menu page 2 (use L/R keys).
  • Other small improvements as time permitted.

V6.3 2022/12/11

  • Improved performance across the board. More games play at the right speed even on the older DS-Lite/Phat.
  • New QuadTari support - for now it's just Dual Joysticks + SaveKey which is useful for games like Robotwar.

V6.2 2022/12/05

  • New WAVE DIRECT sound handling for fast-fetching music. Draconian, Mappy, Stay Frosty 2, Stella's Stocking, Pitfall II and Quadrun have much improved sound.
  • New palette options to tweak the colors to your liking.
  • Memory re-org for a bit more speed but also to recover some valuable resources so more features can be added in the future.
  • Added a 2nd page (not yet populated) for possible future options. This requires a new configuration file format - your old one will be reset. Sorry!
  • Fixed CDFJ+ fetchers causing problems (including incorrect handling of SaveKey).
  • Other small improvements as time permitted.

V6.1 2022/12/01

  • CDFJ+ games are now supported up to 256K of ROM and 32K of RAM. Turbo Arcade is playable but isn't yet full speed.
  • More speedup in ARM Thumb processing.
  • New Screen Pan Up and Pan Down handling - this can be mapped to any DS button (XYAB) to help with games that use more than 192 pixel lines (really useful for CDFJ games from Champ Games).

V6.0 2022/11/27

  • CDF/CDFJ games are now supported (but not CDFJ+)
  • Big speedup in ARM Thumb processing to render all DPC+ games full-speed on the DSi or above.

V5.9 2022/11/21

  • Minor fixes for some games to render them more accurately including the new Chaotic Grill homebrew.
  • Improved ARM Thumbulator for another frame of performance.
  • Minor cleanups and optimizations across the board.

V5.8 2022/10/21

  • Fixed colors in Medieval Mayhem (and a few other games).
  • Fixed stars to show properly in Stay Frosty and Rabbit Transit.
  • Streamlined DPC+ so Space Rocks and Stay Frosty 2 are full speed.
  • Minor cleanups and optmizations across the board.

V5.7 2022/10/18

  • Fixed Sword of Surtr so it plays properly.
  • Added TWIN STICK controller so games like Rail Slider are playable!
  • More DPC+ optimizations... Space Rocks is almost full speed!

V5.6 2022/10/14

  • Massive speedup improvement for DPC+ games. Most play full speed on the DSi.
  • Fixed graphical glitches on Space Rocks homebrew.
  • Other cleanups and optimizations across the board to shine things up.

V5.5 2022/10/12

  • Added DPC+ with ARM Thumbulator to provide some preliminary support for ARM-assisted games.
  • Improved execution speed of the emulator and improved the frame blending algorithm.

V5.4 2022/10/07

  • Added DF bank switching scheme (missed when DFSC was added).
  • New core execution loop that gives us another 2 frames of performance.
  • Optimized F4 driver to make some of the 32K games playable on DS-Lite.
  • Cleanup across the board.

V5.3 2022/10/03

  • Added Chetiry (CTY) bank switching scheme with EEPROM support (but no music fetchers).
  • Improved memory handling across the board for another frame of performance.
  • Fixed SP+ so it runs properly again.
  • Improved driver for Midnight Magic and Realsports Tennis so both now run at 60FPS!

V5.2 2022/09/30

  • Fixed goof in F6, F4 and related F6SC and F4SC drivers!
  • Another frame of increased performance
  • More accurate AR cart handling for Supercharger games
  • V5.2a: 3E and related fix

V5.1 2022/09/29

  • Improved all bankswitching for more speed and greater copatibility.
  • New F6 driver for DS-LITE to support 16K games - many at full speed!
  • Cleanups across the board.

V5.0 2022/09/27

  • Added new bankswitching scheme: X07 (Stella's Stocking).
  • Improved 4K/2K driver to squeese out a couple more frames of performance.
  • New special F8 driver to support more 8K games on the DS-Lite.
  • Lots of cleanup across the board in the database to make more games playable.
  • Updated to 5.0c with another frame of improvement for 4K and 8K games!

V4.9 2022/09/18

  • Added new bankswitching schemes: TVBOY, UASW and 0840 (Econobanking).
  • Fixed UA bankswitching scheme to allow more games to run.

V4.8 2022/09/11

  • Fixed Super Bank (SB) scheme.

V4.7 2022/03/24

  • Added per-game configuration settings.
  • Fixed 3E/3F and UA bankswitching schemes.

V4.6 2022/03/20

  • Added SaveKey support - standard games will have a virtual SaveKey in the right controller jack and will be auto-backed to a 32K /data/StellaDS.EE file.
  • Added EF, EFSC, DFSC and SB (SuperBank) support for games as large as 256K!

V4.5 2021/11/05

  • New sound output core - no more zingers.

V4.4 2021/08/22

  • Minor cleanups across the board. Improved AR cart speed by ~1FPS.
  • Added horizontal stretch - use the Left Shoulder + L/R D-Pad.
  • The Y button is now auto-fire.

V4.3 2021/08/09

  • Massive overhaul of the non-bank-switched engine so now the older DS-Lite and DS-Phat will run many games at full speed.

V4.2 2021/08/02

  • New overlay graphic for Star Raiders (plus manual).
  • A half dozen odd games got their controllers straightened out.
  • About 100 graphical tweaks for various games to make them look as good as possible.

V4.1 2021/07/28

  • Found another 1-2% speed up in TIA rendering.
  • Bumper Bash now plays correctly (you can use the shoulder buttons too).
  • Kool-Aid-Man now plays correctly.
  • Meltdown graphics improvements (but not fixed... but playable).
  • Alpha Beam, Big Bird and Cookie Monster games all work with joystick controls now.

V4.0 2021/07/24

  • Found another 3-5% speed up in TIA rendering! Official Frogger now at 60FPS.
  • Press and hold L+R+A to swap LCD screens.
  • Other minor cleanups and polish.

Release notes.

Credits

Thanks to:

  • Bradford W. Mott for Stella.
  • Alekmaul for porting Stella to the DS.
  • Robz for Twilight-Menu++ which rekindled emulation on the classic handheld.

External links

Advertising: