alyosha-tas
d9cc1558aa
Atari7800Hawk: More Core Work
...
- Adds Fire button (centipede and Asteroid now playable)
- Improve Maria, add holey DMA, fix numerous bugs
- Fix slow cycle memory mapping.
2017-07-06 15:25:21 -04:00
alyosha-tas
8a5e613fff
A7800Hawk: More Core Work
2017-07-06 15:23:21 -04:00
alyosha-tas
170381597b
Atari7800Hawk: Core Cleanup
...
-now gets in game in choplifter
-implement player controls
-fix memory mapping bugs
-clean up code
-implement more video modes
There is still a serious timing bug that i need to track down and a lot of video mode work to do, but getting in game is at least making progress.
2017-07-05 16:14:27 -04:00
alyosha-tas
76a51ca79d
A7800Hawk: Core Cleanup
2017-07-05 16:11:24 -04:00
alyosha-tas
5fb8ef22b1
A7800Hawk: More Core Work
...
-Savestates work
-Sound works
-NMI fixed
-Makes it past the Atari logo intro but not quite into game yet
2017-07-02 18:01:36 -04:00
alyosha-tas
447fdd1275
A7800Hawk: TIA sound fixes
2017-07-02 17:59:38 -04:00
alyosha-tas
7b3439a6b6
Atari7800Hawk: Finish DMA and start drawing
...
Successfully draws the intro graphic screen, so we're definitely making progress.
There are a lot of graphics modes though so still a lot of work left.
2017-06-30 21:21:09 -04: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
0ddd7392c7
A7800Hawk Commit 5
...
- Almost done with DMA
2017-06-17 13:55:21 -04:00
alyosha-tas
7bb76f9f03
A7800Hawk commit #4
...
-Start Maria DMA and frame execution
-Refactor CPU execution
-Expose more tools (Hex Editor, RAM Search, etc)
-Add Ready and Halt behaviours trigggered by Maria
2017-06-16 16:44:57 -04:00
alyosha-tas
1d840906a5
Delete A7800HawkControl.cs
2017-06-11 18:07:42 -04:00
alyosha-tas
50d0db37b8
Delete temp.txt
2017-06-11 18:07:16 -04:00
alyosha-tas
55fb3bb1dc
Add files via upload
2017-06-11 18:06:50 -04:00
alyosha-tas
18ff66f1d2
Add files via upload
2017-06-11 18:06:04 -04:00
alyosha-tas
f7c07aed0b
Add files via upload
2017-06-11 18:05:15 -04:00
alyosha-tas
f44b587ab9
Create temp.txt
2017-06-11 18:04:40 -04:00
alyosha-tas
807edebe6d
A7800Hawk another round of commits
2017-05-27 20:40:13 -04:00
adelikat
8de4e7bff9
add ui to switch to Atari7800Hawk, still not useable by humans, needs gamedb stuff
2017-05-27 08:56:25 -05:00
alyosha-tas
77c20a6776
Merge pull request #859 from alyosha-tas/master
...
A7800Hawk initial PR
2017-05-25 15:56:46 -04:00
alyosha-tas
827c5848dd
Delete temp.txt
2017-05-25 15:38:51 -04:00
alyosha-tas
7ce43e1438
Add files via upload
2017-05-24 20:40:02 -04:00
alyosha-tas
a2ab02f9d9
Add files via upload
2017-05-24 19:37:44 -04:00
alyosha-tas
f159220bef
Create temp.txt
2017-05-24 19:37:21 -04:00
alyosha-tas
b2eecd7bec
Add files via upload
2017-05-24 19:36:34 -04:00
alyosha-tas
3a020a1c40
Create Readme.txt
2017-05-24 19:35:39 -04:00
alyosha-tas
a2dfb639d4
Update Atari2600.Core.cs
...
Fix #838
2017-05-14 19:29:53 -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
adelikat
9b1945a81e
Atari 7800 cleanups
2017-05-05 14:20:28 -05: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
alyosha-tas
8e4ca6ac8e
Update Atari7800Control.cs
2017-05-05 09:17:05 -04:00
nattthebear
e3fab1a4d5
cleaner
2017-05-02 18:15:33 -04: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
54ebe75d2b
remove the obsolete MemoryDomain.FromIntPtr method
2017-04-24 13:47:40 -05:00
adelikat
b4de14657a
get rid of a warning
2017-04-24 12:54:43 -05:00
adelikat
7f663a0ed6
misc. cleanup for Coleco and Intellivision
2017-04-24 12:24:56 -05:00
adelikat
4c71a34dfa
misc code cleanups Lynx
2017-04-24 11:51:59 -05:00
adelikat
c628557912
misc. cleanups in atari 7800
2017-04-24 10:32:45 -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
alyosha-tas
ab8449fd2d
A7800: Pick Palette correctly
...
Fixes #757
2017-01-31 15:51:35 -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
82c1c11879
Atari 7800 - add the word Toggle to the difficulty swithc buttons to make them more clear in functionality
2016-11-11 15:03:34 -06:00
adelikat
75654b9f33
Atari 7800 - make difficulty switches behave like toggles instead of buttons, also add mnemonic info for them, fixes #726
2016-11-11 08:44:28 -06:00
adelikat
7a6d2bce41
Dipose of a bytebuffer in a mapper in Atari 2600
2016-11-09 18:23:54 -06:00
adelikat
6b29c28d07
Atari 7800 - support difficulty switches when using the default proline controller, fixes #726
2016-11-08 17:26:42 -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
scrimpeh
ef1bc65ce6
IInputPollable - Make IsLagFrame settable
2016-01-26 11:34:42 +01: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
adelikat
3541c9e975
Make the lag counter settable, and expose this functionality in lua
2015-07-09 13:05:30 -04:00
adelikat
5bcdfb5991
IInputPollable - remove the set on LagCount as it is not needed
2015-06-11 01:23:14 +00:00
adelikat
36f4eff0f6
add ByteSize to MemoryDomain with a default of 1, set it to not 1 on appropriate domains (I probably missed some, or got some wrong). Have RamSearch use that instead of SystemInfo, remove ByteSize from SystemInfo since it is no longer needed
2015-02-22 15:19:38 +00:00
adelikat
36e4ceca93
A7800 - oops, fix a bug in pokebyte when I merged ram1 and ram2 into the ram domain
2015-01-27 23:08:06 +00:00
adelikat
e195004433
atari 7800 - make a few memory domains explicitly read-only instead of silently failing on write
2015-01-27 00:54:11 +00:00
adelikat
f4664bba9b
Atari 7800 - combine Ram1 and Ram2 into a single Ram domain
2015-01-27 00:50:33 +00:00
adelikat
ac442130ae
Refactor IMemoryDomains and MemoryDomains to have setters for MainMemory and SystemBus, so a core can customize instead of using a one size fits all assumption. Remove constructor that sets main memory and refactor accordingly
2015-01-24 16:02:28 +00:00
adelikat
91ffc17aae
Refacotor MemoryDomain.Size to be long instead of int, still some small todos, but it compiles and seems to work
2015-01-18 15:25:47 +00:00
adelikat
bd74041cde
fix atari 2600 and pc engine similarly
2015-01-15 15:56:41 +00:00
adelikat
dfe7b23fe6
Lynx - break stuff up into separate files
2015-01-15 14:04:18 +00:00
goyuken
82fcd0bc5e
refactor IVideoProvider into a service. uses in mainform and friends are still hacky
2015-01-14 22:37:37 +00:00
adelikat
fbdb29b64c
refactor IMemorydomains to be a domain list instead of having a domain property, refactor cores to register an IMemoryDomains instead of being one
2015-01-14 21:55:48 +00:00
adelikat
d62ba4e2b4
Change IMemoryDomains to have an IMemoryDomainList instead of a MemoryDomainList, this is an incremental step into eventually having IMemoryDomains take over the properties of IMemoryDomainList, still todo: reduce the amount of needed functionality in IMemoryDomainList from old and not good code
2015-01-13 22:18:07 +00:00
adelikat
7fd19ab26d
Atari 2600 - implement StepOver and StepOut
2014-12-24 17:08:09 +00:00
adelikat
85730524ef
Atari 2600 - restrict the access level of a bunch of things, and some slight reorg
2014-12-24 15:24:25 +00:00
adelikat
0f2197cec1
Break off ITracer from IDebuggable, rename to ITraceable and make it an IEmulatorService, refactor things accordingly
2014-12-23 01:58:12 +00:00
goyuken
8fb7d3ea9d
does it work? who knows!
2014-12-20 19:17:35 +00:00
adelikat
6512dcbd62
Atari 2600 - make the system bus 64k instead of 8k, this is technically more correct, even though all that space is just mirrored data
2014-12-20 18:09:31 +00:00
adelikat
ffdeb618f7
IDebugable - add a CanStep() method, and implement it in all IDebuggable implementations
2014-12-20 13:29:57 +00:00
adelikat
a8116297a0
Rename Register to RegisterValue
2014-12-20 13:16:15 +00:00
adelikat
7bebb66589
IDebuggable - refactor GetCpuFlagsAndRegisters to be IDictionary<string, Register> where Register is a value and a bitsize
2014-12-20 03:19:33 +00:00
adelikat
287d9376c8
Atari 2600 - implement StepInto
2014-12-18 18:48:37 +00:00
goyuken
972173282a
support new disassembler infrastructure in 2600 and nes
2014-12-15 22:52:22 +00:00
adelikat
d08fb39cb8
Refactor IDebuggable StepInto/Over/Out methods into void Step(StepType type);
2014-12-15 22:19:10 +00:00
adelikat
725a8fb092
Add StepInto(), StepOver(), StepOut() to IDebuggable, have all cores implement it with unimplemented dummy functions
2014-12-14 18:58:16 +00:00
adelikat
9fc46f6764
mark cores that would not ever use IDriveLight, a bit silly, but it keeps the feature list clean and that's currently my only source of sanity with keeping up with what needs to be done
2014-12-12 01:58:12 +00:00
adelikat
2d1a43dc65
MemoryCallbackSystem - simplify by having a single Add method with a MemoryCallbackType parameter, and some simplifying of client code as a result
2014-12-07 18:53:56 +00:00
adelikat
0b84beec88
Move MemoryCallbackSystem from CoreComm to IDebuggable and refactor accordingly, Lua - tell the user when memory callbacks are not available for a given core
2014-12-05 01:56:45 +00:00
adelikat
309088211c
Move TraceBuffer from CoreComm to IDebugable and refactor accordingly
2014-12-05 00:05:40 +00:00
adelikat
d8a204572d
Add an IServiceProvider interface and make it a property of IEmulator, the purpose of this provider is to provide IEmulatorServices upon request. Make BasicServiceProvider and have all cores use it for now. BasicServiceProvider will return the core itself if the core itself is the requested type. He will also be able to return nested types (code not finished). Wired this up to the HasSavestates extension method (a method that has minimal value now) as a proof of concept.
2014-12-04 03:38:30 +00:00
goyuken
5f770e4696
update pad callback infrastructure in vbanext core, remove unused stub in lynx core, disable in dual gb core until i get around to it, better comment in gb core
2014-12-04 01:46:59 +00:00
adelikat
a07263c04e
Move InputCallbackSystem from CoreComm to IInputPollable, and refactor all cores accordingly. Lua - OnInputPoll() - log to the user when attemping to add a callback of this type to a core that has not implemented input callbacks. Mark all unmanaged cores' implementations of the InputCallbackSystem as FeatureNotImpleented, won't have any effect on functionality, but will help us keep track of the fact that they still have a bit of work to do. Still todo: ActiveChanged event handler on the base implementation of IInputCallbackSystem
2014-12-04 00:43:12 +00:00
adelikat
a283063f5f
some Atari 2600,7800 reorg
2014-12-01 14:21:37 +00:00