Commit Graph

56 Commits

Author SHA1 Message Date
adelikat 325551ecd0 consistently check if callbacks exist before calling memory callbacks, across all cores 2020-04-21 16:42:57 -05:00
adelikat c66243254c remove unused GameInfo parameter in some core constructors 2020-03-15 10:19:01 -05:00
adelikat 9fa59bad42 refactor CoreComm usages in Computer cores 2020-03-15 09:10:13 -05: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
YoshiRulz 3afcf416e8
Follow attribute class best practices, cleanup docs on attributes 2020-02-19 03:54:50 +10: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
Brian Armstrong 2c6ecb68bd Merge branch 'master' into brian/mem_callback_addr_value 2019-06-06 02:11:04 -07:00
Brian Armstrong d41bd867b8 flags 2019-06-06 02:04:47 -07:00
Brian Armstrong a8f293eec8 Call mem callbacks with addr, value 2019-01-24 03:23:21 -08:00
Asnivor 6f7a26e803 Virtu: enable apple white and black keys 2018-12-07 15:03:19 +00:00
adelikat cd289c474e memorycallbacks with domains - Phase 2 - change api to Call methods and refactor accordingly, everything should behave as it was before the refactor at this point. No cores have yet to be implemented with domains other than the default bus they already had 2017-08-03 18:08:07 -05:00
adelikat c6e0e9fa57 Rename CoreAttributes to CoreAttribute as to not be a bad person 2017-07-12 14:10:55 -05:00
adelikat daf3b2539b Atari 2600 - add alyosha as an author, break up IEmulator code to its own file, some misc cleanup 2017-05-05 11:56:28 -05:00
adelikat 698c6741ae Refactor IEmulator and remove the IController property, instead pass it as a paramter to the FrameAdvance() method 2017-05-01 20:09:11 -05:00
adelikat ded1c2d7b7 Break off BoardName from IEmulator into a separate IBoardInfo service 2017-04-30 21:01:54 -05:00
adelikat 5247e1d357 Cleanup and simplify AppleII core code 2017-04-24 10:09:31 -05:00
adelikat 94f152d1d1 misc cleanups in Emulation.Cores 2017-04-17 15:23:31 -05:00
adelikat 72a59087b5 Use the IController indexing property less in preparation for removing it from the interface. Replaced with its more explicity counter-part .IsPressed() 2016-12-14 12:42:15 -06:00
adelikat b73a500d6b Major sound provider refactor. Create a unified interface ISoundProvider, that is an IEmulator service and break it off of IEmulator. IAsyncSoundProvider was kept as a shim for now, for legacy cores that were inherintly async. 2016-12-11 11:15:00 -06:00
feos 76eaea3619 tracer unification for cores: spacing, headers, etc 2016-08-16 01:39:26 +03:00
adelikat f2001bd567 Apple II tracer header 2016-02-28 09:15:52 -05:00
adelikat f5e679fa0d Refactor ITraceable to work on TraceInfo objects that separate Disassembly and Register information. Make Tracelogger two columns. 2016-02-21 17:34:42 -05:00
adelikat ba21484ddd add IRegionable as an emulator service to indicate NTSC vs PAL, etc. Refactor cores that conveyed this information to use this service, fixed cheaty reflection to grab this info to use the service instead, marked some cores as region not applicable where it made sense to me (I'm sure I'm wrong in some cases) 2015-08-05 20:12:09 -04:00
scrimpeh bcbc588e05 Apple II - Fix Memory and Input Callbacks interacting with savestates 2015-07-06 22:09:18 +02:00
scrimpeh 23d93cc1fe Apple II - Add Input Callbacks, Change definition of a lag frame 2015-07-06 21:15:48 +02:00
scrimpeh 43dd015b51 AppleII - Add MemoryCallbacks, Breakpoint Support, Set Registers in Debugger to proper bit size. 2015-07-05 17:09:07 +02:00
scrimpey 5a686f195d Apple II - remove vestigial method 2015-06-21 14:34:33 +00:00
scrimpey 02b71ab377 Apple II - Add Trace Logging functionality 2015-06-21 14:31:18 +00:00
goyuken 81d8018d4c apple2: support MONCHRONOME 2015-06-16 23:24:52 +00:00
adelikat 80957a1071 Apple II - set status of core as released, add file extensions to the released version of the open rom filter, and add author info 2015-06-10 22:32:47 +00:00
adelikat fe776eab2b Apple II - hackery to make prev/next disk buttons stay held, as opposed to swaping rapidly ever frame 2015-06-08 20:56:29 +00:00
goyuken 66f0bf15c0 Fix up some junkus in appleii core init, and add stub for mGBA 2015-06-04 02:04:42 +00:00
adelikat 55200588e8 Remove an unused variable 2015-05-31 17:02:24 +00:00
adelikat 8412c91739 Apple II - fix controller config, remove Black Apple, White Apple and Reset keys since they are not currently hooked up 2015-05-31 15:02:42 +00:00
goyuken 46c374f8a3 ye olde drive lighte 2015-05-19 23:33:50 +00:00
goyuken fcb5af62d6 speed up apple2 savestates, round 1 2015-05-18 01:30:30 +00:00
goyuken 6ab8be0a1d Screwball mode Apple II savestates 2015-05-18 00:14:00 +00:00
adelikat 3e47055ca2 Apple II - fix crash on loadstate when not using an xml 2015-05-10 20:20:24 +00:00
adelikat dbc3a5cb2c Apple II - wire up the lag counter, may or may not be correct logic, don't know too much about Apple II internals, but eyeballing the code, it looks like a reasonable place to decide if input was polled. 2015-04-26 12:40:21 +00:00
adelikat 01ed8f2064 Apple II - path config stuff 2015-04-15 22:27:25 +00:00
adelikat 4bf37df018 Apple II - wire up memory domains, just System Bus currently 2015-04-13 18:53:36 +00:00
adelikat e6e94b8d54 Apple II - ui for disk changing 2015-04-13 00:46:11 +00:00
adelikat 1bcf2ae684 Apple II - multi-disc support using XmlGame (the same file format as dual GB), currently no ui to make an xml. Added Previous and Next Disk controller buttons 2015-04-12 23:38:19 +00:00
adelikat 0d9055b121 Apple II - remove another hard coded path 2015-04-10 00:30:59 +00:00
adelikat c72fb5e0a5 Appple II - pass DiskII data to the DiskIIController instead of a hard coded path to read from 2015-04-10 00:13:26 +00:00
hegyak c4834a48b2 correct r9288 to actually remove the hard paths 2015-04-09 12:44:53 +00:00
adelikat f4140de3f7 Apple II - get necessary firmware files from the firmwares system instead of a hardcoded path, added entries to the firmware database for the files I have, no idea what other files are compatible 2015-04-09 00:18:01 +00:00
goyuken d4bf5c40a2 apple make noises 2015-04-04 00:43:35 +00:00
adelikat d30d5ba06d Apple II - a bad attempt at wiring up sound, not hooked up since it crashes, also checking in some code that visual studio wants to be in the .sln because I am tired of reverting it 2015-03-27 23:24:58 +00:00
adelikat 9f02fd75af Apple II - some reorg 2015-03-21 21:45:12 +00:00