Commit Graph

1724 Commits

Author SHA1 Message Date
adelikat 01584431c4 NesHawk - cleanup Unif.cs 2020-03-19 21:28:32 -05:00
adelikat 22f6df3a70 NesHawk - CartInfo - turn into properties 2020-03-19 21:20:53 -05:00
adelikat daab35fc39 NesHawk- move CartInfo into its own file 2020-03-19 21:15:07 -05:00
adelikat dc56dd87e8 simplify MapperPropAttribute 2020-03-19 21:12:23 -05:00
adelikat 291275fe8c NesHawk - move MapperPropAttribute to its own file 2020-03-19 21:11:01 -05:00
adelikat f8acb61136 NesHawk - make boards and related classes internal, and sealed where possible 2020-03-19 21:06:54 -05:00
adelikat 620c38af73 NesHawk - move some enums out of NesBoardBase, simplifies a lot of usages 2020-03-19 20:29:15 -05:00
adelikat 720a2dce02 NesHawk - move NesBoardImpl attributes to their own file 2020-03-19 20:21:29 -05:00
adelikat 0d4dd3855b NesHawk - more missing variables in savestates 2020-03-19 20:02:22 -05:00
adelikat 659831c534 fix missing savestate data in some NESHawk mappers, note this is a breaking savestate change for these boards, but they were broken anyway, these were critical fields to savestate 2020-03-19 19:51:59 -05:00
adelikat 8bcab5af79 NESHawk - break off INesBoard and NesBoardBase into separate files 2020-03-19 19:06:03 -05:00
adelikat d60a00d682 NES mappers - remove documentation comments in favor of the nesdev wiki link 2020-03-19 08:24:05 -05:00
adelikat d953318160
Remove cbuffer (#1883)
* delete unused ShortBuffer

* convert IntBuffer to int[] in the Atari2600 core

* remove IntBuffer from NES mappers, and delete class

* convert ByteBuffer to byte[] in atari 2600 mappers

* remove ByteBuffer usages in NESHawk, remove ByteBuffer class

* remove Buffer.cs

* remove IDisposable from NES.NESBoardBase

* remove Dispose from Atari2600 MapperBase, note, it wasn't event being called
2020-03-18 08:55:02 -05:00
adelikat 20b99d4ae2 fix typo in GambatteLink file 2020-03-15 18:24:42 -05:00
alyosha-tas 38e89f01ee quicknes: add jetson's to blacklist 2020-03-15 11:24:12 -04:00
adelikat f4b1d3f747 oops, meant to check this in 2020-03-15 10:15:30 -05:00
adelikat d3f37a5beb remove CoreComm.Clone(), it is now safe to pass around into subcores 2020-03-15 10:12:20 -05:00
adelikat 899f8662c0 refactor CoreComm usages in more cores 2020-03-15 09:38:54 -05:00
adelikat c532b96245 refactor CoreComm usage in nes cores 2020-03-15 09:35:12 -05:00
adelikat b5c0bfa141 remove coreComm from N64 core 2020-03-15 09:32:29 -05:00
adelikat 8973e5e521 refactor CoreComm usage in GBHawk and related cores 2020-03-15 09:31:07 -05:00
adelikat 028bc83c88 refactor CoreComm usage in some Gameboy cores 2020-03-15 09:28:27 -05:00
adelikat da95c1f56f remove RomAnnotation fields on CoreComm and use the service instead 2020-03-14 22:10:57 -05:00
adelikat a884282fa4 remove CoreComm NominalX/Y, those values never different from buffer w/h for cores that set them which were only the gb/gba platforms and the original dualGb. The result defaulted to a very random 640x480. Instead just use the buffer w/h, which is a very reasonable video default 2020-03-14 17:06:42 -05:00
adelikat dd062b3ca7 replace CoreComm screenofsets with an emulator service 2020-03-14 16:35:54 -05:00
adelikat 870d7df6f2 cleanup some unneeded code 2020-03-14 16:09:25 -05:00
adelikat 211883889b simplify CoreCom copying by implementing a Clone method, simplifies all the cores that have cores in them, this copies a lot more things than the original code had but it seems that's either fine or fixing broken stuff 2020-03-14 15:08:24 -05:00
adelikat cd7d907c0d get rid of CoreFileProvider SubFileDirectory 2020-03-14 14:02:19 -05:00
adelikat e655ad3abd remove obsolete ICoreFileProvider.PathSubfile(), and instead pass in the neccessary base path the the bsnes core that needs it 2020-03-14 13:56:20 -05:00
adelikat 6958ade3a8 nes ppu - have Reg_2000 depend on PPUREGS instead of PPU since that's all it's using 2020-03-14 10:32:59 -05:00
adelikat 4ababf383a NESHawk - PPUREGS - don't depend on PPU, move the one method that was using it out to PPU 2020-03-14 10:30:53 -05:00
YoshiRulz e12b5d8137
Refactor FloatRange creation and usage
effectively resolves #1200
* Replaced floats in FloatRange with ints (would have used shorts but
SubGBHawk/SubNesHawk use an axis to hack in cycle count or something), added
both Range<int> and Range<float> auto-properties
* Added bool field IsReversed to FloatRange
* Added enum AxisPairOrientation and factory method using it
* Cleaned up usages of FloatRange fields and properties
* Added new properties to PadSchema.ButtonSchema for type
PadInputType.AnalogStick (to hold the two FloatRanges) and used
ControllerDefinitions from cores to dedup these ranges in the schemata
* Made VirtualPadAnalogStick work properly: both the direction and bounds are
correctly set from the controller schemata, the polar conversion measures angles
consistently (though I think it might not work outside -128..127 e.g. for PSX),
and I didn't break the sensitivity override, plus negative percentages might
work now but I didn't allow those
* Renamed FloatRange to AxisRange, but did not rename related symbols
2020-03-14 20:47:45 +10:00
YoshiRulz 5196b97459
Fix resources for BizHawk.Emulation.Cores and cleanup 2020-03-07 07:45:19 +10:00
alyosha-tas 9810bd7541 GBHawk: oops missed one 2020-02-29 21:34:37 -05:00
alyosha-tas ca025488cd GBHawk 4x:linking improvements 2020-02-29 21:27:26 -05:00
alyosha-tas b1d17b0a57 GBHawk: proper bias emulation in audio, still needs some refinement but everything is in place. 2020-02-29 17:11:46 -05:00
alyosha-tas 7c32305cb4 GBHawk: fix videoplayer2 audio 2020-02-29 11:57:44 -05:00
alyosha-tas e87a0edb01 GBHawk 4x: cleaan up the 2x2 connections 2020-02-29 09:05:28 -05:00
alyosha-tas c9621eff19 GBHawk: CPU optimizations 2020-02-28 20:46:33 -05:00
adelikat 46d05de51f nothing to see here 2020-02-28 12:52:48 -06:00
alyosha-tas 5f5bf639c2 GBHawk: 4x cleanup 2020-02-27 18:15:34 -05:00
alyosha-tas 1e550e68eb GBHawk: 4x adapter functional 2020-02-27 16:37:08 -05:00
alyosha-tas 027dc6a6eb GBHawk: more 4x adapter work, pinging seems to work, need transmitting 2020-02-25 20:58:30 -05:00
adelikat 185dbda19a misc redundant code removal, empty argument in object intiializer, redundant elses 2020-02-25 15:14:13 -06:00
alyosha-tas 78454ea636 GBHawk: Start 4x adapter 2020-02-25 13:53:28 -05:00
alyosha-tas c16b47cbe4 GBHawk: rename GB compat cpu to have proper dependency 2020-02-25 08:06:43 -05:00
alyosha-tas f73c65d704 GBHawk: camera mapper 2020-02-23 17:38:56 -05:00
alyosha-tas f0692111d7 SubGBHawk: add 2020-02-23 09:54:42 -05:00
alyosha-tas e1128e4150 oops forgot a line 2020-02-23 07:37:38 -05:00
alyosha-tas 38e9dc02b7 GBHawk: camera mapper 2020-02-23 07:34:55 -05:00
alyosha-tas 9831ca59bd GBHawk linked modes: implement power button 2020-02-22 09:19:05 -05:00
alyosha-tas 1b301862db GBHawk: Implement power button 2020-02-22 08:47:39 -05:00
adelikat cdcc1eabde use inline out variables in Emulation.Cores 2020-02-18 15:10:29 -06:00
adelikat 4e03e14eea GBHawk - implement Get/SetCpuFlagsAndRegisters 2020-02-18 14:54:59 -06:00
adelikat a751aab744 GBLink 1,3,4 -> Implement Get/SetCpuFlagsAndRegisters, underlying GBHawk doesn't yet have it though so this technically does nothing 2020-02-18 14:08:23 -06:00
adelikat 8fbd375fd5 delete more ReadMe.txt files that just say TODO 2020-02-18 13:59:21 -06:00
adelikat 734dd9297d cleanup GBHawkLink4x 2020-02-18 13:56:44 -06:00
adelikat 721b150f78 cleanup GBHawkLink 2020-02-18 13:48:23 -06:00
adelikat 9418a57b54 cleanup GBHawkLink3x 2020-02-18 13:40:00 -06:00
adelikat 176b846f3b delete not so useful subneshawk ReadMe.txt 2020-02-18 13:23:38 -06:00
adelikat dedd618db4 subneshawk - delete a bunch of code by using the underlying core for services, cleanup, and implement some services that were missing 2020-02-18 13:19:17 -06:00
YoshiRulz 3afcf416e8
Follow attribute class best practices, cleanup docs on attributes 2020-02-19 03:54:50 +10:00
adelikat 0ff2539da7 subneshawk - support DatachBarcode service 2020-02-18 11:52:24 -06:00
adelikat 09f90cc0a2 subneshawk - implement IDIsassemb 2020-02-18 11:46:34 -06:00
adelikat 3a7977413c subnheshawk - implement IBoardInfo 2020-02-18 11:42:41 -06:00
adelikat 54ba1e12eb set get only properties in Emulation.Cores, and a few other simplfiications 2020-02-18 11:11:59 -06:00
adelikat 606c3bf1c2
use more advanced language features in Emulation.Cores (#1852)
* Use expression bodies in Emulation.Cores, and a few other misc cleanups

* remove unused usings in Emulation.Common

* cleanups in Tables_Direct.cs

* some cleanups in nes boards - redundant code

* remove some redundant array initializers in Emulation.Cores

* cleanup AmstradCPC.Controllers

* use object initializers in a lot of places

* nes mappers - remove disch's notes comments in favor of the nesdev wiki link

* cleanup CdtConverter.cs, mostly use of object initializers

* remove redundant .ToString() calls in Emulation.Cores

* using var in Emulation.Cores

* AmstradCPC/ZXSpectrum - simplify some linq, tabs instead of spaces, a few other misc cleanups

* Use null-propagation in Emulation.Cores
2020-02-17 16:54:51 -06:00
adelikat 969642b6c7 add Get/SetCpuFlagsAndRegisters to MOS6502X, and have cores point to that, instead of the same boilerplate in each core 2020-02-16 17:44:52 -06:00
adelikat 8a5c3f443b subneshawk - opt out of text states 2020-02-16 13:40:43 -06:00
adelikat 77598ce2b2 GBHawkLink cores - opt out of text states 2020-02-16 13:25:44 -06:00
adelikat 04a185101a fix gbhawk text states, had to leave duplicate data just with a different key name, in order to keep backwards compatibiliy with old binary states 2020-02-16 12:55:32 -06:00
adelikat 027dc01c8b
create StateSerializer as a base implementation of IStatable (#1850)
* create StateSerializer, an ITextStatable implementation using the Serializer class, and wire it up to the TI83 core

* wire StateSerializer to A2600 core

* wire up StateSerializer to AmstradCPC, C64, and ZXS

* wire up StateSerializer to MSX, A27800, and Coleco

* wire up state serializer to ChannelF, Vectrex, Intellivision

* fix GambatteLink to implement ITextStatable, implement TextSerializer in O2

* StateSerializer - wire up a loadstate callback and implement StateSerializer for NesHawk, a bit of rework to subNesHawk as a result

* fix subneshawk text savestates

* StateSerializer - implement byte[] buffer storing (optionally), wire up to PCE

* implement StateSerializer to SMS, tweak GGLink accordingly

* implement StateSerializer in GBHawk, fix link cores accordingly

* StateSerializer - use Serializer static methods to create serializers
2020-02-16 12:05:57 -06:00
adelikat 656f2b814e Move IEmulator extensions to the Emulation.Common namespace, the intent is that these are used and serve as built in functionality, so it's overly tedious to when most situations require both Common and an additional extensions namespace 2020-02-15 12:33:15 -06:00
adelikat 4b7a7dd293
Make Binary states default and Textstates opt-in for cores (#1848)
* Rewind & State config - remove the default option

* remove the savestate type of default, not that this is a breaking config change for anyone that had specifically set savestates to text

* remove BinaryStatesPreferred from IStatable and use config setting when starting movies from "Now" in record movie dialog

* remove BinaryStatesPreferred from cores

* make text savestates an extension method off of IStatable and an inteface ITextStatable it uses if the core implements it. This will allow cores to opt in to text states if desired

* make cores with actual text savestate impleemntations get ITextStatable, remove text state logic from cores that just have a binary as as text implementation
2020-02-15 10:22:26 -06:00
adelikat 8d662fcee3 more nitpicks in nes savestate code 2020-02-14 10:20:27 -06:00
adelikat e57be44fd0 nes savestates - dispose of IDisposables, simplify a bit 2020-02-14 10:12:52 -06:00
feos 340fe48f3a finish mgba tracer 2020-02-03 22:23:35 +03:00
feos b1be2f5937 bump mgbahawk version 2020-02-03 12:55:19 +03:00
feos 335a55306f mGBA trace logging 2020-02-03 12:50:41 +03:00
YoshiRulz 24e6cc14f0
Enable SA1206 and fix noncompliance
"Declaration keywords should follow order"
2020-01-25 19:37:28 +10:00
YoshiRulz b1e02fbdce
Enable SA1106 and fix noncompliance
"Code should not contain empty statements"
i.e. don't put a semicolon there
2020-01-25 18:06:34 +10:00
YoshiRulz 6f3f01125c
Enable SA1504 and fix noncompliance
"All accessors should be single-line or multi-line"
i.e. no block form on one line
2020-01-25 14:56:56 +10:00
YoshiRulz 4ed402fc59
Cleanup some more files 2020-01-24 09:37:15 +10:00
YoshiRulz c7801b8ce2
Move BizHawk.Common.BizInvoke namespace to separate project 2020-01-23 14:54:23 +10:00
zeromus c2c526e84b CDL: fix bsnes SGB cdl totally not working (fixes #1344) 2020-01-19 18:43:54 -05:00
alyosha-tas 3f59a704a2 GBHawk: correct frame rate to 59.72 (same as gambatte) 2020-01-14 18:32:26 -05:00
alyosha-tas 8fed99456a GBlink: fix some 4x bugs and route CGBGBA to cores 2020-01-13 16:55:07 -05:00
alyosha-tas 2c019794f5 GBHawk: remove DIV offset as a sync setting, leave it always at 8. 2020-01-13 09:37:54 -05:00
YoshiRulz a8170ca183
Fix mismatching namespaces 2020-01-13 07:19:06 +10:00
YoshiRulz c38fb09d3c
Fix typos in strings and comments (from #971) 2020-01-13 00:22:01 +10:00
adelikat f83261c116 misc cleanups in emulator core service logic 2020-01-11 13:19:51 -06:00
alyosha-tas 6bd0fbccef NESHawk: scanline timing and audio fix 2020-01-07 18:28:12 -05:00
alyosha-tas a66530cd3c GBHawkLink: allow only one screen to be displayed 2019-12-29 18:22:57 -05:00
alyosha-tas 6f53ad1af7 Fix settings initialization for several other cores 2019-12-27 17:45:37 -05:00
YoshiRulz 7cd29c0f54
Finish moving Win32 imports to BizHawk.Common, organise, and cleanup 2019-12-21 18:33:11 +10:00
YoshiRulz 580aa2eaf9
Refactoring and cleanup of dynamic lib loading
Also fixed error reporting in WindowsLLManager, and fixed bug in
MednaDisc.CheckLibrary
2019-12-21 18:22:58 +10:00
YoshiRulz 7ea8fb185a
Congregate, organise, and cleanup some Win32 imports and their usages 2019-12-21 18:21:51 +10:00
adelikat e84fd17784 support subneshawk for VS menu items, pass dependencies into VSSettings 2019-12-15 16:55:40 -06:00
adelikat 8cc02b8956 NesSyncSettingsForm - pass dependencies in and support SubNesHawk 2019-12-15 16:47:48 -06:00
adelikat fef746dffa properly dispose of IDisposables in core savestate code, and a few other places 2019-12-06 17:33:17 -06:00
feos 5ca08b6c29
Camhack support (#1725)
for the camhack to work we have to save a state, hack memory, advance twice to see the changes, then load the state to prevent desync. since we can omit the framebuffer in savestates, loading them can happen without updating the screen, so the hacked camera remains visible.

advancing 2 frames automatically is done like tastudio does it when it seeks to a frame, only from lua now.

and the most questionable part is "invisible emulation", which is how Gens calls this IIRC, when everything that can distract or slow us down is skipped: sound, video, tools updates.

new lua functions:
- client.invisibleemulation()
- client.seekframe()

* for a test, mGBA core uses fake video and audio buffers and renders to them when we want to "skip" rendering. proper setup would involve actually skipping rendering those inside the core.
* allow disabling video and audio updates for gpgx too (proper approach, no fake buffers involved)
* add the script for Sonic Advance
2019-11-23 12:27:14 +03:00
adelikat eb1d87933b Fix Nintento (breaking config change but we've already thoroughly broken compatibility since last release), partially addresses #971 2019-11-16 12:42:18 -06:00
adelikat 641c3e9f82 convert .smv importer to new style, also convert to bsnes instead of snes9x 2019-11-12 14:59:07 -06:00
alyosha-tas 558171d949 GBHawk: Fix a regression 2019-11-04 20:37:38 -05:00
alyosha-tas bc45386467 GBHawk: fix spirou scrolling 2019-11-04 15:32:22 -05:00
YoshiRulz 8c059aa43c
Replace helper methods with readonly bool IsUnixHost and cleanup 2019-11-04 14:30:05 +10:00
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05:00
adelikat 6c7653e158 Merge branch 'master' into MoreUnixMonoCompatWork
This doesn't compile because of Input.cs, didn't know what to do. Also search for Merge TODO for some commenting things that probably need to be deleted
# Conflicts:
#	BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll.Drawing.cs
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs
#	BizHawk.Client.EmuHawk/Program.cs
#	BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs
#	BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
#	BizHawk.Client.EmuHawk/tools/ToolHelpers.cs
#	BizHawk.Client.EmuHawk/tools/ToolManager.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.Designer.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.Designer.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs
#	BizHawk.Common/BizInvoke/DynamicLibraryImportResolver.cs
2019-10-31 17:01:19 -05:00
YoshiRulz 8c7862aa8a
Fix .so versioning 2019-10-25 21:33:05 +10:00
YoshiRulz 9946f2ff16
Re-add FPU precision, enabled only on Windows 2019-10-25 21:27:05 +10:00
YoshiRulz 60cf4e6c02
Remove FPU precision (probably not needed according to natt) 2019-10-25 21:21:56 +10:00
YoshiRulz b904d3d71c
Look for libquicknes.dll/.so better 2019-10-25 19:21:36 +10:00
alyosha-tas 9da739eaeb GBHawk: TAMA5 initial work 2019-10-18 17:35:59 -04:00
alyosha-tas 4324e1b309 GBHawk: sync settings fix 2019-10-14 08:58:54 -04:00
alyosha-tas 2e31d38568 GBHawk: fix a register 2019-10-13 19:27:14 -04:00
James Groom 90b0574bc3
Remove unnecessary calls to ToList (e.g. in foreach)
squashed PR #1591
2019-10-13 15:50:57 +00:00
YoshiRulz 7df71f2c86
Properly fix lib loading (builds upon 77bbc4128)
Also cleaned up OSTailoredCode.cs and fixed qualifiers in Program.cs
2019-10-13 15:23:14 +10:00
J.D. Purcell 77bbc41286 Fix prerequisites dialog (broken by 42764f00 and 436b6452). 2019-10-12 17:56:20 -04:00
alyosha-tas d7ee6ba579 GBHawk: Misc cleanup 2019-10-12 16:04:13 -04:00
alyosha-tas 8384f4298d GBHawk: another mbc3 fix 2019-10-11 21:28:46 -04:00
alyosha-tas 1c51f09e65 GBHawk: add RTC offset setting 2019-10-11 13:19:40 -04:00
alyosha-tas 06d53a106a GBHawk: RTC update 2019-10-11 09:31:21 -04:00
alyosha-tas 5916b9af17 GBHawk: minor bug fixes 2019-10-10 20:12:44 -04:00
alyosha-tas 931a4dcde9 GBHawk: window timing fixes 2019-10-10 09:57:40 -04:00
alyosha-tas 78cbb9aac5 GBHawk: fix window timing, special cases still need work 2019-10-09 16:37:09 -04:00
alyosha-tas f765e42578 GBHawk: more IRQ timing 2019-10-09 12:46:48 -04:00
alyosha-tas 724a3783f1 GBHawk: more hdma work 2019-10-08 20:26:24 -04:00
alyosha-tas a8080d129d GBHawK: HDMA and IRQ work 2019-10-08 19:21:40 -04:00
alyosha-tas 8beb0a9ae5 GBHawk: MBC3: fix RTC 2019-10-07 20:04:57 -04:00
alyosha-tas d2fe217869 GBHawk: expose 4x core 2019-10-04 13:52:29 -04:00
alyosha-tas 71527da3ed GBHawk: Start 4x support 2019-10-03 22:04:36 -04:00
alyosha-tas 211e65dbf5 GBHawk: IR comm working 2019-10-01 21:03:30 -04:00
alyosha-tas 9bfe61a9d4 GBHawk: more bug fixes 2019-10-01 18:36:39 -04:00
alyosha-tas 5cfda44cbf GBHawk: linking improvements 2019-09-30 11:17:15 -04:00
alyosha-tas 1520529acf GBHawk: Serial port cleanup 2019-09-29 21:08:05 -04:00
alyosha-tas 9b161ced56 GBHawk: Clean up frame display routines 2019-09-29 20:15:49 -04:00
alyosha-tas 96fa7feb09 GBHawk: Fix Worms Armaggedon 2019-09-28 21:46:55 -04:00
alyosha-tas 49ec644f71 GBHawk: Add in IR transfer support 2019-09-24 13:09:17 -04:00
alyosha-tas 514635c127 GBHawk: Fix pokemon Crystal (HDMA bug) 2019-09-23 20:13:08 -04:00
alyosha-tas 815145c939 GBHawk: Clean up and PPU seperation. 2019-09-22 21:09:47 -04:00
alyosha-tas 2c575dd91a GBHawk: Update frame definitions 2019-09-18 10:28:54 -04:00
alyosha-tas 32c2c4b78e GBHawk: Begin to seperate GBC and GBC-in-GB-compatibility-mode ppus. 2019-09-15 22:51:50 -04:00
alyosha-tas d5c9f32095 GB3x: update saveram and memory domains 2019-09-15 16:19:48 -04:00
alyosha-tas 0bd3553c27 NESHawk : fix dendy mode 2019-09-14 10:30:18 -04:00
alyosha-tas 42f9b817d2 GBHawk3x: Add center audio 2019-09-11 09:45:48 -04:00
alyosha-tas 9f8eaa87de GBhawkLink3x: linking 2019-09-09 14:06:37 -04:00
MrCheeze 4d49dc5d30 ALL n64 memory domains need to be byteswapped, not only rdram/rom 2019-09-09 00:16:43 -04:00
MrCheeze 3f26d14eaa added SRAM and FlashRAM memory domain support for N64 2019-09-08 23:20:35 -04:00
alyosha-tas 79c4b1e846 GBHawkLink3x: Initial Commits 2019-09-08 16:35:39 -04:00
alyosha-tas a01c205d62 GBHawk: don't try to read 0 samples. 2019-09-03 10:38:53 -04:00