Commit Graph

51 Commits

Author SHA1 Message Date
adelikat 2f8ce5e1d1 SNES - hook up autofire controllers, also probably hooked up player 3 & 4 that were probably not working up to now 2012-09-26 01:20:11 +00:00
adelikat 32ca8fba61 SNES - hook up power cycle to mnemonics for recording & input display, TAStudio - hook up the power button on virtual pad 2012-09-16 17:39:57 +00:00
goyuken 727e441bb4 change gameboy control "Reset" virtual button to "Power" virtual button
some consoles have both "Reset" and "Power" notions, so this is to be more consistent
i'm not sure that i got all references...
2012-09-16 16:25:54 +00:00
goyuken a8fb28f652 finish wiring up reset control for gameboy. i recorded and played back a movie containing a "soft reset", and it worked correctly. 2012-09-15 16:59:21 +00:00
adelikat a075f21af6 Implemented autohold for autofire keys 2012-09-15 13:11:29 +00:00
adelikat ead2d186cf SNES - hook up movie playback, probably, needs a frame counter to use it 2012-09-05 02:24:03 +00:00
zeromus 37e6f68370 bsneshawk step 1 of N - compile libsnes, make bsneshawk core, setup interop, support frameadvance, video, gamepad. games are playable, I think. 2012-09-04 00:20:36 +00:00
adelikat 632127fe0a NES - don't record lag frame status into movies, it is not necessary for TAStudio anymore 2012-09-03 21:38:11 +00:00
phillip.grimsrud 8bc250e7dd 1. Added Atari 2600 to COMMANDS dictionary.
2. Added Atari 2600 case when updating virtual pads.
2012-06-30 01:23:02 +00:00
pasky1382 7ef1151b99 Added a 'Custom Colors' Dialog for the Hex editor tool. 2012-06-10 22:43:43 +00:00
adelikat 059aebec8e ColecoHawk - set up ROM loading (bind .col to Coleco), set up preliminary controller garbage in 85 places for coleco 2012-05-06 00:54:13 +00:00
adelikat c112573c30 Atari - fix recording/playback & input display of 2 players 2012-04-21 18:27:37 +00:00
zeromus 35fbe354c1 add threaded display manager to allow heavy OSD/compositing/filtering to happen on another thread. add a lua layer accessible via GDI+ which can be automatically composited and the simplest possible demo of it. add some filtering infrastructure and a hq2x filter set ported to c# but need to work on a minimal selector gui before its usable. separate OSD from RenderPanel so that gdi+ presentation mode now gets full OSD support. the OSD is now a little uglier because its drawn entirely differently and could use some finetuning 2012-04-16 08:18:41 +00:00
brandman211 f6a353196d -Started refactoring InputConfig.cs as adelikat requested:
--Created CONTROLS constant which contains all of the controls in one dictionary.
--Shrunk DoNES significantly.

TODO:
-Shrink UpdateNES.
-Generalize both functions and apply to NES.
-Have all of the platform specific functions utilize these generalized functions.
-Combine all of the platforms.
2012-03-24 19:45:50 +00:00
peter e310e90d9f Conditionally compile Windows code, make Throttle class portable, and add dummy input/audio implementations for non-Windows
This is (almost, bar some local resource hacks) enough to start the
emulator on Linux/Mono, load a ROM and watch the demo (input and
audio don't work yet).
2012-03-12 04:44:34 +00:00
zeromus c0ace9ce83 add a2600 core stub 2012-03-07 00:40:20 +00:00
zeromus fd6ac896fc general cleanup.. remove a bunch of warnings.. improve log console system a bit.. add new icons for log console window.. remove old demo psx interop system and add new, simpler one, which isnt really tested yet but is way less annoying. 2012-02-24 20:38:35 +00:00
brandman211 91ea63c09e -Made the errorMsg in ImportFile display.
--Moved the command message in ImportText to this.
-Converted ImportVBM to use a MnemonicsGenerator.
--This should work, but I can't test as I still don't know for sure as the import fails and displays "Not a valid VBM platform type."
--I iterated through the buttons using a list and left-shifting. I applied this method to ConvertMMV, which works.

TODO:
-Comment MovieImport.cs.
-Fix the exception that is thrown for Gameboy games.
-Get ImportVBM to actually work, scanning through the input to see if it seems sane.
-Figure out why pressing Pause on GameGear results in a "P" instead of a "p", and whether or not this is a factor in runs syncing.
2012-02-24 04:44:40 +00:00
brandman211 fcd8822a6b -Finished my simplification of InputAdapters for everything but TI-83 (I don't remember how to test it). Saved 183 lines from the last revision, and this number is probably going to grow tremendously after TI-83 is handled.
-Inadvertently fixed the seemingly broken Genesis 3-Button Controller mnemonics...the controllers weren't responding at all before. I guess refactoring and working with simplified code IS worth it. <_<
--That said, this is still really broken:
---Mnemonics don't show up while recording.
---Input goes past the frame length, and it's never labeled finished.
---Doesn't seem to sync at all.
---This exception:
---------------------------
Oh, no, a terrible thing happened!

System.Exception: unhandled opcode at pc=013648
   at BizHawk.Emulation.CPUs.M68000.MC68000.ExecuteCycles(Int32 cycles) in C:\Users\Administrator\Repo\bizhawk\BizHawk.Emulation\CPUs\68000\MC68000.cs:line 147
   at BizHawk.Emulation.Consoles.Sega.Genesis.FrameAdvance(Boolean render) in C:\Users\Administrator\Repo\bizhawk\BizHawk.Emulation\Consoles\Sega\Genesis\Genesis.cs:line 106
   at BizHawk.MultiClient.MainForm.StepRunLoop_Core() in C:\Users\Administrator\Repo\bizhawk\BizHawk.MultiClient\MainForm.cs:line 1676
   at BizHawk.MultiClient.MainForm.ProgramRunLoop() in C:\Users\Administrator\Repo\bizhawk\BizHawk.MultiClient\MainForm.cs:line 346
   at BizHawk.MultiClient.Program.Main(String[] args) in C:\Users\Administrator\Repo\bizhawk\BizHawk.MultiClient\Program.cs:line 47
---------------------------
System.Exception: unhandled opcode at pc=013648

   at BizHawk.Emulation.CPUs.M68000.MC68000.ExecuteCycles(Int32 cycles) in C:\Users\Administrator\Repo\bizhawk\BizHawk.Emulation\CPUs\68000\MC68000.cs:line 147

   at BizHawk.Emulation.Consoles.Sega.Genesis.FrameAdvance(Boolean render) in C:\Users\Administrator\Repo\bizhawk\BizHawk.Emulation\Consoles\Sega\Genesis\Genesis.cs:line 106

   at BizHawk.MultiClient.MainForm.StepRunLoop_Core() in C:\Users\Administrator\Repo\bizhawk\BizHawk.MultiClient\MainForm.cs:line 1676

   at BizHawk.MultiClient.MainForm.ProgramRunLoop() in C:\Users\Administrator\Repo\bizhawk\BizHawk.MultiClient\MainForm.cs:line 346

   at BizHawk.MultiClient.Program.Main(String[] args) in C:\Users\Administrator\Repo\bizhawk\BizHawk.MultiClient\Program.cs:line 47
---------------------------
OK   
---------------------------
--I don't think I broke anything...if anything, I fixed it slightly so that input is at least recognized in some way.
--Question: Is Genesis going to be properly supported by release time? If so, I might hold off a Genesis TAS until this is done. I hate Gens.
-Moved BUTTONS, COMMANDS, and new variable PLAYERS, which indicates how many players are for a given system, to Global.cs.
--If there's a better place for this, please let me know.
--That said, if there are places in the code that refer to the mnemonics of button names of a given system, we should definitely apply these variables for easier modification. Please let me know where these places might be.
-Fixed ImportText(). It now only reads as many controllers as the given system supports.

TODO:
-Merge the TI-83 stuff.
-Mnemonic header.
-Comment!
-Fix the TI-83 mnemonics with the IRCs blessings.
-Port the new mnemonics to the wiki.
-Fix the importers.
--I don't think ImportMMV handles the Pause and Reset commands (Or buttons, I don't even know) covert.
2012-02-20 23:25:26 +00:00
zeromus 60f2b411b6 dont vsync when fastforwarding or unthrottling 2011-09-04 05:18:38 +00:00
zeromus 8c08bc84cb tweak multitrack logic 2011-08-21 04:44:40 +00:00
andres.delikat cde05919ad Refactor autofire into an autofire controller. Added On & Off values that can be used to create any combination of On/Off patterns, hooked them to Global.Config values 2011-08-09 22:13:57 +00:00
andres.delikat 8fa630c0fa Autofire UI for PCE, GG, GB 2011-08-09 02:40:22 +00:00
andres.delikat 63b1f9b93a Input Config - autofire for SMS/GG/SG, disable autofire pulldown item for TI83 2011-08-09 02:16:46 +00:00
andres.delikat 9b2ba5c85c Basic implementation of Global.ActiveController, uses an ORAdapter to OR against Active Controller. Still TODO: setting up autofire controllers for platforms and a UI in the Controller Config 2011-08-09 00:51:46 +00:00
andres.delikat 0d01af5c7b Refactor autofire, remove the autofire adaptor. Added an autofire bool to IController and implemented it in the Controller object. Setting to true will turn the controller buttons into autofire buttons 2011-08-08 23:35:13 +00:00
andres.delikat d92c27f89d Autofire Input Adaptor, currently no UI for it 2011-08-07 23:26:06 +00:00
andres.delikat d69abc909d Cheats - more refactoring by putting code into the CheatList object 2011-08-06 19:30:21 +00:00
beirich b27673f26c M-M-M-MONSTER COMMIT! change Game-load api stuff 2011-08-04 03:20:54 +00:00
beirich 74a58186df fix Disc/Disc name collision
add function to disc-api to get game-ID hash from 1st data track
2011-08-03 00:57:01 +00:00
zeromus 19d0cc627e get some of the disc api interop stuff checked in 2011-08-02 08:26:33 +00:00
andres.delikat 3481943b74 Overhaul movie savestate logic - cleaned up a lot of code, implemented GUID, Future Event, and Timeline checks to read-only situations. Prevented loading of state if an error occurs. Still TODO - GUID checks in read+write mode 2011-07-31 16:41:27 +00:00
zeromus 5580295085 movie input refactoring 2011-07-24 23:14:16 +00:00
zeromus 29b2e30c36 cleanup Controller class (remove old sticky and forcing code) 2011-07-24 20:37:10 +00:00
zeromus e4f9f76198 fix ti-83 virtual keypad 2011-07-24 20:23:27 +00:00
zeromus 198431b8a2 add StickyXORAdapter 2011-07-24 19:52:13 +00:00
zeromus 8a1e0c2b09 unmanaged core experiment 2011-07-24 06:45:05 +00:00
zeromus 61f466ca8e fix more input stuff better 2011-07-10 07:39:40 +00:00
zeromus 2425b3c87a fix some input things 2011-07-10 06:24:04 +00:00
zeromus 4991b95def refine input stuff 2011-07-10 02:14:58 +00:00
zeromus 0aa234282e phase 1 of fixing up controller logic. tell me how terribly ive broken the movie code. might want to fix it before moving on to phase 2 or decide to revert. 2011-06-27 05:31:46 +00:00
andres.delikat 52215061aa some implementations necessary for the gameboy controller 2011-06-27 01:24:26 +00:00
andres.delikat 5bda595ee7 fixs spaces into tabs in a bunch of files because I'm tired of fixing it gradually 2011-06-19 23:39:25 +00:00
kylethomson e9942dc101 Multitrack overwrite works. Now to fix playback. 2011-06-16 03:56:40 +00:00
kylethomson 18fe637193 Start of MultiTrack. 2011-06-16 01:18:16 +00:00
zeromus c0988feaa3 add CoreInputComm/CoreOutputComm, remove Query system, hook up nes video config options 2011-06-11 22:15:08 +00:00
andres.delikat a5bf181621 active controls should be set to a null emulator as an option too (this still doesn't fix the crash on load though as it never gets to the code that sets active controls because that is triggered by the loading of a ROM) 2011-05-08 13:43:53 +00:00
beirich 33c300ff7b good news: movies work! bad news: 1) movies don't work for TI83 yet 2) I broke some NES things, to be fixed in a later commit 2011-05-08 00:06:43 +00:00
zeromus 022c4be0c8 add nes stub 2011-02-20 02:17:09 +00:00
zeromus 3c7534e92a TI-83 emulator lol 2011-01-18 10:28:10 +00:00