Commit Graph

290 Commits

Author SHA1 Message Date
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
alyosha-tas 59f43b144e Core Code Cleanup 2018-12-05 09:01:25 -06:00
alyosha-tas 62d1005ed9 A2600: Fix special reset cases 2018-06-10 07:48:44 -04:00
alyosha-tas 173bb2a50f A2600: Add special cases for games that turn off screen to do calculations 2018-06-09 21:15:26 -04:00
Scepheo f3ea6fe025 Use generic interface type on MOS 6052X for talking to the emulator core (#1189)
* Use generic interface type on MOS 6052X for talking to the emulator core
* Change CpuLink constructors to not use expression-bodies, to get the AppVeyor build to pass.
* Add comment explaining why IMOS6502XLink exists.
2018-05-20 23:18:53 +03:00
nattthebear e8145af463 i hope this breaks something 2018-05-12 12:55:42 -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
feos f9cef46bd7 6502 disasm: accidentally lost this fix 2018-03-15 22:20:23 +03:00
alyosha-tas c839bffc33 A2600: Add Driving controller and fix coleco Super Action Controller 2018-03-12 09:12:41 -04:00
alyosha-tas 6b18b3cb57
Update Atari2600.IEmulator.cs
Fix broken build
2017-11-08 18:22:53 -05:00
alyosha-tas e35b225fb0
Update Atari2600.IEmulator.cs
Add a frame termination condition so the core doesn't silently crash.
2017-11-08 14:11:13 -05:00
alyosha-tas 7a799583e9
Update Atari2600.cs
Kangaroo [!].a26 has banks swapped similar to a few other games, add it to the internal list.
2017-11-08 13:52:39 -05:00
adelikat ebcd237858 Merge branch 'master' into domainedmemoryhooks 2017-10-29 12:38:29 -05:00
alyosha-tas 32797eea46 Atari 2600
-Recast to run single cycle
-Remove frame buffer from state
-Always end frames on vsync boundary
2017-09-20 10:33:14 -04:00
alyosha-tas 30f1d61f7f Atari 2600
-Recast to run single cycle
-Remove frame buffer from state
-Always end frames on vsync boundary
2017-09-20 10:27:27 -04:00
alyosha-tas 0574013bd0 Atari 2600
-Recast to run single cycle
-Remove frame buffer from state
-Always end frames on vsync boundary
2017-09-20 10:26:33 -04: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 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
alyosha-tas 773a70c125 A2600: Fix bitmap demo atext.bin
Gotta stay on par with Stella!
2017-07-26 09:17:08 -04:00
alyosha-tas d1a78f4fcb Update Atari2600ControllerDeck.cs
- Repair controller image appearing in config -> controllers
2017-07-24 17:38:46 -04:00
adelikat c6e0e9fa57 Rename CoreAttributes to CoreAttribute as to not be a bad person 2017-07-12 14:10:55 -05:00
alyosha-tas a4360b9c36 A2600: Adjust range on float controls
Scale them in read function instead .

NOTE: still needs some play testing from someone familiar with how the paddle controls to see if it feels right.
2017-06-29 11:02:55 -04:00
adelikat f5cb35a862 Atari 2600 - vritual pad and mnemonics for paddles 2017-06-28 14:27:15 -05:00
alyosha-tas 82d03dc3e9 A2600: implement paddle support
Warning: Deadzone in float controls should be set to zero. I don't know where to look to do this by default though
2017-06-28 10:58:40 -04:00
alyosha-tas 2f6d05512f A2600 TIA: Hook up Paddle logic 2017-06-28 10:57:07 -04:00
adelikat c3b890c60c Atari 2600 - stub out the paddle controller 2017-06-27 17:22:45 -05:00
adelikat 74dd25e831 Start Atari 2600 peripheral support - currently ability to pick joystick or unplugged for port 1 and port 2. Virtualpads are not addressed with this commit 2017-06-27 15:14:41 -05:00
alyosha-tas a2dfb639d4 Update Atari2600.Core.cs
Fix #838
2017-05-14 19:29:53 -04:00
adelikat 7b29970ef9 atari 2600 cleanup 2017-05-05 13:49:36 -05:00
adelikat d467a1427d Atari 2600 - cleanups, de-expose some fields 2017-05-05 12:26:15 -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 59139ab266 Spell out Numerator and Denominator 2017-05-05 11:25:38 -05:00
adelikat 62a13d961d Move VsyncNum and VsyncDen out of CoreComm and into IVideoProvider 2017-05-05 11:21:37 -05:00
adelikat e5f82bf329 CoreComm - make vsync fields into properties 2017-05-02 07:56:34 -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 3192cc70ae slight refactor to IEmulator - make the IController property set only to more clearly express the client -> core relationship 2017-04-26 19:09:00 -05:00
adelikat 2de20e956b use Dictionary initializers instead of object initializers for various GetCpuFlagsAndRegisters() methods 2017-04-25 08:28:06 -05:00
adelikat b4de14657a get rid of a warning 2017-04-24 12:54:43 -05:00
adelikat 2964585401 misc code cleanups in Atari 2600 2017-04-24 10:09:31 -05:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
adelikat 37c989c661 more misc code cleanups, with some C#6isms 2017-04-10 11:24:53 -05:00
adelikat ab1a22bf31 add TotalExecutedCycles as an IDebuggable property, and implement it in cores with the information readily available (and throw NotImplementedExecptions in the remaining). wire the property up to lua with emu.totalexecutedcycles(). Stil todo - wire it up to the Debugger gui 2017-01-09 19:23:05 -06:00
adelikat 54eb678387 create an ICreateGameDBEntires specialized service and have Atari2600 implement it. Use this in the log window instead of sneaky reflection to access the method 2016-12-15 10:45:20 -06: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
adelikat b697110098 Rename ISoundProvider to IAsyncSoundProvider to more accurately describe what the service does 2016-12-09 10:24:43 -06:00
adelikat 5b31b33713 Remove a now unused MaxVolume property from some sound provider classes 2016-12-08 20:06:25 -06:00
adelikat c61fd757f2 Atari 2600 - put difficulty toggle variables into savestates 2016-11-26 16:10:27 -06:00
adelikat e72ce6d9cb Atari 2600 - show the Needs Reboot icon when changing sync settings 2016-11-11 15:33:29 -06:00
adelikat 333e17a054 Atari 2600 - add console buttons for toggling Difficulty switches. Note that this commit may or may not break both movie and savestate backwards compatibility 2016-11-11 15:28:21 -06:00
adelikat 7a6d2bce41 Dipose of a bytebuffer in a mapper in Atari 2600 2016-11-09 18:23:54 -06:00
adelikat ccc2ee1ba9 Fix coleco memory domains similarly to previous commit, also clean up previous commit 2016-08-22 13:14:47 -04:00
adelikat 4d03651526 Fix A2600 memory domains similarly to the PCE fix in 4b165089fd 2016-08-22 12:56:12 -04:00
alyosha-tas 74e64fda03 fixes poly9 sound
This actually affected several other sound channels as well since the old code put the other poly counters into degenerate states at times
2016-06-06 11:11:42 -04:00
alyosha-tas 41fd36a3c3 Fixed high pitch bug
finally found this bug, fixes several games where sounds were higher pitch then supposed to be (notably Combat)
2016-06-05 17:38:33 -04:00
alyosha-tas ae39f13d5a Update for new sound routines
Catches cases where sound is not processed.
2016-06-04 18:33:41 -04:00
alyosha-tas d7436554b8 Rewrite audio routines
Now samples sound explicitly at proper points each scanline.
Sounds the same (i.e. sometimes wrong) as before, so other bugs exist.
WIP
2016-06-04 18:32:26 -04:00
alyosha-tas f60dde19f5 Fixes compumate mapper
Still WIP
needs keyboard to test
2016-05-31 09:24:09 -04:00
alyosha-tas 0e34e5f728 Fixes compumate mapper
Still WIP
Needs keyboard peripheral for further testing, but boots for now
2016-05-31 09:15:59 -04:00
alyosha-tas f6b74a97e6 Adds missing inputs
3 input ports were never implemeneted, now they are
2016-05-31 09:13:05 -04:00
alyosha-tas d0c7d81de5 Updates and Bug Fixes
Sets stack pointer to FD on initialization (see visual 6502)
Adds portA write state to 6532
2016-05-31 09:11:57 -04:00
alyosha-tas 24b0ebb924 Merge pull request #2 from TASVideos/master
sync up
2016-05-27 08:56:25 -04:00
alyosha-tas d5c4d2f037 Add poke flag
the point of this is to protect the data bus state
2016-05-27 08:53:37 -04:00
alyosha-tas bd5616050a Add poke flag 2016-05-27 08:52:24 -04:00
alyosha-tas fe77d8718f Add poke flag 2016-05-27 08:51:49 -04:00
alyosha-tas d192d76052 Add vblank delay to fix 4A50 demo game 2016-05-25 18:10:05 -04:00
alyosha-tas cbad691741 Protect bank state from peeks
Also properly check bank swapping
2016-05-25 12:39:41 -04:00
alyosha-tas de48c1cf2c check for protection from memory peeks
WIP
2016-05-25 12:38:28 -04:00
alyosha-tas 5520627b7e Fix Peek_memory so it points to mapper Peek_memory 2016-05-25 12:37:23 -04:00
alyosha-tas 7a16d7c49a Add data bus state and track it
fixes AVGN KO boxing
2016-05-23 20:31:55 -04:00
alyosha-tas c80e250ae7 Add data bus state and track it
fixes AVGN KO boxing
2016-05-23 20:29:57 -04:00
adelikat 3194e2cdd7 document what is going on with mF8_sega 2016-05-22 15:33:49 -04:00
alyosha-tas d82a447e71 add tapper hash 2016-05-20 13:18:12 -04:00
alyosha-tas 9424f30243 pick the correct mapper for Tapper and Congo Bongo
Based off SHA1 hash
2016-05-20 09:06:56 -04:00
alyosha-tas 1565a0adf8 add sega mapper mod
mod to F8 that starts in bank 1
2016-05-20 09:05:57 -04:00
alyosha-tas b60876f902 try try again 2016-05-16 20:35:52 -04:00
alyosha-tas 9d00197c2a fixes 0 sample size in audio 2016-05-16 07:55:58 -04:00
alyosha-tas 3625bdaf9d Merge pull request #1 from TASVideos/master
sync up to test
2016-05-16 06:55:49 -04:00
alyosha-tas 0551099ac7 Add files via upload 2016-05-15 20:43:21 -04:00
alyosha-tas 70fdbba229 Fixes 6532 INSTAT
Fixes Tapper not running (other issues with that game remain)
2016-05-06 22:58:41 -04:00
alyosha-tas a0ad9aab36 HMove update
Fixes Kool Aid Man
2016-04-22 09:17:01 -04:00
hegyak 643e475ccc Merge pull request #614 from alyosha-tas/master
AtariHawk bug fixes pull request
2016-04-18 08:06:15 -07:00
nattthebear 111648cf98 Break a bunch of memory domain stuff with pointless refactoring 2016-04-13 19:50:06 -04:00
alyosha-tas 3e365a2928 update 2016-04-10 20:21:12 -04:00
alyosha-tas 0dd58abb28 update 2016-04-10 18:29:45 -04:00
alyosha-tas 48dcf8fc91 PRG delays due to HMOVE 2016-04-09 12:57:32 -04:00
alyosha-tas 3e14c07c51 implement PRG delay 2016-04-09 09:33:13 -04:00
alyosha-tas 9d0d7fa85a rewrite enam delay for consistency 2016-04-08 21:28:26 -04:00
alyosha-tas 5e4874a870 Added files via upload
implements PF delays
2016-04-08 09:12:03 -04:00
alyosha-tas e96f057bd2 Added files via upload
more bug fixes and clean up
2016-04-06 20:37:19 -04:00
alyosha-tas ea18662bfe Added files via upload
star field correct
2016-04-05 18:41:53 -04:00
alyosha-tas 8e852622a1 Added files via upload
correct star pattern
2016-04-05 18:03:23 -04:00
alyosha-tas 03b236b0cf Added files via upload 2016-04-05 09:24:27 -04:00
alyosha-tas 14e5f6319d Added files via upload
bug fix
2016-04-05 09:04:56 -04:00
pjgat09 29e6d5e1d5 Atari 2600: Fixed an off by one bug with the 6532 2016-03-11 10:50:03 -05:00
adelikat 17b7d9790c Tracer header for Atari 2600 2016-02-28 09:20:08 -05:00
pjgat09 194905763a Atari 2600: Double and quad size players are now correctly delayed an extra pixel. 2016-02-16 15:46:05 -05:00
pjgat09 a3ef769407 Atari 2600: Use the RDY flag to halt the CPU instead of a loop in the TIA. 2016-02-13 17:11:07 -05:00
scrimpeh e4a1a517cd IInputPollable - Now with tabs instead of spaces. 2016-01-26 11:46:52 +01:00