Commit Graph

1714 Commits

Author SHA1 Message Date
brandman211 22feb43b78 joypad_set works. 2012-03-19 19:10:30 +00:00
andres.delikat da634a45f1 Lua Console - autoload session 2012-03-19 16:49:47 +00:00
andres.delikat 33383b533b Lua Console - option to disable scripts on load 2012-03-19 16:19:31 +00:00
andres.delikat adda412369 Lua Console - track changes on Move Up / Down 2012-03-19 15:33:38 +00:00
andres.delikat 40b057a474 Lua Console - drag & drop .txt files 2012-03-19 15:26:05 +00:00
andres.delikat 9f6420b2bc Lua Console - Open Script - add a *.txt option in the openfile dialog 2012-03-19 15:23:08 +00:00
brandman211 78d8effcfc Made joypad_get independent of mnemonics. Here's the Lua script I used to test:
while true do
	joypad.set("Up", true)
	local buttons = joypad.get()
	local result = {}
    for index, value in pairs(buttons) do
        table.insert(result, index .. ": " .. tostring(value))
    end
	gui.text(0, 36, table.concat(result, "\n"))
	emu.frameadvance()
end

For some bizarre reason, after a while, the ordering of the buttons goes from stable to chaotic, making it impossible to read the buttons pressed. adelikat says not to worry about this because order is meaningless in Lua. Still, this is very curious...

TODO: Set using a ClickyVirtualPadController and Global.StickyXORAdapter.SetSticky(Controller + " Up", false)...whatever that means.
2012-03-19 14:52:23 +00:00
brandman211 a4a8dec005 Lua glue for zeromus. 2012-03-19 03:39:56 +00:00
adelikat 0bdce38dc4 Add atari to path config dialog (interim builds only) 2012-03-19 02:12:43 +00:00
adelikat c92f1b556c Lua - implement movie.filename(), movie.getreadonly(), movie.setreadonly() 2012-03-18 19:52:28 +00:00
adelikat e695263eba Lua - implement movie.isloaded() and movie.length() 2012-03-18 19:33:38 +00:00
adelikat 951721bb39 remove joypad.set and add joypad.get, as set was not built and get was 2012-03-18 19:14:50 +00:00
adelikat 44daaa0841 Lua - Implement savestate.save 2012-03-18 18:24:24 +00:00
adelikat c3cb5e0b72 Update version number, note that the previosu commit, r1983 marks the start of version 1.0.3 2012-03-18 17:22:21 +00:00
zeromus 42f16e95ac dont use so much cpu while paused and whatnot 2012-03-18 17:11:59 +00:00
zeromus efd5bcaa21 context menu screenshot -> clipboard 2012-03-18 04:08:05 +00:00
adelikat ada3c55311 lock down PCE BG Viewer to interim 2012-03-18 00:30:36 +00:00
adelikat 6072d2d8de Open ROM dialog - better organization of interim vs release 2012-03-18 00:05:35 +00:00
zeromus f7d0852741 build luainterface differently. fix lua poop? 2012-03-18 00:05:06 +00:00
adelikat e404dea408 lock down gameboy and atari to interim build only 2012-03-18 00:00:47 +00:00
zeromus d0354fd1fe fix lua poop 2012-03-17 23:40:30 +00:00
adelikat 338f4230f1 Lua Console - logic for hiding/disabling menu items 2012-03-17 23:16:11 +00:00
adelikat 300f68e8b7 Lua Console - implementing changes tracking and asking to save changes 2012-03-17 22:23:52 +00:00
adelikat 97f32bde91 Lua Console - implement recent session 2012-03-17 21:59:56 +00:00
adelikat 44ba1c2594 Lua Console - implement Save Session and Save Session As 2012-03-17 21:31:48 +00:00
adelikat c3aeda2d54 Lua Console - clear output window on New Session 2012-03-17 12:19:30 +00:00
adelikat 1380cccd7a Lua Console - output window - context menu with a clear option 2012-03-17 12:14:59 +00:00
adelikat dac438ec02 Lua Console - Better dialog for lua functions list, stop and start sound on calling list 2012-03-17 02:18:09 +00:00
andres.delikat 871e6df12f PCE BG Viewer - GUI overhaul 2012-03-16 15:29:05 +00:00
andres.delikat c55e863b15 TASEdit - fix frame advance button 2012-03-16 15:27:45 +00:00
zeromus 219df85492 multiclient-sync nes's bogus soundOn hack at the moment when a nes core is launched, to avoid situation where we can't enjoy the bogus and likely buggy speedhack unless we fiddle with the sound options to refresh them 2012-03-15 19:16:43 +00:00
brandman211 45430c8ca7 ImportMCM now supports NES movies.
-No info on the control bytes, so I'm not dealing with them right now.
-It seems like there's an extra byte for at the beginning of input for NES that doesn't exist for PCE.
--I think it might be the "1 byte for power-on and reset" that the docs refer to, though I'm not sure why this would exist for NES and not PCE...because NES supports control commands and PCE doesn't?
--Perhaps this will become more apparent if I write the importers for SMS, GG, GB, and GBA. I'll need access to a Linux machine to do these, though.
2012-03-15 04:22:37 +00:00
brandman211 172115dcca Reformatted ImportMCM. Now to add the additional consoles. 2012-03-15 02:23:01 +00:00
zeromus 3c267db54c add reset button to atari 2600 and add .a26 to multiclient filetypes list 2012-03-14 21:35:07 +00:00
brandman211 e71763ba81 Added file types to the Import Movies dialog. 2012-03-14 20:46:59 +00:00
brandman211 4c47676c02 -Added warning messages for:
--FDS commands in ImportFMV.
--Bad ROM checksums in ImportText. TaoTao: There's nothing wrong with using warningMsg; it just is limited to showing the first warning message that occurs.
-ImportNMV
--Nintendulator's Four Score recording is seemingly broken.

TODO: ImportMCM clean-up / expansion, Intellivision research.
2012-03-14 20:08:00 +00:00
Rolanmen1 a8df8116e6 Toggling Lua Scripts By Double Clicking Now Works 2012-03-13 22:39:07 +00:00
Rolanmen1 ff21856389 Toogling Scripts From The Toogle Button And Menu Option Works, Double Clicking Doesn't 2012-03-13 22:08:17 +00:00
Rolanmen1 21fbe4f16e Unwanted Exception When Turning Off All Scripts Fixed 2012-03-13 21:36:20 +00:00
Rolanmen1 4a3544a5a7 Random Crashes When Using Lua Scripts Fixed 2012-03-13 21:21:21 +00:00
Rolanmen1 04c8e8d7a3 Skip Lag Frame When Frame Advancing Has Been Implemented 2012-03-13 21:19:36 +00:00
adelikat e0e95ee8ea PCE BG Viewer - implemented auto-load and save window position options 2012-03-13 02:41:10 +00:00
brandman211 f53088c7be -Used masks to simplify ImportFMV.
-Finished ImportVMV:
--I'm not sure what the following comment means: "For the other control bytes, if a key from 1P to 4P (whichever one) is entirely ON, the following 4 bytes becomes the controller data." I'm going to assume this is a bad translation that is the equivalent of my 4 controllers = 4 bytes comment.
--Nesmock has a block of code that seems to handle, or at least account for, commands (Lines 207 - 239 of virtuanes.hh). I don't do anything about this, but it doesn't seem like Nesmock does much of anything about it either. I'll ignore this for now.

TODO: ImportNMV, clean up ImportMCM, and perhaps support other platforms for .MCM, although everyone thinks it's a waste...I like writing importers! I'm afraid of writing cores!
2012-03-13 02:37:59 +00:00
adelikat 863f3fc4e5 fix an error in chr rom size for a CNROM game 2012-03-13 02:10:18 +00:00
andres.delikat f863bc41ed PCE GB Viewer - start a menu strip 2012-03-12 22:05:53 +00:00
brandman211 8938290e36 -Fixed FourScore handling for .FCM.
-Made it so that .tas is appended to the file path instead of changing the extension to it.
-Added default emu/MovieOrigin comments to the importers that don't have explicit ones.
-ImportVMV header / added blank frames
-Moved the MnemonicsGenerator declarations outside of the loops.

TODO: Finish ImportVMV (I don't think the provided documentation explains how the input works...) and figure out if my re-record count is off by one or if TASVideos.org is.
2012-03-12 20:35:10 +00:00
taotao54321 287c5c61f8 PCE BG Viewer:
Added a dropdown box to select VDC1/VDC2.
  Now it is automatically updated in 3fps. (this is just a makeshift. PCE core should provide callbacks)
2012-03-12 06:27:34 +00:00
taotao54321 b10b7632e8 Forgot to add files. very sorry 2012-03-12 05:26:48 +00:00
taotao54321 54f89fca9f Added PCE BG Viewer (interim) 2012-03-12 05:19:59 +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
peter 1d111ce0ff Use Path.Combine where appropriate 2012-03-12 04:44:26 +00:00
peter ccc9fdf672 Case sensitivity fixes 2012-03-12 04:44:19 +00:00
peter 0776d48b81 Add subwcrev.sh build script for non-Windows platforms 2012-03-12 04:44:10 +00:00
adelikat 22f0b358aa Make lua files run again 2012-03-12 01:57:38 +00:00
beirich ca47082737 fix some PCE savestate desyncs 2012-03-12 00:14:44 +00:00
adelikat 79d8f3d920 Fix display of Loadstate hotkeys in loadstate menu 2012-03-11 20:56:15 +00:00
taotao54321 41b1d3c82a Lua: now setrenderplanes() works also with SMS. 2012-03-11 17:25:25 +00:00
taotao54321 bcbe16c49c Moved SMS-related settings to "SMS" menu from "Emulation" menu 2012-03-11 17:19:15 +00:00
taotao54321 a595e367db Added SMS specific menu: Graphics Settings
PCE Graphics Settings dialog bugfix
2012-03-11 17:08:25 +00:00
taotao54321 3dcd94ea3d Moved PCE-related settings to "PCE" menu from "Emulation" menu 2012-03-11 16:30:55 +00:00
taotao54321 2f9a5212bc Added BG/OBJ display settings for SMS (not accessible yet) 2012-03-11 16:15:20 +00:00
adelikat 62f80406c4 Clean up the PCE Graphics config dialog 2012-03-11 15:41:51 +00:00
taotao54321 2b79ae88b3 Added a comment 2012-03-11 15:18:24 +00:00
taotao54321 9d72bf0c7c Added PCE specific menu: Graphics Settings 2012-03-11 15:12:48 +00:00
brandman211 05f73ab436 Made it so that the Reset flag gets reset (Hehe) every frame, regardless of whether a warning message has been hit already or not. This fixes the ImportFM2 and ImportFCM functions that were broken in the last commit. Thanks TaoTao! 2012-03-11 13:27:11 +00:00
taotao54321 f117e4fce8 ImportMCM() bugfix 2012-03-11 13:21:16 +00:00
brandman211 79944b2d26 -Applied micro500's flag ANDing syntax to all of my functions...I concede that this is a much simpler way to do this.
-Fixed ImportFMV's movie title; before, I mistook it for the game name.
-Made "comment" and "SyncHack" constants.
-Moved the "ControllerDefinition"s outside of all of the loops.
-ImportGMV:
--Emulation Version => Movie Version.
--Added the PAL header.
--Made it so that the 6-button error is a warning; considering that the code already properly handles the controller properly and all that needs to be done is have Bizhawk actually support that kind of input, I don't feel there's a reason to go so far as to kill the conversion in this case.
--Reformatting.
---Notably, I added a player loop to simplify the frame data.
--It seems that 1937M uses a 6-button recording and 1731M has 2-player input...bizarre. Anyway, this means that ImportGMV should be good now.

TODO: ImportVMV, ImportNMV, ImportMCM, ImportSMV, Atari core? :)
2012-03-11 12:24:56 +00:00
taotao54321 575c44f470 Now setrenderplanes() works also for SuperGrafx. 2012-03-11 09:51:23 +00:00
taotao54321 f25ddb2fce Lua: now setrenderplanes() takes variable arguments 2012-03-11 09:16:09 +00:00
taotao54321 05321d19bc NES Graphics Settings bugfix 2012-03-11 07:02:10 +00:00
taotao54321 30b0dc6780 PCE: added settings to show/hide BG/OBJ for TurboGrafx (not for SuperGrafx)
Now setrenderplanes() works for TurboGrafx (not for SuperGrafx)
2012-03-11 06:50:46 +00:00
taotao54321 beb0b5a74d Lua: added setrenderplanes(). For now, it works only for NES. 2012-03-11 05:47:38 +00:00
taotao54321 3dffd0b9b6 cosmetics (added trailing commas to make it easy to add new lua functions) 2012-03-11 05:13:12 +00:00
adelikat 86da2c6b5e About box - add contributers 2012-03-11 01:22:02 +00:00
adelikat 76f1faf122 Lua - add gui.alert() which draws messages in the alert font 2012-03-11 00:54:24 +00:00
adelikat 635ae613a4 Ram Watch - when drawing watches on screen, use alert font for frozen addresses 2012-03-11 00:50:06 +00:00
taotao54321 3687b8d803 NES Debugger: fixed disassembler to print addresses correctly 2012-03-10 19:42:20 +00:00
taotao54321 bd5f1b3135 NES Debugger: implemented poor disassembler 2012-03-10 17:54:58 +00:00
adelikat 8ae543bb14 Lua implementation - code cleanup 2012-03-10 16:14:19 +00:00
adelikat 40698b119c Add an atari controller image for controller config dialog 2012-03-10 14:10:50 +00:00
adelikat 49c751e4c4 variation of a game added to gamedb.txt 2012-03-10 13:55:36 +00:00
adelikat efd4c5cbab Make...a certain game...work 2012-03-10 13:30:39 +00:00
taotao54321 a69ec16c03 Lua: Implemented writebyte() and fixed readbyte() 2012-03-10 03:58:42 +00:00
taotao54321 66f034b96f Modified gui.text(): convert arguments to int directly 2012-03-10 03:31:07 +00:00
taotao54321 5283b29d54 Lua: Implemented new memory access functions. It can specify datasize and endianness.
Lua: Modified print() to emit a newline.
Lua: Fixed console_clear() not to take any argument.
2012-03-10 03:07:05 +00:00
adelikat 7e38f4a940 Hex Editor - move Add to Ram Watch to Ctrl+W instead of A! A is a hex value that should be able to be typed in 2012-03-10 02:31:34 +00:00
zeromus 65282a366e fix versions stuff 2012-03-10 00:21:40 +00:00
adelikat 5195453229 Update versioning stuff and about box, and set interim flag back (I seem to keep checking that in on accident). This marks the beginning of 1.0.2. 2012-03-09 23:33:56 +00:00
taotao54321 7613d51ea2 Bugfix for log console.
Console type should not be changed by user when console is shown.
2012-03-09 21:36:55 +00:00
taotao54321 b207c81fea Removed unused LogWindow::ShowConsole() 2012-03-09 21:22:52 +00:00
taotao54321 8cbe59cfa8 Fixed the behavior related to closing LogWindow.
If you close LogWindow manually, Config.ShowLogWindow becomes false.
If you close the emulator window, Config.ShowLogWindow does not change.
2012-03-09 21:20:02 +00:00
adelikat 88424ca2b7 Fix a few warnings 2012-03-09 20:38:44 +00:00
taotao54321 386d9b5f71 Now LogWindow should save the settings correctly 2012-03-09 20:37:43 +00:00
taotao54321 83447d2d71 Now LuaConsole should save the settings correctly. 2012-03-09 20:12:57 +00:00
taotao54321 ecf9e6efc0 Now NESNameTableViewer, NESPPU, NESDebugger, Cheats, TI83KeyPad, TAStudio should save the settings correctly. 2012-03-09 20:10:01 +00:00
taotao54321 7779326535 Now Ram Search and Ram Watch remember the window position correctly 2012-03-09 19:32:43 +00:00
adelikat c5c1457f32 NES PPU Viewer - clipboard options for palette, pattern, and sprite 2012-03-09 19:22:31 +00:00
adelikat c7ec2aed6c NES Nametableviewer - Screenshot to clipboard option 2012-03-09 19:07:16 +00:00
taotao54321 3017dacdf1 SetMemoryDomain() called StartNewSearch(), so fixed it
It broke LoadSearchFile()
2012-03-09 18:50:26 +00:00
adelikat 4cfceab969 Add screenshot -> clipboard to Ctrl+C hotkey, and add message on screen 2012-03-09 17:31:37 +00:00
taotao54321 9716387b2f HexEditor: set defaultWidth/Height at loading, not in constructor 2012-03-09 17:14:39 +00:00
taotao54321 389693e6f4 HexEditor: member Width, Height hide the original property Width, Height. So renamed to Width_, Height_ 2012-03-09 16:37:55 +00:00
adelikat baf189b464 Movie Import dialog - combine .mc2 and .mcm into a Mednafen/PCEjin row instead of seperately (both .mc2 and .mcm have been used at some point in both emulators) 2012-03-09 16:31:14 +00:00
taotao54321 0e2341b37f Sometimes HexEditor forgot the settings, so fixed it
And refactored loading/saving settings
2012-03-09 16:13:40 +00:00
brandman211 be60ee206a -More tweaking of ImportGMV.
-Fixed InputAdapters with regards to the Genesis 3-Button Controller. It previously did not have a flag placeholder.

Potential issues that I don't have the time to investigate right now:
-When importing 1937M, I get the error "6 button controllers are not supported." Is this a false positive?
-The result of importing 1731M seems sane, but has 2-player input. This run is classified as "One player in a multiplayer game". Is this input normal?
2012-03-09 15:30:09 +00:00
taotao54321 888ce23bee ImportText(): interpret "romChecksum" entry in FM2 2012-03-09 13:26:06 +00:00
taotao54321 dae469543e ImportMCM(): forgot to close input stream 2012-03-09 12:18:16 +00:00
taotao54321 e0aa4b15da Added *.fcm and *.mcm to the filter of "Import Movie" dialog.
And some typo fix.
2012-03-09 12:10:41 +00:00
taotao54321 adceb81e91 ImportFCM(): emits "Platform" entry 2012-03-09 11:49:43 +00:00
taotao54321 363fa25200 ImportFCM(): fixed to interpret reset commands correctly.
It emited an incorrect result for "Zanac (U)" movie (734M).
Control update bytes are not toggle-form, unlike controller update bytes.
2012-03-09 11:38:29 +00:00
taotao54321 869f900d11 MovieImport: modified EMULATIONORIGIN value to "emuOrigin" from "emuVersion".
On previous versions, converted files had two "emuVersion" entries. That seems not right.
2012-03-09 09:30:33 +00:00
taotao54321 da9c95c38e Implemented ImportMCM() 2012-03-09 09:24:47 +00:00
adelikat f9e43cf3d7 Mapper 46 - fix gamedb entry, put in high bits 2012-03-09 03:24:05 +00:00
adelikat 5655262df6 Start Mapper 46, could not get the gamedb.txt entry to work properly 2012-03-09 02:57:04 +00:00
adelikat 2dd03cbf03 Hex Editor - dynamically add unfreeze option to the menu item as well. 2012-03-09 01:50:39 +00:00
adelikat 502e395be0 Hex Editor - some hotkeys - A for Add to Ram Watch, Del for unfreeze, Shift+Del for unfreeze all 2012-03-09 01:43:52 +00:00
adelikat 5376186eb0 Hex Editor - Context menu - if address if frozen, show an unfreeze menu item instead of freeze 2012-03-09 01:33:55 +00:00
adelikat f0de9366ec Hex Editor - space bar toggles an address as frozen/unfrozen 2012-03-09 01:24:46 +00:00
adelikat f48de28581 Hex Editor - + and - buttons now increment/decrement the value of a selected address (added context menu items as well) 2012-03-08 18:33:57 +00:00
taotao54321 434bfebb1f set svn:executable on BizHawk.MultiClient/output/7z.dll 2012-03-08 15:23:08 +00:00
adelikat add74942f7 Stop and start sound before showing the load named state dialog. Fixes reported 'sound jitter' when using the Loadstate As hotkey. 2012-03-08 12:37:40 +00:00
zeromus 9a6d6a63bd improve nes rom detection log, and set svn:executable on some files 2012-03-07 19:14:15 +00:00
Rolanmen1 f6d558d4b4 Skipping Lag Frames While Frame Advancing Has Been Implemented 2012-03-07 03:58:54 +00:00
brandman211 28e621527c Cleaned up my baby while respecting micro500's style choices. 2012-03-07 02:48:19 +00:00
adelikat 98938de0c2 Lua - fix exception when attempting to close a lua script 2012-03-07 00:58:41 +00:00
zeromus c0ace9ce83 add a2600 core stub 2012-03-07 00:40:20 +00:00
adelikat ff3738681f Lua COnsole - ooops, don't write to output window in gui.text()! 2012-03-07 00:21:11 +00:00
brandman211 e7e8402af0 -Made the GUID for ImportVBM uniform with the other cases.
--Because there are way more bytes used to represent the other GUIDs than this one, I just appended -0000-0000-0000-000000000000 to this per zeromus' request.
-Got rid of the hex part of the BytesToString function. We apparently have BizHawk.Util.BytesToHexString.
-Converted BytesToString to r.ReadStringFixedAscii, an extension method. I've determined that extension methods are cool and that I should use them more often.
2012-03-06 05:27:50 +00:00
brandman211 c9b5f9989a -Added EMULATIONORIGIN and MOVIEORIGIN as constants ImportMovie instead of using magic strings.
-Fixed some error and warning messages:
--Made it so that the first .FCM warning is shown instead of the last.
--Added an error for .FCM files that aren't version 2.
--Did the same for ImportVBM, but with version 1.
-Cleaned up comments / code throughout.
-Fixed the file format for GBx; it had an extra bar which made reading Player 1 impossible.
-Seemingly finished ImportVBM.
--The results seem same. I have no way of testing whether they sync up or not.
--As I can't actually handle additional controllers, I just skip the bytes for them.
--As I can't actually handle the miscellaneous buttons and commands (Ex. L, R, Reset), I just give warnings whenever they come up in the file.

TODO: ImportGMV, ImportVMV, ImportNMV, and maybe ImportSMV...I'm going to need a new assignment soon! :)
2012-03-06 03:41:11 +00:00
pjgat09 e3ba08fefd Implemented the GMV importer. An error is returned for 6 button controllers, and third player input is currently thrown away. 2012-03-05 22:45:52 +00:00
brandman211 2c95e08392 ImportFCM fixed. All I did wrong was do the update before the delta bytes instead of the other way around. Thanks adelikat for telling me about QuickHex, who's documentation solved this instantly! 2012-03-05 17:36:52 +00:00
brandman211 89c6483e10 Worked on ImportFCM a little bit. I think I understand the delta bytes now and are handling them correctly. However, although this might press the right buttons, it does it at the wrong time and with the wrong duration. I'll need to investigate this further. 2012-03-05 17:20:30 +00:00
adelikat bd7c9e3309 Lua Console - implemented open lua script toolstrip icon 2012-03-05 14:27:29 +00:00
adelikat 204c025af2 Add "escape clears mapping" message on controller config dialog 2012-03-05 14:22:49 +00:00
zeromus dec7183e73 fix bug in ramwatch signed value printing, and probably unsigned 32bit value printing as well 2012-03-04 21:46:54 +00:00
adelikat 1def3a8292 Minor fixups to gif animator dialog 2012-03-04 21:00:58 +00:00
offspring131313 099cf590b6 Can now make Animated Gifs Huzzah 2012-03-04 20:37:49 +00:00
adelikat 0cb222f20e As usual, I forget to add the new winform files to the svn 2012-03-04 19:29:12 +00:00
adelikat 196ce3de45 Start an animated gif config dialog 2012-03-04 19:24:10 +00:00
offspring131313 357f6bff83 Just remembered that there was an issue with creating directories. *FIXED* 2012-03-04 19:07:52 +00:00
offspring131313 48266e670d Added a function for making Animated Gifs. No UI has been implemented to allow a user to use this functionality, but there is commented out code that I used to test it in MainForm.TakeScreenShot().
Instructions on how to use is in comments.
2012-03-04 19:02:28 +00:00
zeromus 14ae31dfbf vs wants to manage copying of lua51.dll itself as a dependency of LuaInterface.dll, and thats why it keeps deleting it sometimes when cleaning it. so move the lua51.dll alongside LuaInterface.dll and let it do the copying 2012-03-04 03:15:03 +00:00
adelikat 03ecff625b fix rather annoying typo in online help link 2012-03-04 02:52:21 +00:00
zeromus 263773cf8d multiclient-refine screenshot code, add screenshot->clipboard menuitem 2012-03-04 01:30:30 +00:00
brandman211 d12590497e -Fixed the value to & with the update to determine the difference between a Control and Controller.
-Set the buttons to the opposite state when they are updated.
--Presumably, this is how this works.
-Read the delta bytes.

TODO: Figure out where in the world the writing of frames actually comes into play. Bisqwit gave me some insight on this.
2012-03-04 00:30:48 +00:00
adelikat 63b6004293 set back to interim build 2012-03-03 23:58:13 +00:00
zeromus 2d11f91d16 make pce cd bios use path configuration 2012-03-03 21:51:20 +00:00
adelikat f415bff02e --release version 1.0.0!--
update release date on about box, add forums link, change link for online help
2012-03-03 20:49:44 +00:00
adelikat ff6b6d6677 Open FIle dialog - reorder valid rom files, put genesis and gb as "experimental" and in their own section 2012-03-03 20:17:22 +00:00
adelikat 5d44836c92 File -> MOvie -> Import movies menu item 2012-03-03 20:14:20 +00:00
adelikat 2c7fa2e363 Play Movie - remove mc2 and fm2 from list, as they have to be imported now 2012-03-03 18:44:08 +00:00
adelikat e3b3879954 FIxed Get/Set mneomnics to not break on null emulator, refactored the drag and drop for movies to allow the user to continue if they decline to open a rom from the open rom pop up 2012-03-03 18:24:34 +00:00
adelikat 3bfe716952 Fix drag and drop importing so it doesn't crash during null emulator. Also fixed the movie sram clearing function to not crash on null emulator. 2012-03-03 18:11:07 +00:00
brandman211 b07fa3b7c2 -Fixed the value to & with the update to determine the difference between a Control and Controller.
-Set the buttons to the opposite state when they are updated.
--Presumably, this is how this works.
-Read the delta bytes.

TODO: Figure out where in the world the writing of frames actually comes into play.
2012-03-02 15:59:34 +00:00
zeromus e5fb7a6958 fix release script 2012-03-02 04:16:28 +00:00
brandman211 bedbf1d5e1 -.Close()'d everything.
-Added a FourScore header and applied it to ImportFile and ImportFCM.
--Not sure if there's any equivalent header for FMV/FCM.
-Seemingly have the update bytes being read properly.

TODO: Make ImportFCM actually utilize the update bytes to write frames.
2012-03-02 04:15:15 +00:00
zeromus ff12c2c5ef dxwebsetup.exe not needed here anymore 2012-03-02 03:40:43 +00:00
zeromus e41f9d2a41 survive dsound initialization failure 2012-03-02 03:39:09 +00:00
zeromus 49eb8272f9 fix path management bug when running over network share 2012-03-02 03:34:28 +00:00
brandman211 39246b2ca5 -Added the beginning of ImportNMV and ImportVMV.
-Added PAL handling to ImportText.
-Finished the header and metadata of ImportFCM.

TODO:
-Input handling for ImportFCM.
-Find out what the format for the FDS data is on FMV, as it occurs to me that I already handle FDS data in ImportText by giving warnings, so I might as well do the same thing in this case.
-Figure out whether or not I should be using "using" for the BinaryReader objects, as it seems like they do in fact have .Close() methods.
2012-03-01 09:16:14 +00:00
brandman211 a60698c03e Finished enough of ImportFMV for now.
-There's "FDS data" stored in the frames of FDS recording. I have no idea how to handle this. If we do in fact support these features, they should be utilized in the TODO section provided.
-99M syncs with this...isn't this a problem? Wouldn't this imply that bizhawk is as inaccurate as Famtasia? I'm pretty sure this run didn't sync when I tried it on my now broken NESBot.

TODO: I guess I'll try to move on to ImportFCM now. Although I heard this is a difficult format to work with, my favorite console is the NES, and this'd be useful for console verification if the NESBot Lua script gets adapted for bizhawk, so I think I'll give it a shot.
2012-02-29 04:47:30 +00:00
brandman211 c4029509fc -Made ImportMMV more functional.
-Seemingly programmed the header handling for ImportFMV correctly.

TODO:
-ImportFMV frame data handling.
2012-02-28 23:11:19 +00:00
brandman211 0b69b4c17c -Ported the documentation for .MMV to ImportMMV in the form of comments. I think this makes things a lot simpler, and adding these comments before coding might be a good approach for future importers. That way, I merely need to understand what needs to be done and fill in the blanks.
-Added RemoveNull to get rid of the null characters in the author and game names for .MMV.
-Formatted the MD5 for .MMV.

TODO:
-Write ImportFMV. I think I understand how these formats work well enough to try this now.
2012-02-28 10:59:16 +00:00
brandman211 97d92887b6 -Refactored some of the stuff that I wrote for ImportText.
-Realized that the the ImportMMV function probably still works, but that Grunt's Sonic run merely desyncs. If I move the second pause button one frame later, it will make it past the title screen.

TODO: Comment / clean / and understand ImportMMV before moving on to ImportFMV.
2012-02-27 18:52:08 +00:00
brandman211 f2a60888ce -Commented / refactored code.
-Fixed the Platform for PCE.
-Added emuOrigin and MovieOrigin to store the original emulation and movie versions in a comment.
2012-02-25 03:04:22 +00:00
zeromus f801d04a46 now remove traces of psx from the current project, so it doesnt confuse any users 2012-02-24 20:45:27 +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 e40ca4c18d -ImportFile now has access to errorMsg, which will show a message box and not play the movie when assigned, and warningMsg, which will simply add a message to RenderPanel and move on as usual.
-Made it so that any of the exceptions thrown from the Import* functions get converted into a string and stored in errorMsg. Now I can investigate what's wrong with ImportFCM.
2012-02-24 07:48:06 +00:00
brandman211 5aaa5ccda1 -Set up the ImportFMV function to build my importer off of.
-Realized that there's already a function that decides which SMV function to import with (ImportSMV, duh), so now that's used for it. Outputs a movie with messed up headers except for the Re-record count, which works fine.
-Added format URLs for all of the movie formats except for SMV 1.52, which doesn't seem to have a documentation page yet.
2012-02-24 05:18:59 +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
andres.delikat 56febbf142 TI83 Keypad - implement the 0 button, somehow it was missed 2012-02-21 03:45:25 +00:00
brandman211 a92865a13d -Removed the redundancy from TI-83 as well. The whole revamping is a net loss of 292 lines of code.
--Note that I don't think that the calculator pad simulator is registering when I click 0, and that this doesn't seem to be related to any changes I made.
2012-02-21 00:40:44 +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
brandman211 1c1b61507d -Genesis, Gameboy mnemonics switched around.
-Made other commands lowercase.
-Added more mnemonics to the table.
-Added a command table. The writing of headers, as currently inconsistent, will probably be done manually, but it will still reference the table for easy modification.

TODO:
-Create a mnemonic header using the tables (Format now seemingly agreed upon is "Mnemonic |UDLRsSBA|").
-Generate button handling using the table, sandwiching this simplified code with the command handlers.
-Fix the TI-83 mnemonics (It has at least two redundancies: 1 and 2).
-Port mnemonics table to wiki page.
-Convert the remainder of the importers, working or not, from the string building method to the mnemonic generating one.
-Start working on more importers!
2012-02-20 05:54:31 +00:00
brandman211 cc4b2c324c -Fixed reset stuff.
--Zanac syncs.
--Applied error messages for invalid flags.
2012-02-19 20:09:42 +00:00
brandman211 791f9624f5 -Changed L to l for lag in NES mnemonics.
-Fixed PCE movie syncage.
-Preparing to revamp InputAdapters.cs with constant mnemonics.
2012-02-19 18:42:06 +00:00
brandman211 79d12b9181 -Refactored NES and PCE button orders.
-Realized that FixMnemonic is useless as GetControllersAsMnemonic() + WriteMovie() = Fixed.
-Finished the NES / PCE importers, now without string builders (Thanks zeromus)!
-Converted ImportMMV to this same method.

TODO:
-Decide how's the best way to handle the mnemonic header and implement it. Apparently, anything other than a predefined header and a | is considered as a comment, so I might do something like:

comment Mnemonic format:
[0|UDLRsSBA]
2012-02-19 07:09:24 +00:00
brandman211 5534bbd8b5 -Refactored NES and PCE button orders.
-Realized that FixMnemonic is useless as GetControllersAsMnemonic() + WriteMovie() = Fixed.
-Finished the NES / PCE importers, now without string builders (Thanks zeromus)!
-Converted ImportMMV to this same method.

TODO:
-Decide how's the best way to handle the mnemonic header and implement it. Apparently, anything other than a predefined header and a | is considered as a comment, so I might do something like:

comment Mnemonic format:
[0|UDLRsSBA]
2012-02-19 07:08:55 +00:00
zeromus 7ea52dfc8d fix bug in mnemonics generator that made it not as versatile as it was meant to be 2012-02-18 20:44:54 +00:00
brandman211 9fb0393b7f -Changed the PCE mnemonics. 2012-02-18 15:49:44 +00:00
brandman211 a6a81bb76a -Subtitles seem to work perfectly now.
-Included System.Globalization in a using statement to be more consistent with the rest of the uses of System.
-Removed trailing whitespace while I was at it. I'm OCD and it deeply bothers me, so I'll remove it on all the files that I commit in the future. Can't imagine anyone would object.
2012-02-16 00:55:07 +00:00
zeromus 80d8b617a5 a little bit of subtitle stuff cleanup, hopefully i didnt break anything 2012-02-15 19:50:25 +00:00
brandman211 213b347779 -Fixed the infinite loop caused by Movie.FixMnemonic. That was dumb.
-Removed the FCEUX handling from SubtitleList.AddSubtitle; it didn't work at all, which is good because we no longer support FM2 natively anyway!
-Added MovieImport.AddSubtitle, which parses FM2 subtitles and forwards them to the .TAS movie object.
--For the color, I used 16777215 as it seems the subtitles use decimal instead of hexadecimal...why?
--Even though I used this color, which is definitely the equivalent of FFFFFF (white), the subtitles show up as black. I don't think this has anything to do with the importer, but it's worth looking into.
2012-02-15 19:31:11 +00:00
brandman211 145830d5a4 -Began working on the importer.
--Created ImportFile to decide what function to use for each filetype.
---It currently automatically writes to a .TAS file, but that option will eventually only be applied when specified in the GUI, hopefully completely external from this class.
--Made IsValidMovieExtension work.
--Created LoadText to do the majority of the work that both .FM2 and .MC2 need to be done.
--.MC2 seems to work perfectly, not that it was a hard conversion!
--.FM2 seems to convert most headers correct, except for subtitles, which replaces the beginning portions of each subtitle's text with 0 0 120 4294967295. Not sure what that's about, though this sure feels like deja vu...
--I still need to switch around the order of the buttons the frames are added, but I need to find out what way I can do this without reinventing the wheel.
-Added the FixMnemonic function to Movie.cs. It currently does nothing, but my goal is to have it correct the mnemonic for all frames in a movie file based on the position of the characters.
--As of right now, ImportFile uses this.
-MainForm.IsValidMovieExtension only checks whether or not its .TAS or not now.

TODO:
-Fix the FM2 subtitles.
-Shift around the FM2 buttons.
--After completed, test a .FM2 file that should sync and see if it works, with and without FixMnemonic being used.
-Make FixMnemonic actually do something.
-Refactor code? I originally thought it'd be best to treat Movie.LoadText just like any other importer, but I think at this point it might just be best to keep these things completely separate.
-Consider the possibility of working with the binary file importers.
--Yes adelikat, I am somewhat interested, especially considering how useful it would be to have a working .FCM importer so I can compare old runs when TASing. I already was hoping to learn about .VBM and .SMV for my ButtonCount.lua script. By the way, might this be bundled with bizhawk as it is with FCEUX 2.1.6? :)
2012-02-15 06:54:09 +00:00
andres.delikat a45a98f773 MovieImport - implement IsValidMovieExtension() 2012-02-15 01:18:15 +00:00
andres.delikat ff5c9a2799 refactor movie convert into movie import. Currently this breaks movie conversion, as the main convert function now needs implementation 2012-02-15 00:43:21 +00:00
brandman211 a38afd4fb2 -Fixed NES movie mnemonics.
--.FM2 is no longer a valid movie extension, so it is no longer counted as such in IsValidMovieExtension.
-Reused the code from PCE controller setting for NES.
-Seem to support 4 controllers for the NES now.
-General code cleanups.

TODO:
-Input from the 3rd and 4th controllers doesn't seem to be polled properly. Figure out what's wrong here.
-The copypasta from PCE to NES could probably be made into one function. The same could be said about many other portions of this code...DRY.
-Now that the mnemonics are fixed, I will have to write a proper converter for FM2.
--Once this is done, I will try the same for PCE, even if it can currently run natively.
---Once this is done, IsValidMovieExtension might as well be removed in favor of only accepting .TAS files and converting everything else.
2012-02-14 04:28:47 +00:00
andres.delikat 8e241067e6 Lua - hook up savestate library and implement saveslot() and loadslot() methods 2012-02-03 12:18:27 +00:00
kylethomson 363b913e52 2012-01-29 03:32:18 +00:00
kylethomson ca1114311c Kill the lua thread as part of closing. 2012-01-29 03:22:05 +00:00
andres.delikat 5492a9fd19 Lua - gui.text() finished 2012-01-28 23:26:10 +00:00
andres.delikat 064bdbb9a7 Lua - start gui.text() but currently outputs to console window instead of on screen 2012-01-28 22:44:48 +00:00
andres.delikat c7cc0ee203 lua - implement memory.getcurrentmemorydomain(), memory.getmemorydomainlist(), memory.usememorydomain() 2012-01-28 22:30:04 +00:00
andres.delikat 2a86660466 Lua - MainMemory functions 2012-01-28 22:11:39 +00:00
andres.delikat 2e0ac111ab Proper checking if lua is running when doing thread waiting/set 2012-01-28 22:00:51 +00:00
andres.delikat 0082876510 LuaConsole - protect WriteToOutputWindow() and ClearOutputWindow() in case lua console is closed when called. Close the lua object on LuaConsole close (fixes some crashes). 2012-01-28 21:51:01 +00:00
andres.delikat 41708a8579 Lua - move threading code into the frame loops, now emu.frameadvance works per frame not per emulator loop 2012-01-28 21:43:55 +00:00
kylethomson 33ca14a344 Getting closer. Now catches a .NET exception in user code. 2012-01-23 01:10:56 +00:00
andres.delikat 5c2587ecfb Make last commit compile 2012-01-23 00:38:28 +00:00
kylethomson 588eed4474 Try again. 2012-01-23 00:20:23 +00:00