Stella zyskała nowe miejsce, w którym oprócz kodu pojawiają się nowe wersje testowe - znajdziemy ją na GitHubie. Już niedługo pełna wersja.
Ostatnia wersja Stelli - wieloplatformowego emulatora jednej z najważniejszych konsol lat osiemdziesiątych - Atari 2600 (Video Console System) to 4.7.3.
Stella 5.0.0-pre9 @sa666666 29/05/17
I guess it's not the last release after all. I should have known better than to release a new feature and then say that there wouldn't be any other pre-releases:
- Made range for phosphor blending from 0 - 100
- Default phosphor blend mode is 30
- Added Alt-i and Alt-o keyboard shortcuts to dynamically decrease/increase phosphor blend level
Stella 5.0.0-pre8 @sa666666 29/05/17
This last pre-release is to test new functionality, and to make sure we've taken care of all other bugs. In particular, the new phosphor mode is quite different from the old implementation, and should be properly tested. Feedback on this is welcome. So this is the final release before 5.0; one last chance to report some bugs:
- Updates to the latest version of the BUS/CDF schemes
- Cleanup of entire UI wrt colons; they have been removed in most places
- Fixes for AArch64 and ppc64le architectures
- Dialog boxes now open in 'small-window' modes, instead of simply failing to open and looking like the program has crashed
- Moved to gcc5, Visual Studio 2017, and Xcode 8 for Linux, Windows, Mac, respectively
- Fixed major bug in ROM Audit mode
- Reimplemented TV jitter effect and PAL colour-loss effect
- Some performance tuning in the TIA DelayQueue implementation
- WSYNC is now properly implemented
- Added scanline count for last frame to debugger, and fixed TIA display showing 2 frames in the past (instead of 1)
- Implemented new phosphor mode by Thomas Jentzsch; currently this breaks phosphor mode with Blargg filtering (this will be fixed before the final release)
→ NOWSZY [VCS] Stella 6.1.0 RC1
Stella 6.0.2 to 6.1: (MM dd, 2020)
- IMPORTANT NOTES:
- Because of major event remapping changes, all remappings will be reset to defaults; if you had custom mappings, they will need to be re-entered again.
- Because of major internal changes, all state files are now invalid.
- Support for Windows XP has been discontinued as of this version. WinXP is now completely out of support from Microsoft, so we are doing the same.
- Major improvements to display mode handling in NTSC vs. PAL. The window is now the same size for both modes, and scaling is applied to simulate the height of scanlines (in PAL mode, there are more scanlines and hence each is narrower). This more properly emulates how the display would look on a real TV.
- Removed the 'Display_Height' property, changing it to 'Display_VCenter'. This new feature, along with the display mode changes above, almost completely eliminate having to manually tweak each ROM so that it will not have part of the image cut off.
- Removed the 'Display_YStart' property and all automatic detection of ystart. It caused problems on some ROMs, and was not the way a real console would work anyway. Related to this, ROMs now load much faster.
- Major improvements to event remapping:
- Allow mapping of modifier-key and button-direction combinations
- Physical controllers can map the same action to different events on different virtual controllers
- Many more events can be remapped
- Events can be filtered by type in UI
- Paths have been simplified:
- The following file/directory locations are no longer configurable (statedir, nvramdir, cheatfile, palettefile, propsfile); they are now all under the base directory
- Removed cfgdir; Distella config files are now placed with their associated ROMs
- Added 'basedir' commandline argument, which allows to change the base directory where almost all config-related items are stored; related to this, discontinued the 'basedir.txt' functionality
- Added 'baseinappdir' commandline argument, which sets the base directory to the application folder (Windows only for now); this replaces the functionality of 'basedir.txt'
- Added automatic controller detection.
- Controllers can be changed during emulation (no ROM reload required anymore).
- Added support for Light Gun controller.
- Added limited KidVid support (8, 9 and 0 start the games).
- Removed superfluous controller option 'PADDLES_IDIR'.
- Added configurable paddle dejittering.
- Key-repeat mode improved; entering Time Machine by holding down a key combo continues to send events (previously, you had to release and then press the combo again).
- Certain buttons in the UI can now be activated repeatedly by holding down the mouse button (Time Machine, debugger step/trace/frame advance, etc.)
- Added option to configure mouse double click speed.
- Added option to configure controller input repeat speed.
- Added high quality scaling.
- Made scanlines better aligned to scaling.
- Added 'HiDPI' mode, which scales the UI by 2x when enabled. This is meant for 4k and above monitors, but can actually be used at any lower resolution that is large enough to display the scaled UI.
- Fixed TIA 'Center' option, Stella now remembers the last windowed position.
- Added fractional (25% increments) TIA zooms.
- Removed 'tia.fsfill' option, replacing it with 'tia.fs_stretch'. This new option allows to preserve TIA image aspect ratio in fullscreen mode, or stretch to fill the entire screen.
- Added configurable 'Overscan' option for fullscreen modes.
- Fullscreen TIA modes no longer assume that desktop taskbars, etc are present, hence they are scaled to the proper fullscreen size.
- Added option to display dialogs in screen corners.
- Added hotkey for sound on/off.
- Enhanced 'Command' menu to display current state and more commands.
- Added option to save and load all TimeMachine states at once.
- Added option to automatically load/save states when entering/exiting emulation.
- Added option to change pitch of Pitfall II music.
- ROM Info Launcher can now display multiple lines per property and bank switching type.
- In file listings, you can now select directories by holding 'Shift' on the first character entered. Entering characters in lowercase still selects files, as before.
- Fixed bug when starting ROMs via MacOS finder.
- Added various developer options for oddball TIAs:
- stuffed player, missiles and ball move
- delayed playfield bits and color
- delayed players and ball VDEL swap
- Disabled some developer options for 'Player settings'.
- Writes to RAM read ports are ignored now.
- Added Developer setting, which breaks on writes to read ports.
- Improved breakpoints to now consider the banks.
- Improved debugger's TIA display and zoom windows.
- Improved hotkeys, now many emulation keys work in debugger too.
- Fixed display of negative values in debugger; sometimes they were shown as positive.
- Reworked ROM properties database, making it load faster in certain cases.
- Updated internal ROM properties database to ROM-Hunter version 16 (thanks go to RomHunter for his tireless research in this area). Related to this, updated the snapshot collection.
- Fixed 'Dancing Plate (Unknown) (PAL)' to use joystick.
- Fixed cheatcode handling in 2K and 4K ROMs.
- Fixed bug where ROMs smaller than 64 bytes were not recognized.
- Fixed bug where frying one ROM was continued with the next ROM.
- Fixed not working 7800 pause key.
- Enhanced UA bankswitching to support certain Brazilian carts.
- Fixed WD bankswitching.
- Added FC bankswitching for Amiga's Power Play Arcade Video Game Album.
- Added auto-detection of display format based on filename.
- Auto-detection of bankswitch scheme by file extension now includes more human-readable formats (not restricted to DOS 3-char length). See the documentation for the new names.
- Fixed bug in DPC+ scheme; 'fast fetch mode' was enabled at startup, when it should be disabled by default.
- Added proper Retron77 port.
- Added proper libretro port, and fixed display for OpenGLES renderers.
- PNG/ZIP image support is now conditionally compiled into Stella. All major ports (Linux/macOS/Windows) have it enabled by default.
- SDL/GUI support is now conditionally compiled into Stella. All major ports (Linux/macOS/Windows) have it enabled by default. This is currently needed by the libretro port.
- Updated included PNG library to latest stable version.
→ NOWSZY [VCS] Stella 6.0.0 beta I
Stella 6.0.0-pre1 @sa666666 07/08/18
Stella 6.0 is ready for its first beta test. That's right, we're bumping the major version number up one notch. That should give you an idea of how much has changed with the code. The changelog is pretty huge, but for now I will only mention the most important features that require testing. In no particular order, they are:
- Cycle-exact audio core based on work by Chris Brenner (crispy here on AtariAge). This is based on code directly from crispy's FPGA project, converted to C and eventually massaged into C++ by myself and DirtyHairy. Much more accurate sound emulation, in particular E.T. sounds correct for the first time in Stella's history. Ms. Pac-man interference patterns from mixing audio channels is also present.
- Sound resampling. The old core output at 31400Hz (native resolution for the 2600). However, many systems then had to convert it to either 44.1 or 48KHz, with a resulting 'beating' effect (imperfections/popping/clicking in the output). The new core does resampling by default, allowing to output in 44.1, 48, or 96KHz, with simple (fast, less accurate) or Lanczos-based (slower, more accurate) resamplers. Several variations in settings are possible.
- Improved timing. The TIA emulation and video output have been decoupled, and done in separate threads. This allows the emulation to more accurately run at the correct speed while not being affected by variations in video output. PAL games that ran too fast (or slow) should now work correctly.
- Minimized CPU usage in the UI (mostly the ROM launcher and debugger). CPU usage drops to nearly nothing in the UI when nothing is changing; in old versions, it could use up to an entire core.
- Stella gets a new coat of paint. Much improved UI, with several different themes (standard, light, classic) in a more 'flat', modern looking form. Also many nice flourishes here and there, such as tickmarks, better highlighting, much better text descriptions of items, etc. Also rearranged items slightly, moving them to more appropriate places.
- New PAL palette. Should be much more like the real thing, since it was developed and tweaked by an actual PAL user (I personally don't have a PAL system nor the ability to run one).
There are many more items, but these are the ones that need the most testing. In particular, please test the following:
- The accuracy of the new sound core. If you know of a 'trouble' ROM that is different in emulation compared to the real thing, then feedback on this is most appreciated.
- Play around with all combinations of the stuff in the Audio Dialog (resampling mode, headroom, buffer size, etc) and report any issues.
- As with the sound core testing, test any trouble ROMs that run out of spec (ie, not close to either 60Hz or 50Hz) and if possible, compare to the real console. This will tell us if the new timing code is working correctly.
- Play with the UI extensively. Basically open/use/close all dialogs in all parts of the app, making sure that (a) the options are actually shown, and (b) that you don't get a blank screen/missing/not updated UI items.
- For PAL users, please compare the PAL palette with your actual console, to see that it is more accurate in this release.
→ NOWSZY [VCS] Stella 5.0.0 prerelease X
Stella 5.0.0-pre10 @sa666666 06/07/17
This last release took a little longer than expected, but quite a few changes happened in the meantime:
- Major improvements to the Xcode project file, and fixes to ROMs launching from Finder in version 10.9
- Debugger lst and sym files now follow ROM filename, not properties file name
- Fixes to ystart autodetection (the frame no longer jumps when finding the starting scanline)
- Fixes to RSYNC behaviour in debugger
- TV jittering won't take effect for differences of less than 3 scanlines, and for more than 3 frames (fixes Tapper, Yahtzee and several other ROMs)
- Fixed scanline counter and issues with its position after CPU RDY has been set
- TIA debug colours can now be set by the user (for now, the colours are pre-selected, and you can only change which object uses which colour; this may be expanded on in future releases)
- System labels (aka, register names) can now be upper or lowercase in the debugger command prompt
- Blargg TV effects and phosphor mode can now be used at the same time
- Several performance optimizations in the Blargg/phosphor code, leading to measurable speedups.
→ [VCS] Stella 5.0.0 pre VII
Stella 5.0.0-pre7 @sa666666 04/05/17
Debugger and UI cleanup.
While the TIA work is basically complete, we're now working on porting all missing features from Stella 4.x and/or improving the code. For this pre-release we concentrate on debugger stuff:
- The TIA core has improved optimizations and caching, allowing for up to 100% performance improvements; that means that all ROMs should be tested again, to make sure no regressions were introduced
- TIA tab in the debugger now works correctly for all widgets which existed in 4.x
- Non-editable UI items in the debugger are now shown with a different colour
- The debugger 'cls' no longer erases history
- Added DelayQueueWidget to TIA tab
- Debugger trap/read/write now work like the 'm' versions from Stella 4.x
- Added 'palette' and 'debugcolors' prompt commands
- Fixes for compiling with gcc 7+, Visual Studio 2017 and OSX Sierra
- Updated BUS and CDF bankswitch schemes
- Added ability to see contents of 'old' player/missile/ball registers
- Added 'crossed out' graphics to certain debugger UI objects, to clearly show they're not currently active
- Fixed long-standing bug in DPC+ 3-voice music output
- Added 'fixed debug colours' info to the TIA tab, including ability to toggle it
- Improved caching in TIA core with considerable performance improvements (depending on how the game drives the TIA)
→ [VCS] Stella 5.0.0 pre VI
Stella 5.0.0-pre6 @sa666666 27/03/17
As of this release, the TIA is regression-free compared to Stella 4.x. So that means a final release is probably coming soon. Updates for this release include:
- Improved Ystart detection, taking care of final corner cases
- Fixed long-standing bug that caused a crash in Windows XP
- Further improvements to NUSIZ handling during hblank
- Many improvements to the RIOT timer emulation; this is now almost complete, and is more accurate than any other tested emulator (fixes lockups in Acid Drop, Panda Chase, Ski Hunt, Zoo Fun, etc)
- Fix rendering of bottom line in Canyon Bomber
- Reduced CPU usage in ROM launcher mode
- Improved autodetection of Superchip ROMs (Dig Dug is now properly autodetected)
- Cosmic Ark starfield effect now matches output from most common consoles
- Add ARM Timer 1 support, and BUS/CDF bankswitching schemes
- Improvements to RESMPx handling (fixes Ice Hockey, which was the last TIA regression from 4.x)
- State loading/saving is now working again
- Debugger rewind is working again
→ [VCS] Stella 5.0.0 pre V
Stella 5.0.0-pre5 @sa666666 04/03/17
Work continues on parity with Stella 4.x, and also fixing new bugs and making improvements:
- Some changes to RIOT timer handling; this breaks at least Acid Drop and Panda Chase, but we want to know what others are broken
- PNG and zlib libs are the latest available, and now must be paired together when compiling into the app (fixes issues in OSX)
- Updated ystart for Coke Zero demo and Swoops, as well as removed many ystart properties from the internal database (auto-detection is used instead)
- Fixed TIA bug in Midnight Magic
- RESMx is now much more accuratge
- Further improvements to writes to NUSIZx during draw
- Tracing by scanline in the debugger now works properly, and displays a greyed-out image when appropriate
- Minor RSYNC fixes
- Introduced new trakball classes and names, and reduced the resolution of the CX22 Trakball by half
- Fixed Maze Craze ystart auto-detection
- Init SP to correct value based on M6502 research by third parties
- Updated ROM properties to RomHunter v12
Stella 5.0.0-pre4 @DirtyHairy 15 Jan
- Starting with this release, emulation quality should be as good or better as the old core in all situations.
The following changes are included:
- RESBL during hblank now behaves correctly -> fixes Keystone Kapers
- Several consecutive write cycles to WSYNC now behave similar to the old core (which is still not fully correct)
- Tweaked effective description of width modulation effects in startfield effect -> fixes Spike's Peak
- Fix RESMPx for 32 pixel players -> fixes Snoopy and the red baron
- Adjustments to RESMx and NUSIZx during draw counter decode to better match real hardware
- While autodetection of frame start should now work in all cases, ystart (together with frame height) are now supported and can be used to override autodetect
- Reliability of TV mode autodetect is improved, manually overriding the detected mode is now supported
- Timing for large frames, invalid or missing sync is improved. Among other things, thigs fixes PCM (speech) in Quadrun and the hectobyte demo
- YStart values in the ROM database have been removed or adjusted to match the new core
- RSYNC is now implemented and matches real hardware more closely than the old core
→ [VCS] Stella 5.0.0 pre III
Stella 5.0.0 Pre 3
This release contains a number of bugfixes
- CompuMate PAL ROM now displays in correct mode
- RESPM is fixed for 8 pixel players -> Frostbite displays correctly
- Fix spurios dispatch after RESPx for wide players -> Fixes glitch in Missile Command
- Frame rate stabilization
- Side effects of NUSIZ during decode are modelled -> Meltdown seems correct now
- Emulate final reset of more movement required counter -> Fixes glitch in Masters of the Universe
- Delay ENABL by one cycle -> fixes Super Challenge Football
- Fix INPT5
- Fix positioning regressions introduced between pre1 and pre2
- "Mega Bitmap Demo" now displays correctly; this is the first time that this ROM has ever worked in any emulator
Stella 5.0.0 Pre 2
In addition to work towards reenabling the missing Stella features, this release contains a number of bugfixes. Also, starting from this release, the old core is gone. In particular, the following items have changed or improved compared to 5.0.0-pre1
:
- RESMP matches real hardware fo 16 and 32 pixel players
- Starfield includes an effective description of modulation effects seen on real hardware (players not included for now)
- Frame and TV mode detection are improved, fixes multiple glitched ROMs
- Exception in Yar's revenge is fixed
- Keyboard controllers et. al. now work
- Delay for REFP[01] --- fixes Strawberry Shortcake
- Sprite positioning during extenden hblank has been adjusted. This fixes glitches in numerous games. (WARNING potential regressions ahead)
Stella 5.0.0 Pre 1
- Several Stella features like PAL color loss are currently not implemented in the 6502.ts core
- State saving is broken; don't try it, otherwise the emulation will lock up
- The debugger is functional for both cores, except for the TIA stuff
- The keyboard controller is currently broken with the 6502.ts core, as are other ROMS that use registers related to paddles (CompuMate, etc)
- The 6502.ts core currently exhibits minor horizontal positioning glitches in some ROMs
→ [VCS] DevStella 4.0 SVN2924
3.9.3 to 4.0: (xxxx xx, 2014)
- Added preliminary support for 'DASH' bankswitching scheme by A. Davie.
- Added 'savesnap' debugger prompt command, and also associated context menu item to the debugger TIA output area. This saves the current TIA image to a PNG file.
- Added 'hidecursor' commandline option, which allows to completely disable showing the mouse cursor (useful on systems that don't have a mouse).
- Removed 'uipalette' option, as the original palette is no longet supported.
- Updated included PNG library to latest stable version.
DevStella 4.0[SVN 2924]
Author: stephena | Date: 14 czerwca 2014 00:43:54
- Updated VS project file for recent patch from SpiceWare, and fixed some minor compile errors for VS 2013.
DevStella 4.0[SVN 2923]
Author: stephena | Date: 13 czerwca 2014 21:53:44
- Cleaned up the Rect class, which is something I've been meaning to do
- for a long time. Changed to unsigned int everywhere, and removed
- functions that I will never use (the class originally came from
- ScummVM).
DevStella 4.0[SVN 2922]
Author: stephena | Date: 13 czerwca 2014 21:34:35
- Made StellaMod an actual enum, rather than simply typedef'ing
- to SDL mod.
- Added a hack/fix for Alt-key combos being printed in the debugger
- prompt (ie, when stepping though a frame with Alt-f, the 'f' character
- was shown in the prompt). This will be fixed when PromptWidget
- becomes an EditableWidget (not for the 4.0 release).
DevStella 4.0[SVN 2921]
Author: stephena | Date: 13 czerwca 2014 18:28:28
- Finally added a large patch from SpiceWare which adds an extended
- cart RAM tab to the debugger. This is tailored to each respective
- cart bankswitch type, allowing much more information to be shown than
- you'd see in the normal RAM area.
DevStella 4.0[SVN 2920]
Author: stephena | Date: 13 czerwca 2014 16:49:01
- Fixed bug in mouse scrolling due to differences in handle mouse
- scroll events from SDL1 to SDL2.
- Bumped version #. It looks like the current code is now bug-fixed
- and equivalent to release 3.9.3. Now on to committing some backlogged
- patches and adding new functionality.
DevStella 4.0[SVN 2919]
Author: stephena | Date: 13 czerwca 2014 15:35:41
- OK, I originally intended to fix FrameBuffer::scanline for SDL2,
- which I though a just a one or two-liner equivalent to glReadPixels.
- Turns out that SDL2 doesn't return 24-bit RGB data (only 16 or 32-bit),
- so the PNGLibrary had to massage the data. In the process, converted
- the PNG saving functions to actually use PNG library functions, which
- greatly simplified converting packing from 32 -> 24-bit. Historically,
- the PNG save functions were written before libpng was a requirement,
- so they were hand-rolled. Once libpng was integrated into the codebase,
- it didn't make much sense to not use it anymore.
- So an expected two-line code fix became this commit ...
DevStella 4.0[SVN 2918]
Author: stephena | Date: 12 czerwca 2014 18:25:32
- Updated PNG library to latest version.
DevStella 4.0[SVN 2917]
Author: stephena | Date: 11 czerwca 2014 18:11:10
- Fixed typo in default assignment of key mapping for keypad 0.
- It looks like this bug has been present for a long time.
DevStella 4.0[SVN 2916]
Author: stephena | Date: 11 czerwca 2014 18:06:17
- Some more removal of SDL-specific code from the emulation core.
- The EventHandler now queries EventHandlerSDL2 for names of keys
- instead of keeping a list itself.
DevStella 4.0[SVN 2915]
Author: stephena | Date: 10 czerwca 2014 23:53:02
- Text input is now working in the debugger prompt (a rewrite of the PromptWidget class to use EditableWidget will probably happen after release 4.0).
- All text input now seems to be working as in Stella 3.9.3.
DevStella 4.0[SVN 2914]
Author: stephena | Date: 10 czerwca 2014 23:04:36
- Text input is now working in all classes inheriting from EditableWidget (specifically, DataGridWidget and RomListWidget are now working). More work is required for PromptWidget, since it was created before
- EditableWidget existed, and hence duplicates a lot of that classes code.
DevStella 4.0[SVN 2913]
Author: stephena | Date: 10 czerwca 2014 18:43:35
- First pass at converting text input to the new SDL2 scheme. Basically, the old way mixed both single-key events and Unicode input into one method, and the new way separates them (using a new handleText method). Currently it seems to be working fine in the ROM launcher (yay!, Ican now quickly jump to ROMs by name again). There are still some issues in the debugger, which I'll work on next.
→ [VCS] DevStella 4.0 SVN2912
3.9.3 to 4.0: (xxxx xx, 2014)
- Added preliminary support for 'DASH' bankswitching scheme by A. Davie.
- Added 'savesnap' debugger prompt command, and also associated context menu item to the debugger TIA output area. This saves the current TIA image to a PNG file.
- Added 'hidecursor' commandline option, which allows to completely disable showing the mouse cursor (useful on systems that don't have a mouse).
- Removed 'uipalette' option, as the original palette is no longet supported.
- Updated included PNG library to latest stable version.
DevStella 4.0[SVN 2912]
Author: stephena | Date: 9 czerwca 2014 18:35:19
- Fixed 'magic number' issues when creating a System for the Console.
- Technically, the magic numbers are still being used, but now they're
- no longer exposed outside the System class by default.
DevStella 4.0[SVN 2911]
Author: adavie | Date: 7 czerwca 2014 01:29:00
- Bankswitching for ROM banks now working OK.
DevStella 4.0[SVN 2910]
Author: adavie | Date: 6 czerwca 2014 16:52:10
- first "working" DASH code
- resolved "access" initialisaation. Bizarre stuff and a bit of handwaving magic, but at least it runs the test ROM as a "DASH" version now.
DevStella 4.0[SVN 2909]
Author: stephena | Date: 4 czerwca 2014 19:24:24
- Updated VS project file for new DASH bankswitch scheme.
DevStella 4.0[SVN 2908]
Author: stephena | Date: 4 czerwca 2014 18:01:45
- Fixed grabmouse and show cursor to match Stella 3.9.3 functionality.
- Added 'hidecursor' commandline option, to always disable showing the
- mouse cursor (useful for fullscreen-only frontends).
DevStella 4.0[SVN 2907]
Author: adavie | Date: 4 czerwca 2014 17:29:51
- fixed shift for ROM bank size
DevStella 4.0[SVN 2906]
Author: adavie | Date: 4 czerwca 2014 16:29:33
- rewrite 3E/3F functionality and optimal usage of ROM when RAM blocks overwrite.
DevStella 4.0[SVN 2905]
Author: stephena | Date: 4 czerwca 2014 14:17:23
- Forgot to increase version # in last commit.
DevStella 4.0[SVN 2904]
Author: stephena | Date: 4 czerwca 2014 14:15:54
- Finally have fullscreen/windowed mode switching working.
DevStella 4.0[SVN 2903]
Author: adavie | Date: 3 czerwca 2014 23:21:11
- fixed a minor bank usage init inconsistency
DevStella 4.0[SVN 2902]
Author: adavie | Date: 3 czerwca 2014 23:17:54
- Adjusted bank() and bankCount() functions according to advice from SA.
- removed 'myCurrentBank' -- this has no meaning in this scheme.
- Adjusted load() to switch in each bank as it is loaded
- removed comment/questions to SA and replaced per advice.
- added a few TODO comments.
- reformatted some of the comments back, as per discussion
DevStella 4.0[SVN 2901]
Author: adavie | Date: 3 czerwca 2014 16:11:01
- Must remember to build before commits. Sorry.
- Fixed erroneous constant duplicate
DevStella 4.0[SVN 2900]
Author: adavie | Date: 3 czerwca 2014 15:53:49
- autoformatted. still stabilising to stella standard.
- Tabs removed, replaced with 2-char spacing.
- constants for bit masking added
- corrected the patch code for the bit-allocations for RAM/ROM banks switch
DevStella 4.0[SVN 2899]
Author: adavie | Date: 3 czerwca 2014 15:04:35
- modified poke to handle the new bank encoding (a single byte, with the RAM/ROM bit encoded).
DevStella 4.0[SVN 2898]
Author: adavie | Date: 3 czerwca 2014 14:06:12
- Comment fixes, and modifcation to a single hotspot for banswitching.
DevStella 4.0[SVN 2897]
Author: adavie | Date: 3 czerwca 2014 14:05:00
- Modified for a single hotspot, as the bank switching is encoded in the value written to the bank address anyway.
DevStella 4.0[SVN 2896]
Author: stephena | Date: 3 czerwca 2014 13:39:45
- Changed enum back to static const, as per the authors original intent.
DevStella 4.0[SVN 2895]
Author: stephena | Date: 2 czerwca 2014 22:41:19
- Added preliminary support for DASH bankswitching scheme by A. Davie.
- This hasn't been tested yet, since no ROMs currently exist.
DevStella 4.0[SVN 2894]
Author: stephena | Date: 2 czerwca 2014 16:34:12
- Aspect ratio correction is now properly applied to the TIA in windowed and (simulated) fullscreen mode.
- Fullscreen mode is now simulated in that it creates a window that matcheswhat would appear in fullscreen. The next thing to do is actually have the backend create this fullscreen mode correctly.
- Changed 'gl_fsscale' to 'tia.fsfill' to more properly indicate what the option does.
DevStella 4.0[SVN 2892]
Author: stephena | Date: 15 maja 2014 00:29:53
- Fixed missing initialization of FBSurface attributes.
DevStella 4.0[SVN 2891]
Author: stephena | Date: 15 maja 2014 00:04:59
- TIA rendering and Blargg/scanline effects are now working again.
DevStella 4.0[SVN 2890]
Author: stephena | Date: 14 maja 2014 01:16:54
- Updated VS project files for recent class additions.
DevStella 4.0[SVN 2889]
Author: stephena | Date: 13 maja 2014 01:34:25
- Some pretty huge changes right across the board.
- Changed pointers to references in c'tor calls, making things a little safer. Removed FBSurfaceTIA, since it was tied too closely to SDL itself. Added a class called TIASurface that is functionally very similar, but is more generic and accessible by the FrameBuffer directly. Eventually, this class will take responsibility for all things related to rendering the TIA image (Blargg TV effects, phosphor mode, etc).
- TIA rendering is currently borked; fixes will follow ...
DevStella 4.0[SVN 2888]
Author: stephena | Date: 9 maja 2014 19:44:04
- Fixed loading of PNG images in the ROMInfoWidget.
- Added fallback to FBSurface::drawSurface() in case certain ports don't want to implement it natively.
DevStella 4.0[SVN 2887]
Author: stephena | Date: 7 maja 2014 22:21:07
- When obtaining FBSurface bounding rects, use references instead of constantly creating new instances of GUI::Rect.
DevStella 4.0[SVN 2886]
Author: stephena | Date: 7 maja 2014 22:02:47
- Fixed framebuffer overlay display; the messages weren't being scaled correctly.
DevStella 4.0[SVN 2885]
Author: stephena | Date: 7 maja 2014 13:15:00
- Removed some obsolete references to OpenGL.
DevStella 4.0[SVN 2884]
Author: stephena | Date: 4 maja 2014 22:21:16
- Move the scaling, streaming and blending options directly into FBSurfaceSDL2, making this class more robust, and enabling it to be used for either UI surfaces or TIA surfaces.
DevStella 4.0[SVN 2883]
Author: stephena | Date: 4 maja 2014 18:59:11
- Changed FBSurface API to access/modify source and destination rendering rectangles. Now that the underlying rendering is hardware accelerated, this API more closely matches what is actually occurring. As well, it makes things easier comprehend: 'src' rect is the actual surface data, and 'dst' rect is its final output onscreen (scaling, etc being applied).
DevStella 4.0[SVN 2882]
Author: stephena | Date: 3 maja 2014 19:48:25
- Fixed some minor compile issues, and updated UNIX build files to actually use SDL2.
DevStella 4.0[SVN 2881]
Author: stephena | Date: 2 maja 2014 17:58:57
- Some API comment fixes, and renamed FBSurface::update() to render(),
- to more clearly indicate its intent. It looks like FBSurface::drawSurface() is essentially the same thing, and will probably be removed.
- Fixed header issue in OSX code, that wasn't detected until moving to Xcode 5.
DevStella 4.0[SVN 2880]
Author: stephena | Date: 2 maja 2014 15:17:24
- Yet more upheaval of the FrameBuffer/surface code. Moved most of the functionality of FBSurfaceUI into FBSurface directly, since there was absolutely no need of the SDL-specific code to know about underlying FrameBuffer-specific stuff. This makes a clear separation between SDL and the core code, making poring easier in the future. As a result, renamed FBSurfaceUI as FBSurfaceSDL2.
- Eventually, FBSurfaceTIA will disappear completely, being integrated into FBSurface and FBSurfaceSDL2. Again, the logic for drawing the TIA and using Blargg, etc has absolutely no place in SDL-specific areas of the code.
- When this conversion is complete, I see FrameBufferSDL2 and FBSurfaceSDL2 as being thin wrappers around SDL-specific functions that simply push pixel data to the video system.
DevStella 4.0[SVN 2879]
Author: stephena | Date: 2 maja 2014 01:15:17
- Some updates for compiling in the latest version of Visual Studio (2013).
DevStella 4.0[SVN 2878]
Author: stephena | Date: 30 kwietnia 2014 18:53:21
- And now that the FrameBuffer class is partially working, time to break things again :) Work continues on refactoring the FBSurface code, and moving thing out of the xxxSDL classes that don't really have anything to do with SDL. This will also make it easier to port Stella to other graphical toolkits.
DevStella 4.0[SVN 2877]
Author: stephena | Date: 29 kwietnia 2014 16:52:35
- The TIA windowed zooming modes now work (using Alt-minus and Alt-equals).
- Rearranged some of the desktop size code, to be more consistent with the new API.
- Beginning to remove the old assumptions that a smaller screen than 640x480 could be used. In the 4.0 release, the smallest (internal) screen supported will actually be 640x480, and if the real desktop can't display it, then it will be scaled down. This is one of the nice benefits of killing pure software rendering support, and letting the hardware just draw the screen as it likes.
DevStella 4.0[SVN 2876]
Author: stephena | Date: 28 kwietnia 2014 18:47:10
- OK, just checking in to let everyone know that I haven't abandoned the SDL2 conversion.
- There are changes all over the FrameBuffer classes. Still TODO is TIA resizing in windowed mode, and all fullscreen modes. The infrastructure is close to completion, and it should be pretty easy to get the framebuffer stuff done in the next week or so.
DevStella 4.0[SVN 2874]
Author: stephena | Date: 12 marca 2014 18:00:52
- Oops, a few settings changes I forgot in the last commit.
DevStella 4.0[SVN 2873]
Author: stephena | Date: 12 marca 2014 17:56:15
- Updated some documentation.
DevStella 4.0[SVN 2872]
Author: stephena | Date: 9 marca 2014 20:22:04
- The keyboard now works in TIA emulation mode. Still TODO is get ASCII characters working, so the UI can be used.
- SDL Window events are now sent to the EventHandler core. For now, onlythe window expose event is handled (redraws window if it's been hidden).
DevStella 4.0[SVN 2871]
Author: stephena | Date: 8 marca 2014 23:57:16
- The framebuffer now recognizes double-buffering based on whether the render backend is accelerated, and the refresh method uses this to refresh buffers. This fixes the flashing that appears in OpenGL in Windows and OSX. Interestingly, Direct3D in Windows and OpenGL in Linux didn't exhibit this issue.
DevStella 4.0[SVN 2870]
Author: stephena | Date: 8 marca 2014 23:15:02
- More work on FrameBuffer, to fix flashing issues in some renderers.
DevStella 4.0[SVN 2869]
Author: stephena | Date: 8 marca 2014 01:44:30
- The OSX build files now support (and probably require) Xcode 5!
- There's still quite a few issues to fix, but at least it compiles and runs Stella correctly.
DevStella 4.0[SVN 2868]
Author: stephena | Date: 7 marca 2014 23:34:48
- Disabled icon loading completely, since Linux/OSX didn't need it, and Windows uses the icon from the project file.
DevStella 4.0[SVN 2867]
Author: stephena | Date: 7 marca 2014 23:12:39
- The 'video' commandline option now allows to select between different renderer backends (in SDL). This allows to select software mode (not recommended) or Direct3D/OpenGL in Windows.
- The app icon is now loaded in Windows.
- Cleaned up the VideoDialog UI, removing references to double-buffering and OpenGL-specific settings.
DevStella 4.0[SVN 2866]
Author: stephena | Date: 7 marca 2014 19:19:09
- Fixed joystick messages, to properly indicate when no joysticks are present.
DevStella 4.0[SVN 2865]
Author: stephena | Date: 7 marca 2014 18:45:49
- More fixes to VS project file for SDL2 update.
DevStella 4.0[SVN 2864]
Author: stephena | Date: 7 marca 2014 00:09:27
- Updated Windows build scripts for SDL2.
DevStella 4.0[SVN 2863]
Author: stephena | Date: 6 marca 2014 23:36:31
- Added FrameBuffer::about(), so we can actually see if hardware acceleration is being used.
DevStella 4.0[SVN 2862]
Author: stephena | Date: 2 marca 2014 03:02:00
- Removed concept of 'base' surfaces, which was an optimization for software rendering.
DevStella 4.0[SVN 2861]
Author: stephena | Date: 2 marca 2014 02:35:37
- Updated VS project file to support SDL2. The Windows port is now at the same level as Linux (IOW, it can compile and run, but many things are still broken).
DevStella 4.0[SVN 2860]
Author: stephena | Date: 1 marca 2014 19:28:57
- A few fixes for texture/scanline filtering.
DevStella 4.0[SVN 2859]
Author: stephena | Date: 1 marca 2014 00:34:50
- Scanline effects and texture filtering settings are now honoured.
DevStella 4.0[SVN 2858]
Author: stephena | Date: 28 lutego 2014 22:21:50
- The 'center' and 'vsync' options are now honoured. Many commandline options have changed names. In particular, all tia-related options now start with 'tia.'. This includes most of the old options that started with 'gl_'.
- Changed the names of all tv-effects options from starting with 'tv_' to 'tv.', to match the name changes elsewhere.
- Some work on the documentation to reflect the latest changes.
DevStella 4.0[SVN 2857]
Author: stephena | Date: 22 lutego 2014 18:31:16
- Some more work on Blargg scanlines; it's still not correct, but closer than before.
- Fixed compile issue for joystick support (thanks to email from D. Church).
- Joystick support still isn't tested, so no guarantees it will work.
DevStella 4.0[SVN 2856]
Author: stephena | Date: 19 lutego 2014 22:30:52
- A few minor improvements in the SDL TIA handling code.
DevStella 4.0[SVN 2855]
Author: stephena | Date: 19 lutego 2014 19:57:14
- Blargg effects now work, but the scanlines aren't quite right yet.
DevStella 4.0[SVN 2854]
Author: stephena | Date: 19 lutego 2014 16:34:22
- OK, SDL2 is in the building! This is the first pass at porting the code to SDL2. For now, there are many things broken, namely keyboard handling and fullscreen modes. But the launcher does show up, allows to start a game and enter/exit the debugger, etc.
- The code will only compile on Linux for now, and sometimes maybe not even then. Expect breakage on a regular basis over the next month or so.
DevStella 4.0[SVN 2853]
Author: stephena | Date: 17 lutego 2014 01:11:01
- Fixed some minor compile warnings for OSX.
DevStella 4.0[SVN 2852]
Author: stephena | Date: 16 lutego 2014 21:52:45
- Updated VS project files for new EventHandler class.
DevStella 4.0[SVN 2851]
Author: stephena | Date: 15 lutego 2014 23:55:36
- Fixed minor compile issue for OSX build, and removed the non-Intel build files (sorry, there's no PPC support for Stella 4.0 using SDL2).
DevStella 4.0[SVN 2850]
Author: stephena | Date: 15 lutego 2014 22:37:29
- Fairly large reorganization of the EventHandler class, separating out
- SDL-specific code into its own EventHandlerSDL2 class. This is part of a larger reorganization of the codebase, to completely remove SDL-specific code from src/emucore, and make it easier to port to SDL2.
DevStella 4.0[SVN 2848]
Author: stephena | Date: 7 lutego 2014 01:23:35
- Updated internal PNG files to latest release.
DevStella 4.0[SVN 2847]
Author: stephena | Date: 6 lutego 2014 00:07:51
- Updated OSX project file for recent FrameBuffer changes.
DevStella 4.0[SVN 2846]
Author: stephena | Date: 5 lutego 2014 23:09:57
- Some reorganization of the FrameBuffer classes, to move all SDL-related stuff into FrameBufferSDL2 only. This will make conversion to actual SDL2 code much easier, since it won't be touching any of the core emulation code in src/emucore.
- Next TODO is something similar for EventHandler
DevStella 4.0[SVN 2845]
Author: stephena | Date: 31 stycznia 2014 17:23:10
- Some cleanups of the FrameBuffer class; 'uipalette' is no longer suported.