Commit Graph

169 Commits

Author SHA1 Message Date
adelikat d4c8615e95 remove unused usings and other redundancies 2020-04-23 20:33:18 -05:00
zeromus 10bceeb0dc Nope, I think it's a good idea now.
Revert "This reverts commit c878c85daeaaf0cae3e28f24bc1a8b511293d7b6."
This reverts commit 1d1f2a18c6.
2020-04-23 21:20:59 -04:00
zeromus 1d1f2a18c6 This reverts commit c878c85dae. 2020-04-23 21:06:12 -04:00
zeromus c878c85dae for your consideration: sync settings return flags instead of a bool, so we can have more granularity in what needs resetting than just "reboot core". for instance, we would like to minimize the number of times the window layout is redone by not doing it when the screen settings havent changed. HOWEVER, while I was writing this commit message, I realized, I should probably do it just by being more cautious in kicking off the layout (unless the data coming from the core has changed, a layout shouldnt happen). So I am going to make this commit, in case it inspires anyone, and then revert it. 2020-04-23 21:05:56 -04:00
YoshiRulz 0ba7a5a7df
Rename axis-related types, members, and locals
I left a few methods where they had an equivalent *Bool*() for buttons, and also
left some in TAStudio that get serialised.
2020-03-31 17:29:55 +10:00
adelikat 9b68246b19 remove an unused varaible in VDC.Render.cs, fixes a warning 2020-03-19 10:18:35 -05:00
adelikat 899f8662c0 refactor CoreComm usages in more cores 2020-03-15 09:38:54 -05:00
adelikat da95c1f56f remove RomAnnotation fields on CoreComm and use the service instead 2020-03-14 22:10:57 -05:00
adelikat dd062b3ca7 replace CoreComm screenofsets with an emulator service 2020-03-14 16:35:54 -05:00
adelikat 565a319cef
Remove unused sound files (#1868)
* Remove unused ZeromusSynchronizer ISynchronizingAudioBuffer implementation as it hasn't been used in quite some time, also remove unused MetaspuAsyncSoundProvider that is no longer used. Remove some unsed methods on MetaspuSoundProvider

* use switch expression

* remove unused buffer

* remove unused NitsujaSynchronizer, even though it was the default, the only usage of ISynchronizingAudioBuffer is the vecna one

* remove enum ESynchMethod now that it only had 1 option

* expose VecnaSyncrhonizer and remove Metaspu static class

* remove unused method on ISynchronizingAudioBuffer
2020-03-01 14:18:24 -06:00
adelikat 46d05de51f nothing to see here 2020-02-28 12:52:48 -06:00
adelikat 0b388d669d PCE - implement IDebuggable.SetCpuRegister, and add flags to IDebuggable.GetCpuFlagsAndRegisters(), move logic to HuC6280 2020-02-18 15:58:39 -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 2ccf03fd44 use property initializers in some cores and some constructor cleanups 2020-02-18 10:54:39 -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 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
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
adelikat f83261c116 misc cleanups in emulator core service logic 2020-01-11 13:19:51 -06:00
YoshiRulz e7d0fb8299
Refactor/genericise MutableIntRange, add immmutables, add more methods
call now and I'll throw in not one but two float equality extensions for free
2020-01-03 03:32:51 +10:00
YoshiRulz 9af93be0d3
Use string interpolation 2019-04-04 02:41:18 +10:00
YoshiRulz c4fd79bf03
Use MutableIntRange in RenderSpritesScanline 2019-04-01 14:40:06 +10:00
James Groom 4e91f88af3
Use nameof in cores 2019-03-28 14:18:58 +11:00
alyosha-tas c19c7cd5c3 SubNESHawk
also Input register shift fix

# Conflicts:
#	BizHawk.Client.EmuHawk/MainForm.Designer.cs
#	BizHawk.Client.EmuHawk/MainForm.Events.cs
#	BizHawk.Emulation.Cores/Computers/AmstradCPC/AmstradCPC.IEmulator.cs
#	BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.IEmulator.cs
#	BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.run.cs
2019-01-10 18:25:59 +03:00
Asnivor 04b84a5c2e pcehawk: mask only when addr attached to vram 2018-12-03 23:06:48 +00:00
Asnivor 0687d4a304 needs testing/a second eye on it - #1363 2018-12-03 21:16:58 +00:00
Asnivor 818b1d8016 PCE: one small thing missed in the revert operation 2018-09-26 10:28:38 +01:00
Asnivor 4a2d9dd0f1 PCE: Revert aa7cee1. This looks to resolve the following: #1333 #1303 #1287 #1231 #1203 and *maybe* #1266 2018-09-26 10:27:23 +01:00
nattthebear e8145af463 i hope this breaks something 2018-05-12 12:55:42 -04:00
alyosha-tas ee49f147fb PCE: Don't always make a new frame buffer when settings change
Fixes #1175
2018-04-13 16:21:53 -04:00
alyosha-tas b2ed6eb737 Always initialize independent instances of IController in cores to NullController
- Fixes #1168
2018-03-31 11:23:55 -04:00
alyosha-tas be253911c6 PCE: Increase read access time even more to fix Gate of Thunder Loading
fixes #70
2018-03-21 18:15:51 -04:00
alyosha-tas f86e00f925 PCE: only latch Y-scroll once per scanline after an offset.
The latching behaviour is correct, but I'm unsure of what the offset value should be.
fixes #771
2018-03-20 21:17:57 -04:00
alyosha-tas aa7cee1bb7 PCE: update some graphics properties 2018-03-20 10:40:14 -04:00
alyosha-tas 8f193eb68f PCE: Increase read delay to fix Mugen Senshi Valis fixes #554 2018-03-20 10:08:13 -04:00
alyosha-tas cace4bdb5a PCE: Fix a VPC typo 2018-02-11 14:02:08 -05:00
alyosha-tas fd7a3a731e PCEHawk: Add option for cropping
Resolves #71
2018-02-10 15:28:27 -05:00
alyosha-tas 58f6e624ff SMS add Korea to region selection options 2018-02-08 09:26:22 -05:00
alyosha-tas f2523f1cec PCE: Fix some VPC issues 2018-02-06 18:56:03 -05:00
alyosha-tas 5f250a2fb0 PCE: Fix display to correctly capture changes to display offset register
Fixes Devil's Crush (and by extension Final Blaster)
2018-02-05 16:58:46 -05:00
adelikat 04ce66c397 phase 1 of changing memory callback api to specify domain - require cores to specify which domains are available and have the domain passed in when creating callbacks. Still todo - cores need to pass in domain name on CallReads/Writes/Executes methods 2017-08-01 22:05:17 -05:00
adelikat 3109bdcc6a PCE - cleanup 2017-07-18 11:20:02 -05:00
adelikat 46e4ae05d6 PCE - rip out old controller config logic 2017-07-18 11:05:11 -05:00
adelikat 9fc8b8700d PCE - add ui for controller config 2017-07-18 11:01:50 -05:00
adelikat d99d2dd3dc PCE - start support for peripheral support - implement a controller deck and wire it up to the controller logic, with the same options as previously, 5 ports, with None and Gamepad as options. No ui for the new system. Old system code and ui still left in 2017-07-18 10:37:17 -05:00
adelikat c6e0e9fa57 Rename CoreAttributes to CoreAttribute as to not be a bad person 2017-07-12 14:10:55 -05:00
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04:00
alyosha-tas a6197a643b Update VDC.cs
Fix initial size in PCE.

Still a little off (4 pixels ) because it autoresizes and it really should probably be completely rewritten, but at least it's much less jarring now.
2017-05-06 10:25:14 -04:00
adelikat 1dae91e6a8 clean up core constructors - consistent parameter casing, and put them at the top of the class 2017-05-05 19:05:36 -05:00