Commit Graph

16 Commits

Author SHA1 Message Date
adelikat 606c3bf1c2
use more advanced language features in Emulation.Cores (#1852)
* Use expression bodies in Emulation.Cores, and a few other misc cleanups

* remove unused usings in Emulation.Common

* cleanups in Tables_Direct.cs

* some cleanups in nes boards - redundant code

* remove some redundant array initializers in Emulation.Cores

* cleanup AmstradCPC.Controllers

* use object initializers in a lot of places

* nes mappers - remove disch's notes comments in favor of the nesdev wiki link

* cleanup CdtConverter.cs, mostly use of object initializers

* remove redundant .ToString() calls in Emulation.Cores

* using var in Emulation.Cores

* AmstradCPC/ZXSpectrum - simplify some linq, tabs instead of spaces, a few other misc cleanups

* Use null-propagation in Emulation.Cores
2020-02-17 16:54:51 -06:00
adelikat 027dc01c8b
create StateSerializer as a base implementation of IStatable (#1850)
* create StateSerializer, an ITextStatable implementation using the Serializer class, and wire it up to the TI83 core

* wire StateSerializer to A2600 core

* wire up StateSerializer to AmstradCPC, C64, and ZXS

* wire up StateSerializer to MSX, A27800, and Coleco

* wire up state serializer to ChannelF, Vectrex, Intellivision

* fix GambatteLink to implement ITextStatable, implement TextSerializer in O2

* StateSerializer - wire up a loadstate callback and implement StateSerializer for NesHawk, a bit of rework to subNesHawk as a result

* fix subneshawk text savestates

* StateSerializer - implement byte[] buffer storing (optionally), wire up to PCE

* implement StateSerializer to SMS, tweak GGLink accordingly

* implement StateSerializer in GBHawk, fix link cores accordingly

* StateSerializer - use Serializer static methods to create serializers
2020-02-16 12:05:57 -06:00
adelikat 4b7a7dd293
Make Binary states default and Textstates opt-in for cores (#1848)
* Rewind & State config - remove the default option

* remove the savestate type of default, not that this is a breaking config change for anyone that had specifically set savestates to text

* remove BinaryStatesPreferred from IStatable and use config setting when starting movies from "Now" in record movie dialog

* remove BinaryStatesPreferred from cores

* make text savestates an extension method off of IStatable and an inteface ITextStatable it uses if the core implements it. This will allow cores to opt in to text states if desired

* make cores with actual text savestate impleemntations get ITextStatable, remove text state logic from cores that just have a binary as as text implementation
2020-02-15 10:22:26 -06:00
adelikat 85be6af3d3 Convert spaces to tabs in ZX Spectrum and AmstradCPC cores 2019-12-06 17:47:59 -06:00
adelikat fef746dffa properly dispose of IDisposables in core savestate code, and a few other places 2019-12-06 17:33:17 -06:00
James Groom 4e91f88af3
Use nameof in cores 2019-03-28 14:18:58 +11:00
Asnivor 660fb500ae ZXHawk: codebase cleanup 2018-06-14 11:31:09 +01:00
Asnivor 7a36f913ec New AY-3-8912 implementation. Better sounding and more performant 2018-03-15 16:32:26 +00:00
Asnivor 8234b2acfa more typos. FML 2018-03-13 22:15:53 +00:00
Asnivor df5cf0d85f Type fix for sir feos 2018-03-13 22:13:26 +00:00
Asnivor 7739c0dee1 Handling loadstate issues for different machine configurations 2018-03-13 22:09:46 +00:00
Asnivor 213437362d Memory overhaul for a nice performance benefit 2018-03-12 15:22:06 +00:00
Asnivor d534ee3f5f Small settings change 2018-02-12 17:22:03 +00:00
Asnvior 7287afc5da More SynState work 2017-11-28 19:28:22 +00:00
Asnivor 30483f3003 Started tape impl. 2017-11-24 18:43:04 +00:00
Asnivor d012472999 Initial commit. 48K spectrum only. 2017-11-23 17:26:15 +00:00