Commit Graph

1571 Commits

Author SHA1 Message Date
Stephen Anthony 70fcd0f3b5 Updated RWP stuff for '3E+' scheme.
This is currently mostly untested, since this scheme isn't widespread and has only a few test ROMS.
2018-12-18 10:59:29 -03:30
Stephen Anthony 56669c5449 Convert Cart classes to receive 'md5' parameter.
That's an *awful* lot of work to simply pass info to each class :)
2018-12-18 10:24:40 -03:30
Stephen Anthony dea62573f8 More carts converted to new RWP code. 2018-12-17 21:25:08 -03:30
Stephen Anthony 9aaf8b22b5 Fix wrong address in poke methods in 'SC' schemes. 2018-12-17 20:41:39 -03:30
Stephen Anthony 4ff613b4e9 Converted all the class 'SC' carts to new RWP scheme. 2018-12-17 20:15:11 -03:30
Stephen Anthony ebe18877f9 Fairly large refactoring of RWP functionality.
- abstracted RWP code into Cart base class (only F8SC converted for now)
- RWP now works by analysing RAM accesses before and after each instruction, catching all occurrences

Fixes for compiling without debugger support.
2018-12-17 19:51:28 -03:30
Christian Speckner 9b22c6afa7 Rewrite StaggeredLogger with a timer. 2018-12-15 23:59:21 +01:00
Christian Speckner 5b0b8cd5cb Summarize audio buffer errors and log them to the main log. 2018-12-15 00:04:38 +01:00
Stephen Anthony d941ebca09 Added new approach for values used when reading from the write port.
Previously these values were from whatever was on the databus, but new testing
indicates that they are semi-random (ie, random, but with some pattern).

The new code bases the values in part on the md5sum of the ROM (for randomization),
but also pre-generates a set number of values (for a pattern).

Currently only F8SC scheme is implemented.  The remainder will be done once
we test this one.
2018-12-08 18:05:05 -03:30
Stephen Anthony 5f91532d95 Fix minor clang warning in last commit. 2018-12-08 11:43:35 -03:30
thrust26 1dfc221a1a fixed RWP by using the last access type 2018-12-08 15:51:16 +01:00
Stephen Anthony 7b4c3dc6b8 In the case of 'read from write port', make sure RAM is modified before exception is thrown. 2018-12-07 21:45:28 -03:30
Stephen Anthony abfc01b483 Rework trapping on 'read from write port' functionality.
The new code introduces a generic 'EmulationWarning' exception that can
be thrown for any reason.  The RWP functionality has been ported to use
this, with the main benefit that if we ever have to add new exceptional
cases, we no longer need to modify M6502 class; it will pick up on the
new exceptions and pass them to the EmulationWorker as necessary.

Functionally, the RWP stuff works the same as before, just with a
different implementation behind the scenes.
2018-12-07 21:19:44 -03:30
Stephen Anthony 6a9ae2e3a1 Added exception class for general warnings, separate from the one for fatal errors. 2018-12-07 20:56:48 -03:30
thrust26 ecb6c7a508 Implemented solution for #396 2018-12-07 20:47:06 +01:00
Stephen Anthony a7f8d67211 Some refactoring of snapshot code for future reference. 2018-12-07 15:22:39 -03:30
thrust26 979977befa fully implemented #395 2018-12-06 18:51:46 +01:00
thrust26 3733adb39c better snapshots, part 2 (buggy!) 2018-12-06 16:38:41 +01:00
thrust26 251449cacf Merge branch 'release/6.0' of https://github.com/stella-emu/stella into release/6.0 2018-12-06 14:25:41 +01:00
thrust26 bef5caafa5 1st part of implementing blended screenshots (see #395) 2018-12-06 14:24:07 +01:00
Stephen Anthony 26faaa8cce Minor updates for suggestions from clang. 2018-12-04 20:40:50 -03:30
Christian Speckner b58d843732 Clear fatal error flag on enetering the CPU main loop; code beautification. 2018-12-05 00:00:01 +01:00
Christian Speckner f08ba16acb Handle fatal errors on main thread. 2018-12-04 21:45:14 +01:00
Stephen Anthony b06893d384 Potential fix for issue #392 (input locked after exiting the debugger). 2018-12-04 13:19:57 -03:30
thrust26 2e4340911b fixed #394
extended trace step count to 10000 (preliminary fix for #393)
2018-12-02 11:20:10 +01:00
Stephen Anthony e36692bee3 Minor refactoring in CartDetector class. 2018-11-20 15:39:30 -03:30
Stephen Anthony f3a185f04a Fixes for minor warnings from cppcheck. 2018-11-19 11:08:44 -03:30
Stephen Anthony a8a0c57deb Updated ROM properties database for missing paddle controllers. 2018-11-19 10:38:34 -03:30
Stephen Anthony ae2bb58f0b Added ROM properties for various trakball hacks, thanks to alex_79. 2018-11-16 11:14:10 -03:30
Stephen Anthony e3873cce73 Moved final remaining bits of SDL-specific code out of src/emucore. 2018-11-13 20:43:12 -03:30
Stephen Anthony bf8b0b3a88 Updated ROM properties database for several ROMs
- Major update is adding 'Chetiry' 60K ROMs info.
2018-10-21 10:11:57 -02:30
Stephen Anthony cbd30fad02 Fix final clang warnings in Thumbulator.
It ended up being much easier than I realized.
2018-09-22 22:58:57 -02:30
Stephen Anthony f8f3805dae Fix minor warning from cppcheck. 2018-09-20 22:00:32 -02:30
Stephen Anthony 1bb19a05ba Restore const for Event class by using 'mutable' mutex. 2018-09-20 21:51:10 -02:30
thrust26 c038df6343 fixed #383
if globally enabled, disable game specific stereo and phosphor elements
changed global phosphor value label (Default -> Blend)
2018-09-20 10:20:12 +02:00
Christian Speckner 6d0614ef35 Guard Event.hxx against races. 2018-09-19 23:36:26 +02:00
thrust26 a6a762bbb4 reworked Stereo for all ROMs setting in AudioDialog 2018-09-19 22:24:25 +02:00
Christian Speckner 27956cff15 Fix switching between auto and manual ystart in GUI. 2018-09-17 22:19:33 +02:00
Stephen Anthony ea31d4b464 Fix crash in BUS/CDF/CM schemes.
- bank initialization must happen in Cart::reset(), not the individual c'tors.
2018-09-17 09:38:23 -02:30
Stephen Anthony 56d9bdc163 Add autodetection for 32KB variant of CTY ROM. 2018-09-16 23:13:37 -02:30
Stephen Anthony 7982f7cb9b Various updates to the 'CTY' scheme, all by SpiceWare:
- music support
- autodetection support
- creation of 60K ROMs

For the latter, I still need to see how we will distribute those ROMs, and get them added to the database.
2018-09-16 22:49:33 -02:30
Stephen Anthony 8f03a48f11 Partially restore a reverted commit.
- Since changing ystart/height no longer needs to call `TIA::frameReset()`, the method is no longer valid
- Remove the method, and all documentation that says it is necessary to call it
2018-09-16 21:44:17 -02:30
Christian Speckner 888556b124 Another pass at resolving ystart issues. Reverts 02b0c13a and b9bbbe1 . 2018-09-17 00:23:06 +02:00
Stephen Anthony 31f6dba87d 'Cartridge.StartBank' ROM property is now used by the core. 2018-09-14 20:57:36 -02:30
Stephen Anthony b9bbbe1381 Fix blank screen after exiting from GameInfoDialog. 2018-09-13 21:38:21 -02:30
Stephen Anthony d18f11afa2 Remove Serializable::name() method, and all reference to it in state files.
- this both speeds up load/save of state files, and makes them smaller
- affects both on-disk files, and Time Machine functionality
2018-09-13 20:50:23 -02:30
Christian Speckner 524943354e Remove unnecessary frame resets. 2018-09-14 00:34:21 +02:00
Christian Speckner 2f9fc4f525 Bug fixing, harcode min ystart to 0. 2018-09-13 23:23:49 +02:00
Stephen Anthony 5bc84bca52 Add 'Cartridge.StartBank' ROM property, to specify the startup bank for a ROM to use.
For now, this only modifies the properties database.  Still TODO is have the app use the information.
2018-09-11 10:23:39 -02:30
Christian Speckner e129391dbd Fixes, properly handle TV format any ystart changes from GUI. 2018-09-09 23:30:20 +02:00