Commit Graph

1479 Commits

Author SHA1 Message Date
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
kylethomson a36005e8fc Fixed typo. 2012-01-23 00:18:23 +00:00
andres.delikat 7ac7f335f9 send FromCuePath a default CueBinPref object to make it compile. Todo: feed it a correct value?? 2012-01-22 23:56:49 +00:00
kylethomson 16ec704e41 Added Frameadvance with threading. Can't test, because CueFromPath is broken. 2012-01-22 23:44:53 +00:00
andres.delikat abf0698e43 oops 2012-01-22 23:07:50 +00:00
andres.delikat d4260e22b1 Lua Console - hook up recent lua menu items, and start lua session file loading 2012-01-22 23:03:43 +00:00
andres.delikat defbe971c4 Lua - open/close rom, open tool dialogs, fix memory_readbyte to read from a selected memory domain instead of hardcoded main memory (with main memory as the default), small fix ups to lua console 2012-01-22 22:42:40 +00:00
andres.delikat 78cc4d5cae Lua - started a client library for functions that control the multiclient. Added client.openramwatch() as a proof of concept. 2012-01-22 22:20:09 +00:00
andres.delikat 48c651cfc7 Lua Console - lua functions list menu item. Lua - console.clear, console.getluafunctionslist, emu.getsystemid 2012-01-22 03:14:31 +00:00
andres.delikat 95a769aa0c Lua console - minor gui fixups 2012-01-21 20:38:43 +00:00
andres.delikat 47f68a611b Lua - fix typo problem that caused exception throwing in last commit, implemented emu.pause, emu.unpause, emu.togglepause 2012-01-21 20:20:06 +00:00
andres.delikat 955cee21b6 Lua console - hook up lua file loading! Lua library - Added a console library with an implemented console.output(), registered all lua libraries, implemented movie.stop, movie.rerecords, movie.mode 2012-01-21 20:05:53 +00:00
andres.delikat ab9de22644 small icon fixes 2012-01-21 17:14:05 +00:00
andres.delikat ed02a2e951 Lua Console - another round of dialog fix ups 2012-01-11 02:29:50 +00:00
andres.delikat 3e2e657dcf Lua Window - various dialog fix ups like toggle, storing recent files, drag & drop 2012-01-10 03:12:01 +00:00
andres.delikat d6a57e08c1 Toolbox - reload icons on rom open/close so that core dependent tools update. 2012-01-10 02:11:17 +00:00
andres.delikat c871eedbbc Debugger icon, add to gameboy debugger menu item, add gameboy debugger to toolbox (conditional on gb emulation) 2012-01-10 02:02:11 +00:00
andres.delikat ee440f140f Lua Console - hook up autoload, fix hotkey and toolbox to open lua console (not the old lua window dialog). Add TAStudio to the toolbox dialog. 2012-01-10 01:30:17 +00:00
zeromus e73dee15b9 fix lua 2012-01-09 00:15:54 +00:00
andres.delikat 823edd2f67 store lag frame information into movies. Have TAStudio highlight lag frames in pink. Currently only hooked up for the NES core. 2012-01-08 23:51:53 +00:00
andres.delikat 4b074b7d26 Fix so that dialogs that use InputWidget can still close with Alt+F4 2012-01-08 23:01:14 +00:00
andres.delikat 422e9c6daa Gameboy - fix ROM loading, and implement memory domains (WRAM banks, VRAM, HRAM, OAM) 2011-12-27 02:10:07 +00:00
andres.delikat f1da3bfa08 Play Movie dialog - Match Game Name option, checked by default. 2011-12-27 00:15:48 +00:00
andres.delikat 37619ba147 preliminary work for mnemonics set up for Genesis. Doesn't work yet though since it will need core controller work set up 2011-12-24 15:35:52 +00:00
andres.delikat b2748b7836 Genesis - hook up lag counter (shows all frames as lag currently), and hook core up to input config dialog (1 controller only currently) 2011-12-24 01:59:51 +00:00
beirich a95957dcf6 Add option for auto-savestates 2011-10-15 23:17:15 +00:00
beirich e801025d0f Fix some file extension stuff in Open Rom dialog; add .GEN extension 2011-10-14 03:40:34 +00:00
beirich dcc0a34d93 Add NBA Jam [Proto] SMS to gamedb 2011-10-03 13:01:27 +00:00
beirich 8fb8a35317 Genesis core revive! Get it back to where loading a genesis rom doesnt crash everything immediately 2011-10-01 17:06:25 +00:00
andres.delikat 2418947b69 Add "Toggle Menu" hotkey 2011-10-01 03:43:37 +00:00
andres.delikat fbc365c4d2 Fix loading of post movie savestates (savestates made while in movie finished mode). Complete fix When in read-only. While in read+write it throws a loadstate error. This isn't ideal but at least prevents possible movie corruption. 2011-09-29 01:46:35 +00:00
beirich f3dc6068ce delete extra/external 68k core 2011-09-27 02:46:23 +00:00
zeromus 58738c1af3 nes-sunsoft reorg yet again. think we've got it under control this time though. i even added a doc specially for sunsoft to describe whats going on 2011-09-26 08:05:17 +00:00
beirich e5f1c142f8 pce-cd: fix Snatcher, Madou Monogatari, Tangai Makyo, ValisIII playable now 2011-09-25 23:34:53 +00:00
andres.delikat 4f072f8623 Oops, neglected to check these in with the last commit 2011-09-25 22:36:13 +00:00
andres.delikat 7943ff5781 Start Mapper 164 and add Final Fantasy V (Unl) to gamedb.txt 2011-09-25 21:52:10 +00:00
andres.delikat 075c4ea3dd NES - some work on classifying mapper 16/159 roms: Added to gamedb various versions of roms, added board cases to BANDAI-FCG-1, misc cleanup of board. Most of these games don't work but a few did. 2011-09-25 17:16:26 +00:00
zeromus 1d29b0c39b nes-upgrade nescartdb 2011-09-25 09:47:33 +00:00
andres.delikat fece5fd7e2 NES - Start HVC-CNROM-256K-01 board (for mapper 185). Finishing will require finding a rom with the right sha1. 2011-09-25 01:20:32 +00:00
andres.delikat f808cd4009 Add goodnes 3.14 version of
Rad Racket: Deluxe Tennis II to gamedb.txt.  Maps to NINA-06 board, however it crashes on ReadPPU()
2011-09-25 00:01:11 +00:00
andres.delikat b56f1ae062 on second thought, don't toggle the global config option on show/hide menu. Also make it a function in mainform 2011-09-24 23:12:43 +00:00
andres.delikat 9db06ca408 Add a menu option to show menu in fullscreen mode. Add a context menu item to show/hide menu. 2011-09-24 23:00:59 +00:00
zeromus 2f25237548 nes-fix rom status icon 2011-09-24 20:38:48 +00:00
andres.delikat 754b4ee2ee NES - Started JALECO-JF-13 board (Mapper 86). The only copy of Moero!! Pro Yakyuu (Red) I could find doesn't work and doesn't match bootgod's db. However, it worked in FCEUX 2011-09-24 19:48:18 +00:00
andres.delikat 12c664ea00 NES - Implement board BANDAI-74*161/161/32 (Mapper 70). Family Trainer - Meiro Daisakusen, Kamen Rider Club, Space Shadow tested and verified to work. Updated compatibility list. Added goodnes3.14 version of space shadow to gamedb.txt 2011-09-24 18:47:02 +00:00
andres.delikat 4b4e6d9950 Movies - partial fix to movie loadstate logic for movie finished mode. Movie savestates will now behave properly. The user can break things by making a savestate during movie finished mode and trying to load that. Will have to rethink and implement some things to work around this. 2011-09-24 17:25:19 +00:00
andres.delikat 6bbab41b0c PCE - Implement PCECD system id in core and in game info. Also set cancel property of LogWindow winform 2011-09-24 17:05:34 +00:00
andres.delikat 871ba80a76 Make Save Named State derive the name by the same logic as slot 0 would (using game name and possibly movie name) 2011-09-24 16:25:16 +00:00
andres.delikat f06c4e0091 Don't save the frame buffer into savestates if the core is NES since it saves this data itself anyway 2011-09-24 16:19:38 +00:00
andres.delikat edb40f4087 Movies - fix bug where rerecord count value was getting added as a comment on load 2011-09-24 16:09:40 +00:00
andres.delikat d17934b395 Fix TAITO_74_161_161_32 board (mapper 152), arkanoid 2 now works. Added Goodnes3.14's version of arkanoid 2 to the gamedb (even though it is actually a bad dump, our policy is to support 3.14 roms). Fixes to other mappers, Holy Diver now works properly (among other games). 2011-09-24 14:04:21 +00:00
andres.delikat 3e47de6f24 Log Window - save window position & size (only on closing the dialog, but not emulator main window atm) and minor cosmetic fixes. NES - readd IREM_TAM_S1 to csproj. Update compatibility doc 2011-09-21 23:31:48 +00:00
zeromus 6e67055b16 oops 2011-09-21 05:48:57 +00:00
zeromus 6a570c89fc nes-fix a little bug in MMC2 and support MMC4 while i am at it 2011-09-21 05:47:41 +00:00
andres.delikat 812cfc0ff1 oops 2011-09-21 00:55:08 +00:00
andres.delikat 80d01b6512 Add GUI menu item for toggling the log window as console option, and move said option to the config file 2011-09-21 00:48:40 +00:00
andres.delikat cb4c2a56d1 NES Game Genie Encoder/Decoder - fix so that the A key works in the code text box, have buttons insert rather than append 2011-09-20 23:27:55 +00:00
beirich f9d7ff62f4 pce-cd: support arcade card, fix cd-audio playback bug
add new emulation options to gui for SMS and PCE/CD
2011-09-19 00:39:28 +00:00
andres.delikat a827bb7838 Remove a debug oncreen message in movie savestates 2011-09-18 17:10:10 +00:00
zeromus a121ef1c77 add interim build indicator to aboutbox 2011-09-17 22:03:06 +00:00
beirich 5781d0b4cd pce-cd gamedb and compatibility updates 2011-09-17 21:34:02 +00:00
andres.delikat 9cbe8626f3 Ram poke - Implement memory domain selection, on memory domain selection set addressbox length, reset address & value. Hex Editor - when show frozen addresses, check that addresses is in the selected memory domain. Cheat Window - update memory domain selection when clicking a cheat list item 2011-09-17 16:39:43 +00:00
andres.delikat 321a45722e Hex Editor - use Ram Poke dialog for the Poke address function. Ram Watch - Successfully stop/start sound on ram poke 2011-09-17 15:35:39 +00:00
andres.delikat 7141ed0fa4 Ram Poke - limit number of digits in value field on load and on data size change, fix bug where signed & unsigned parsing was swapped 2011-09-17 15:17:00 +00:00
andres.delikat 3614708e83 Ram Poke - show memory domain in text property, format address and value text boxes on load 2011-09-17 15:10:58 +00:00
andres.delikat 31a85ab785 Ram Poke - pass in a memory domain and poke addresses in that domain instead of defaulting to main memory. Format address & value numbers in output message appropriately 2011-09-17 15:04:08 +00:00
andres.delikat a3c500193f Ram Poke - show "0x" next to value when value type is hex, for clarity, make that check on load 2011-09-17 14:38:21 +00:00
andres.delikat a30a5290ca clear saveRam when loading a movie. Add movie name to saveram default path generation so that movies do not interfere with users saveram files 2011-09-17 14:23:23 +00:00
beirich 82cf9486f3 about halfway through pce-cd compat test and gamedb updating, plus commit some bugfixes 2011-09-17 05:35:41 +00:00
andres.delikat 6d9d77afbc autoload last saveslot menu option 2011-09-17 00:25:34 +00:00
andres.delikat b587ecffd9 move saveslot to config 2011-09-17 00:04:50 +00:00
andres.delikat 3e8a7e61c2 Ram Search - Redo menu item, slight tweaks to search menu items 2011-09-16 23:44:39 +00:00
andres.delikat 94aca60998 Cheat Window/Ram Search/Ram Watch - switch key up events to key down, add Ctrl+A select all to cheat window & ram watch 2011-09-16 23:29:36 +00:00
zeromus e68acda91d dont crash throttling nullemulator 2011-09-16 00:40:33 +00:00
beirich 7a272192fb Add version IDs to the other working cores
Add toggle for saving screenshot with savestate. Update loadstate code to not die when encountering a state without a screenshot
2011-09-15 23:32:21 +00:00
beirich f7109d5f17 fix a stupid bug in pce-cd causing irqs to not be released 2011-09-15 05:10:23 +00:00
andres.delikat b2328f2e07 NES PPU - add screen shot menu & context menus for palette, pattern, and sprite viewers. Tweak NES Nametable viewer screenshot code 2011-09-15 00:49:25 +00:00
andres.delikat 62a2b7fad3 Nes Nametable viewer - context menu with screenshot & refresh menu items 2011-09-15 00:29:26 +00:00
andres.delikat 36055f2644 NES Nametable viewer - Screenshot menu item (to png or bmp format) 2011-09-15 00:24:16 +00:00
andres.delikat 665c9c5fbd Ram Search - search list - Ctrl + A hotkey for selecting all values 2011-09-14 23:57:28 +00:00
andres.delikat 7cfdad7bd0 Ram Search - Implement redo button. Enable/Disable Undo & Redo buttons when applicable 2011-09-14 23:36:36 +00:00
andres.delikat 49fb822bec Hex Editor - ctrl+p = poke address, better formatting of the address display in the poke address pop up 2011-09-13 00:35:40 +00:00
andres.delikat 08fcaede91 Slight tweak to rendering of on screen ram watch, display separator watches as ---- 2011-09-13 00:29:54 +00:00
andres.delikat 6f1baed4de TAStudio - disable unimplemented menu items when not in interim mode 2011-09-13 00:04:33 +00:00
andres.delikat 0022b60b4f Watch object - update the PeekAddress() function to update the prev and changecount values. Fix Ram Search and Ram Watch UpdateValues() functions based on this change 2011-09-12 23:36:27 +00:00
andres.delikat 33a8d1ee0c Ram Search - refactor QueryItemText to use the new built in ToString methods of the Watch object 2011-09-12 23:29:04 +00:00
andres.delikat ffc28123b3 Hex Editor + Ram Search - Stop sound on modal dialog calls 2011-09-12 23:21:39 +00:00
andres.delikat 368f201dbe Ram Watch - stop & start sound on several functions that call modal dialogs 2011-09-12 23:14:57 +00:00
andres.delikat c8e0043713 Ram Watch - a "Display on Screen" menu option 2011-09-12 23:08:42 +00:00
andres.delikat 73add14d28 Watch object - add ValueToString() and PrevToString() methods and make Ram Watch use these methods and thus simplify the UpdateValues logic. Added an override for ToString() that displays notes + value in preparation for a on screen ram watch option. 2011-09-12 00:17:17 +00:00
andres.delikat 7db54e08a8 Add a GUITextList class and methods to RenderPanel, similar behavior to AddMessage except that the x,y can be set, and duration has no time limit (and should be handled by the caller). The intent is for an on screen Ram Watch feature, and eventually a way to do the Lua function gui.text() 2011-09-11 23:31:46 +00:00
zeromus 8ee8711b1a client saves framebuffer into text states 2011-09-11 21:08:41 +00:00
andres.delikat eebdf7d84e check if movie is active before trying to append the movie name to the savestate name! Fixes the double periods on non-movie savestates. 2011-09-11 20:32:44 +00:00
zeromus 4acbf1e584 fix some sticky input bugs hopefully without creating anymore 2011-09-11 18:05:49 +00:00
andres.delikat 9196e5d1ec Input Config - auto focus when drop down menus change 2011-09-11 04:23:35 +00:00
andres.delikat 06b7055e4b Hotkey Window - refix auto-focus on tab change 2011-09-11 02:19:41 +00:00
andres.delikat 5ed4a36fd6 Trade out Poke icon with a nicer one (with a larger image size than 16x16) 2011-09-11 01:39:26 +00:00
andres.delikat 1eac1dbb05 NES PPU - switch the fake toolstrip menu with a real menu strip 2011-09-11 01:21:10 +00:00
andres.delikat 21d396f9bc Fix minimum size on all winforms, also set max size where appropriate, fixed anchoring & resizing issues, and other misc. display cleanup 2011-09-11 01:01:40 +00:00
andres.delikat 95c4e658ac Make interim flag (set to true currently) that flips a lot of settings all at once (such as disabling unfinished dialogs, setting the mainform text, and the about box (lol)) 2011-09-11 00:11:46 +00:00
andres.delikat 79e5a399f7 Toolbox - resize slightly, set minimum size, change bg color of toolstrip, make ti83 keypad visible only if ti83 is loaded 2011-09-10 21:48:27 +00:00
andres.delikat 4f98fdb60d Ram Watch - adding a watch from an external dialog flags changes 2011-09-10 21:37:03 +00:00
andres.delikat dd9f615f00 Set minimum size and some anchoring fixes for config dialogs 2011-09-10 21:35:17 +00:00
andres.delikat 6321428feb Hotkey & Controller config - set accept & cancel button properties 2011-09-10 21:24:15 +00:00
andres.delikat e3d9706e9e Ram Watch - update values when editing, removing, and duplicating a watch, and whenever a value is added to the watch by an external dialog 2011-09-10 21:16:29 +00:00
andres.delikat b977ca94e9 Ram Search - Fix crash bug when user would click Save and then cancel the save dialog 2011-09-10 21:06:50 +00:00
andres.delikat b0235e08f0 Ram Watch - fix crash when using the save icon on a new watch file with changes 2011-09-10 18:09:21 +00:00
andres.delikat e889520744 Hex Editor - use filesystem safe name generation for default file name on Dump to File 2011-09-10 13:51:26 +00:00
andres.delikat 5eba8bc7f3 Movies - fix problem with NES loadstate & timeline checks that caused the Frame value to not parse properly. Also add messages to the catch statement in the event of parse failure. 2011-09-10 02:08:16 +00:00
beirich e8c3da9c1f [pce] Improve ADPCM flags and interrupt handling 2011-09-09 03:40:58 +00:00
andres.delikat 45609f4e88 Movies - fixed major bug in rerecording logic. Loadstate was truncating movie input based on global.emulator.frame BEFORE loading that value! Thus loading a state (in record mode) from an event later than the current frame count was truncating the input, then loading the actual savestate. Movie loadstate now truncates based on the state's frame count 2011-09-07 01:18:58 +00:00
andres.delikat a787fe3c60 Movies - Fix a major logic flaw in the CheckTimeLines() logic. Should compare from 0 - state frame count, not 0 - length of state input log 2011-09-07 00:40:42 +00:00
zeromus 4924b4a9a0 nes-fix tetris differently 2011-09-06 01:58:22 +00:00
andres.delikat 08ec88319f PlayMovieFromBeginning() - set Readonly to true, and put an informative message on screen 2011-09-05 17:38:54 +00:00
andres.delikat e16bc58ace Path Config - update main form status bar slots since savestates is one of the folders that could be affected here 2011-09-05 02:34:42 +00:00
beirich e67ff446da Fix new GameInfo to not default to in-database, special handling for 'null' games 2011-09-05 01:21:59 +00:00
andres.delikat 984abbb869 Refix bind savestates to movies option 2011-09-05 00:50:50 +00:00
andres.delikat d7c267cbbe PathManager - Make FilesystemSafeName remove all invalid chars (for filesystems) from a game name 2011-09-04 19:24:40 +00:00
andres.delikat 772737f579 PlayMovieFromBeginning() - if movie starts from savestate, load the savestate! 2011-09-04 19:06:18 +00:00
andres.delikat bf76e1e7e0 Refix recording movies from "Now" so that the StartsFromSavestate flag gets properly stored into the movie file 2011-09-04 19:04:00 +00:00
andres.delikat 71833f419a NES PPU - only update palettes & patterns if ppu values change, about a 8fps speedup on my machine 2011-09-04 16:56:56 +00:00
andres.delikat 6b3d217691 NES PPU - more code cleanup/small speedups 2011-09-04 16:29:48 +00:00
andres.delikat 2e1f064424 NES PPU Viewer - read ppu values once at the beginning of Generate() into an array and use that for all the drawing. About a 4-5fps speed up 2011-09-04 16:13:44 +00:00
andres.delikat 233afd6ab0 Palette Viewer - more code cleanup, runs about 1 fps faster 2011-09-04 15:37:55 +00:00
andres.delikat daa406f356 PaletteViewer - code clean up 2011-09-04 15:20:52 +00:00
zeromus 60f2b411b6 dont vsync when fastforwarding or unthrottling 2011-09-04 05:18:38 +00:00
andres.delikat ed7cc01d9f Nes Nametableviewer - another small ~1 fps speedup 2011-09-04 03:40:01 +00:00
andres.delikat 353e1dbcd8 NES Nametable Viewer - more pre-reading of ppu bus data, about another 5 fps bump 2011-09-04 03:23:00 +00:00
andres.delikat 04b5cafe3a NES NameTableViewer - pre read the ppubus before looping. About a 7 fps increase in speed on my machine at the highest refresh rate. 2011-09-04 03:14:42 +00:00
andres.delikat 35d0ad1b31 NES - implement Clip Left & Right sides option 2011-09-04 01:58:16 +00:00
andres.delikat 721a514d26 NES Graphics Config - Ability to set the first and last scanlines. NES Core - refactor MyVideoProvider to accomodate new settings. Set to Top 8, Bottom 231 by default. 2011-09-04 01:12:12 +00:00
beirich e13af4064b [pce] very preliminary ADPCM playback, added a bunch more MemoryDomains 2011-09-03 20:32:18 +00:00
andres.delikat a84f881c5c Movies - Remove UserMovie and change all references to it to Global.MovieSession.Movie, fix error in CheckTime Line logic, read-only savestates should now work 2011-09-03 18:07:30 +00:00
beirich afaf5879f6 Improve CD-Audio w/ volume/fade support; put error messages in client when invalid system card selected 2011-08-30 04:02:52 +00:00
andres.delikat a731504e5b TAStudio - fix typo in Restart() that was causing the listview to get wrecked 2011-08-30 00:26:14 +00:00
andres.delikat be4ce1dce7 Fix Input Display during movie playback/recording to be the previous frame, not the upcoming frame 2011-08-29 23:33:57 +00:00