Commit Graph

592 Commits

Author SHA1 Message Date
adelikat 959a06e6bb Apple II - add status of black/white apple keys to savestates 2020-02-22 15:01:56 -06:00
adelikat 33ad336b6a
Apple II - refactor states to use Serializer (#1859)
* apple II - poc to redo binary states to use the Serializer and pass it into virtu

* virtu - savestate logic for Video

* AppleII - serialize more components with AppleSerializer

* cleanup

* refactor MachineEvents to store delegates to call and have the calling code interact with an enum, prep work for serializing this class

* apple II - first attempt at serializing Machine events

* cleanup

* add isvblank to savestates

* put more things in savestates, cleanup

* cleanup

* cleanup, save more things

* cleanup, fixes

* cleanup, save more things

* virtu - savestate fixes

* cleanup

* save CurrentDisk in savestates
2020-02-22 09:53:56 -06:00
adelikat cdcc1eabde use inline out variables in Emulation.Cores 2020-02-18 15:10:29 -06:00
YoshiRulz 3afcf416e8
Follow attribute class best practices, cleanup docs on attributes 2020-02-19 03:54:50 +10:00
adelikat 54ba1e12eb set get only properties in Emulation.Cores, and a few other simplfiications 2020-02-18 11:11:59 -06:00
adelikat 2ccf03fd44 use property initializers in some cores and some constructor cleanups 2020-02-18 10:54:39 -06:00
adelikat 665b331797 simplify AmstradCPC constructor and related code 2020-02-18 10:42:14 -06:00
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 aa5cd2165b and oops 2020-02-16 18:07:12 -06:00
adelikat 27352a6f8e add Get/SetCpuFlagsAndRegisters to Z80, and remove all the boilerplate from related cores 2020-02-16 17:55:40 -06:00
adelikat 969642b6c7 add Get/SetCpuFlagsAndRegisters to MOS6502X, and have cores point to that, instead of the same boilerplate in each core 2020-02-16 17:44:52 -06:00
adelikat 384f514445 misc cleanups in ZXSpectrum class files 2020-02-16 16:21:07 -06:00
adelikat b03b6eb9de convert spaces to tabs in some ZXSpectrum files 2020-02-16 16:10:26 -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 b3a80965af
Virtu cleanup (#1846)
* virtu - tabs instead of spaces

* virtu - use nooget for Newtonsoft.Json

* virtu - target .net 4.8

* resharper - target C# 8

* virtu - remove unused usings

* virtu - remove some unused code

* virtu - cleanups

* virtu - trace logging - add flags to trace logs

* virtu - cleanups

* virtu - misc cleanups

* virtu - make some stuff internal and simplify the api some

* virtu - clock down more things and simplify api more

* virtu - lock api down more

* virtu- simplify, breaks older savestates however

* virtu - simplify more

* virtu - cleanup

* virtu- more cleanup

* virtu - reorg some files

* virtu - more cleanup

* virtu - more reorg

* virtu - more reorg

* virtu - make more things internal instead of public

* virtu - make more things internal

* virtu - update dll

* cleanup

* virtu - reorg

* virtu - remove unitialize from machine component since nothing was utilizing it

* virtu - simplify api

* virtu - cleanup

* virtu - cleanup and lock things down

* virtu - lock down and cleanup

* virtu - cleanup

* virtu - simplify - breaks savestates

* virtu - make PeripheralCard an interface with default implementation, breaks savestates

* virtu - minimize use of machine component

* virtu - cleanup

* virtu - start minimizing dependencies

* virtu - cleanup

* virtu - simplify

* apple II - simplify

* virtu - move some biz logic into bizhawk

* virtu - git rid of MachineComponent

* virtu - delete no longer needed code

* virtu - reorg

* move serialization logic out of virtu and into bizhawk, this was our shenanigans

* virtu - some small cleanups

* virtu - simplify

* virtu - dependency minimization

* virtu - minimize dependencies

* minimize dependencies

* virtu - move drivelight property into component that controls it

* virtu - minimize dependencies

* virtu - minimize depenencies

* move some machine logic to memory class

* move some initialize logic into constructor

* move initialize logic to constructor

* move logic from Initialize to constructor

* move initialize logic to constructor, simplify api to bizhawk

* dll

* virtu - movie some logic back into bizhawk

* virtu - move Lagged property from machine to memory component

* move more biz logic from virtu to biz

* virtu - slight reorg

* virtu - move some reset logic to constructor

* virtu - move some stuff around

* virtu - declare dependencies in memory class, no more dependencies on the machine class

* move slots from machine to memory class

* move some properties from machine to memory

* move more things into the memory class

* remove Machine.cs from virtu and make an equivalent container in bizhawk

* virtu - cleanup

* interface the cassette class and create a biz empty cassette "implementation"

* move some more dummy logic from virtu to biz and put an interface in virtu

* virtu - use an interface for a dependency

* virtu - interface more things

* virtu - more interfacing of things

* virtu - interface more things

* apple II/virtu - some reorg

* virtu - cleanup

* virtu - remove unused usages of disk name in disk classes

* virtu- cleanup and simplify api

* virtu - remove unused BootDrive property

* virtu - cleanup and interface more

* cleanup

* update virtu dll
2020-02-14 09:54:35 -06:00
alyosha-tas d9243fe15d MSX: fix 2020-02-06 06:56:29 -05:00
alyosha-tas 6d93fe03f5 MSXHawk: more testing options 2020-02-05 07:55:01 -05:00
alyosha-tas 71d68e4bea MSX: use JP bios for now 2020-02-03 17:32:32 -05:00
alyosha-tas 7b55157e10 MSX: add some starting firmware options 2020-02-03 17:28:45 -05:00
alyosha-tas 8cb19ede1c MSXHawk: controller selection 2020-01-30 20:18:24 -05:00
alyosha-tas 0c46a6908f MSXHawk: keyboard 2020-01-28 07:50:29 -05:00
alyosha-tas 551a7e2893 MSXHawk: cleanup and bug fixes 2020-01-25 19:10:48 -05:00
YoshiRulz b2a3477f52
Enable SA1123 and fix noncompliance
"Do not place regions within elements"
2020-01-25 18:06:56 +10:00
YoshiRulz d9d6ed76f4
Enable SA1115 and fix noncompliance
"Parameter should follow comma"
i.e. no newlines in param list
2020-01-25 18:06:54 +10:00
YoshiRulz 6f3f01125c
Enable SA1504 and fix noncompliance
"All accessors should be single-line or multi-line"
i.e. no block form on one line
2020-01-25 14:56:56 +10:00
alyosha-tas ca73e769ed MSXHawk: joystick controls 2020-01-24 22:30:48 -05:00
alyosha-tas 263fdfebc3 MSXHawk: audio 2020-01-24 19:47:16 -05:00
YoshiRulz bfde89b9f3
Enable SA1139 and fix noncompliance
"Use literal suffix notation instead of casting"
2020-01-25 07:55:48 +10:00
alyosha-tas 5152e47b5e MSXHawk:Start loading roms 2020-01-23 20:09:45 -05:00
alyosha-tas 7da04e2bf2 MSXHawk: allocate memory because pointers may be bad due to garbage collection somehow 2020-01-23 09:01:44 -05:00
alyosha-tas c171505d64 MSXHawk: start converting to actual msx machine 2020-01-22 19:26:08 -05:00
alyosha-tas 679efd91c4 MSXHawk: minor cleanup 2020-01-20 19:50:32 -05:00
alyosha-tas 0dbd6e7481 MSHawk: inputs 2020-01-19 09:08:20 -05:00
alyosha-tas 59a22415d2 MSXHawk: working savestates 2020-01-19 08:39:21 -05:00
alyosha-tas eaf8e52746 MSXHawk: Audio 2020-01-18 17:04:55 -05:00
alyosha-tas c27bea3272 MSXHawk: Finish trace logger and add some memory domains 2020-01-16 20:08:50 -05:00
alyosha-tas 6637510379 MSXHawk: More trace logger and bug fixes 2020-01-16 18:53:11 -05:00
alyosha-tas ce7d6cdcf5 MSXHawk: Tracer Support 2020-01-15 20:47:50 -05:00
alyosha-tas 1e195243be MSXHawk: frameadvance, no video or sound yet 2020-01-15 14:25:24 -05:00
alyosha-tas 5521f0cf19 MSXHawk: properly load roms and memory map 2020-01-13 22:08:36 -05:00
YoshiRulz c38fb09d3c
Fix typos in strings and comments (from #971) 2020-01-13 00:22:01 +10:00
adelikat f83261c116 misc cleanups in emulator core service logic 2020-01-11 13:19:51 -06:00
alyosha-tas 46d0818f09 MSXHawk: Core interface stuff 2020-01-10 15:51:56 -05:00
alyosha-tas 3e0fd4a2d9 MSXHawk: Blank core 2020-01-09 17:21:58 -05:00
Asnivor 91008590cf ZXHawk: Implement more faithful AY port decoding (fixes #1767) 2019-12-29 22:23:20 +00: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
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05:00
J.D. Purcell c956b5993b Small FFT change I had stashed. 2019-10-21 00:10:28 -04:00