Commit Graph

433 Commits

Author SHA1 Message Date
Emmet Young 4f1c760236 We need to ensure mempak is closed when CN64System is closed, otherwise the handle will never be closed. 2015-03-03 22:49:02 +11:00
Emmet Young 2f4e21577a Core mempak, correct behaviour of mempaks, ReadFrom and WriteTo 2015-03-03 22:46:38 +11:00
Emmet Young 1b17b86ef2 Core mempak, change mempak behaviour to handle mempaks as separate files, rather than storing them in one singular file. 2015-03-03 22:31:37 +11:00
zilmar 40640a83e5 Merge pull request #171 from cxd4/wow_such_mempak_very_doge
newline formatting fix from Unix LF to DOS/Windows CRLF
2015-03-02 09:44:30 +11:00
zilmar a366645fb4 Fix 7zip loading 2015-03-01 20:32:42 +11:00
unknown a7a22b13f0 newline formatting fix from Unix LF to DOS/Windows CRLF 2015-02-28 21:33:12 -05:00
zilmar 2a583fd13c update 7zip code 2015-02-28 16:05:57 +11:00
zilmar 491377c2a4 add rdb option for selecting plugins game hack applies to 2015-02-26 21:57:51 +11:00
zilmar 304aebbdd4 add store constant for 0410000C in recompiler 2015-02-25 19:26:48 +11:00
zilmar bbd45d45ba DSRL32 should not sign extend 2015-02-25 17:41:54 +11:00
zilmar aae61e8350 Clean up some of the games plugin settings 2015-02-25 08:44:06 +11:00
exhalatio ddb99227dd flxed Flash Status 2015-02-23 20:00:44 +09:00
zilmar 414811af79 Make sure SPECIAL_DIVU detect div by 0 correctly 2015-02-23 17:18:15 +11:00
Emmet Young d5f17dbe6d Strip out Validate binary and beta release code. No longer needed, validate binary code could of been used for version testing but be cleaner to write it fresh. 2015-02-14 22:17:45 +11:00
zilmar 9870277f60 Merge pull request #82 from death-droid/CiCChanges
Cic changes
2015-02-14 18:05:09 +11:00
Emmet Young 3e1498ef8e Make CIC_UNKOWN behave like CIC_NUS_6102. If debugger is enabled, it will display an error message with the missing CIC CRC. 2015-02-14 14:10:05 +11:00
Emmet Young e2f73e9e3d For all CiC related stuff, we should really be using our typedef rather than numbers. 2015-02-14 13:26:26 +11:00
zilmar 167ceb11b1 Fix problem where ScreenHertz was not setting based off of RDB by death-droid 2015-02-13 08:39:27 +11:00
zilmar 17a3561c23 better hardware support for odd PI_WR_LEN_REG addresses (cdx pull request #64) 2015-02-13 08:26:17 +11:00
zilmar c973db8e35 Try to get dynamic plugin change working 2015-02-12 21:58:28 +11:00
zilmar 7345ecd97e basic timing support for VI_V_CURRENT_LINE_REG alternating scan fields by cxd4 2015-02-07 10:19:49 +11:00
zilmar a88d03a12d Update JALR edge condition 2015-02-03 17:36:42 +11:00
zilmar 9eceed0fef #pull request 42 2015-02-01 06:27:27 +11:00
Nicholas 1c91769c12 Create Plugin base to share functionality 2015-01-31 08:01:21 +11:00
Nicholas 862eb7c48b Add support for Visual Studio 2013 2015-01-27 16:07:44 +11:00
Nicholas a9f8dd461f [!]Fix a mistake made in the RTC implementation, was incorrectly 2015-01-26 14:58:53 +11:00
Nicholas 8c1852afa0 handle pal system frequency better 2015-01-26 14:43:37 +11:00
Nicholas 53b86e559c add code for edge case in DSRLV for cbfd 2015-01-23 22:21:34 +11:00
Nicholas 0bd9a467a1 Add the memory search functionality back in 2015-01-22 16:50:20 +11:00
zilmar 6ca28ebe82 Glide64: Be able to get texture directory form emulator 2013-04-28 15:49:14 +10:00
zilmar 801f1581bc Project64: Add LL and SC to Analyze Instruction 2013-04-26 20:08:59 +10:00
zilmar 814018c78f Project64: Initialize eeprom to 0xFF instead of 0x00 2013-04-26 20:06:01 +10:00
zilmar b805bbb883 Project64: Update the code related to changes in stdstr 2013-04-17 20:34:20 +10:00
zilmar 7055c1bad9 Recompiler: ignore 0x0407000D as an opcode in analysis 2013-04-11 11:16:27 +10:00
Emmet Young 1abb082eef If debugger isn't enabled but where still attempting to start the sync cores, reset to recompiler to stop people from accidentally launching sync cores. 2013-04-01 13:25:51 +11:00
zilmar 8db1ff697d Recompiler: Fix some warnings related to DWORD overflow 2013-03-26 22:28:49 +11:00
zilmar 4ae369ab81 Loop Analysis: SLTU and SLT marks register as changed 2013-03-26 22:18:53 +11:00
zilmar 48d8925a80 Project64: Clean up external release to be beta release 2013-03-22 16:47:20 +11:00
zilmar f41cdf8989 Recompiler: Fix delay slot section with exceptions 2013-03-22 16:45:32 +11:00
zilmar 7b70ba0da3 Recompiler: Fix up protection of op in DADDU 2013-03-12 18:40:50 +11:00
zilmar 784dcacad6 Recompiler: Fix bug in 64bit AND operation 2013-03-09 07:55:36 +11:00
zilmar 283cf565c0 Memory: Fix read from rom with constant LW 2013-03-09 06:31:26 +11:00
zilmar dd537b518c Porject64: Implement Recompiler LL and SC 2013-02-20 05:31:10 +11:00
zilmar 05e4f22dcf ResetMemoryStackPos: Allow stack pointer to be in tlb space 2013-02-11 19:25:11 +11:00
zilmar 990b9ddb55 Memory: Clean up some breakpoint warnings 2013-02-11 19:24:18 +11:00
zilmar d09f0e6c8e Recompiler: More syncing for sync core 2013-02-05 20:14:26 +11:00
zilmar 5a9cb5f768 Recompiler: Make sure break ends a block 2013-02-05 06:23:10 +11:00
zilmar d7a692a943 Recompiler: Ignore on target -1 2013-02-05 06:22:18 +11:00
zilmar 044c669f24 Recompipler: Fix D.CMP.UN 2013-02-03 21:05:58 +11:00
zilmar 2fb824fcd5 Loop: Set STLI and SLITU to mark the op as modified 2013-02-03 21:05:18 +11:00
zilmar 9c03f2ce5a Timer: Update counters on updating wired registers 2013-02-03 11:51:56 +11:00
zilmar 8e2ea1f674 Loop Analysis: Fix up some breakpoint warnings 2013-02-03 11:51:13 +11:00
zilmar e814eb967b Recompiler: deal with edge condition of Normal_NoSysCheck 2013-01-29 21:42:15 +11:00
zilmar 4fe5d2e224 r4k: Record RSP Broke 2013-01-29 21:41:32 +11:00
zilmar a1ac10fc42 Recompiler: tweaked protect register and DSLL values 2013-01-28 19:37:59 +11:00
zilmar cb3568395c Memory: Force write to SP_STATUS to go through SW_NonMemory 2013-01-28 19:36:14 +11:00
zilmar d48705f87e Memory: Handle LW SP, 0xXXX (SP) 2013-01-26 09:37:33 +11:00
zilmar e55d1f8508 r4300: Modify run rsp logs 2013-01-22 19:46:00 +11:00
zilmar 8997f3fc30 memory: Update counters on write to SP Status 2013-01-20 17:20:52 +11:00
zilmar d827bb27fc Mips System: Reset timer after reg init 2013-01-20 17:13:24 +11:00
zilmar 3933cdef08 recompiler: Remove double check of timer done for branch when delay slot effects compare 2013-01-16 06:00:57 +11:00
zilmar 55e4db8911 Memory: Fix bug in Compile_SB_Const 2013-01-16 05:53:43 +11:00
zilmar 884b408b2d r4300: Cleaned up code for checking interrupts on JAL and JALR 2013-01-14 17:12:11 +11:00
zilmar 72b708850b Memory: Fixed a bug on tlb read for LB and LH 2013-01-14 17:11:20 +11:00
zilmar b2f7f67dc2 Memory: Got LWU to use the same code as LW 2013-01-12 08:57:51 +11:00
zilmar 196b8ee100 Recompiler Ops: Jal to use relative address 2013-01-12 08:16:35 +11:00
zilmar 3e2b93203b Memory: Clean up more tlb writes and SP_SEMAPHORE_REG 2013-01-12 08:15:47 +11:00
zilmar ea58dc3c83 r4300: LWL can cause tlb read exception 2013-01-12 08:14:18 +11:00
zilmar 80aaed3107 Pif: Changed how pif2 challenge response is written to pif 2013-01-06 15:17:23 +11:00
zilmar 720b9c6257 halflife: should not be fast forward if check is zero (this means it is called twice) 2013-01-06 06:53:14 +11:00
zilmar 3c1040c2d9 Audio: revert changes to audio, seemed to make games worse 2013-01-06 06:52:29 +11:00
zilmar 08af4e1c88 Audio: Change audio to have busy flag 2013-01-05 09:48:25 +11:00
zilmar 14bd317e40 Bug: Fix bugs in allocation with function map 2013-01-05 09:47:28 +11:00
zilmar 23cc5f0a67 Memory: Fix bugs related to store tlb & half line 2013-01-05 09:45:16 +11:00
zilmar 8c48ba4f70 Mips: Refactor loading of plugins and how game is shut down 2013-01-03 19:51:00 +11:00
zilmar b8a0303674 Memory: Fix TLB recompiler writes 2013-01-03 19:49:34 +11:00
zilmar 979a0687e6 Mips Memory: fix tlb write for Compile_SB_Const 2013-01-01 07:14:35 +11:00
zilmar 59b2e96062 Speed Limitor: Clean up code and change interval levels 2012-12-31 23:46:03 +11:00
zilmar 6ac9d18e7f Audio: Rewrote sync to audio 2012-12-31 22:02:51 +11:00
zilmar 42dbc691bd Fix bug in TLB writes 2012-12-31 18:02:54 +11:00
zilmar e848cbcded Half life: Update if hard loop checking value 2012-12-31 07:56:49 +11:00
zilmar 33342a77c5 Memory: LB_NonMemory only shows breakpoint when writing to rom 2012-12-29 07:32:15 +11:00
zilmar 746f1168d9 Plugins: Change the order and where that reset/plugin reset is being called. 2012-12-29 07:31:10 +11:00
zilmar 47e393e498 CRecompilerOps::Compile_BranchLikely: handle the case of continue fall through on 0xFFC 2012-12-22 19:45:52 +11:00
zilmar 5cc6a91a41 CCodeBlock::AnalyzeInstruction: better handling of R4300i_REGIMM_BLTZ 2012-12-22 19:44:26 +11:00
zilmar 4f6d6effa3 Added GPL header 2012-12-19 20:30:18 +11:00
zilmar ec220831b9 Refresh Game settings on reset 2012-12-19 12:47:19 +11:00
zilmar ab03a0d10e Allow reset to work correctly in sync core 2012-12-19 10:55:05 +11:00
zilmar d3c946891b Pre allocate RDRAM space 2012-12-18 21:43:29 +11:00
zilmar 718239477f Code Cleanup: Clean up memory search and memory dump class definition 2012-12-18 19:47:53 +11:00
zilmar a444ad3e52 add __FUNCTION__ to trace messages 2012-12-17 11:21:29 +11:00
zilmar c3b743adf1 Game settings: Moved from recompiler settings, moved to n64system as base 2012-11-29 22:23:35 +11:00
zilmar 50ba484893 Clean up code related to making window focus on run 2012-11-29 08:22:06 +11:00
zilmar 601c94f49d Code Refactoring: interface change in Memory Class.h 2012-11-19 22:07:07 +11:00
zilmar 88adba5892 Code Refactoring: Change location of call change 2012-11-19 22:06:37 +11:00
zilmar b49a25cdd1 Code Refactoring: Interpreter CPU 2012-11-19 22:06:01 +11:00
zilmar 6067e5b0de Global Variable: rename _TLBLoadAddress to g_TLBLoadAddress 2012-11-17 21:50:11 +11:00
zilmar 7f00d50dc6 Global Variable: rename _NextTimer to g_NextTimer 2012-11-17 14:45:50 +11:00
zilmar 0410fafd3b Global Variable: rename _SystemEvents to g_SystemEvents 2012-11-17 14:43:02 +11:00
zilmar e8b96dd915 Global Variable: Rename _TransVaddr to g_TransVaddr 2012-11-17 13:35:36 +11:00
zilmar 2bebce913e Global Variable: Rename _SystemTimer to g_SystemTimer 2012-11-17 13:31:46 +11:00
zilmar 1bc60df9a1 Global Variable: Remove CMemoryLabel 2012-11-17 13:30:05 +11:00
zilmar bd84758450 Global Variable: Rename _Audio to g_Audio 2012-11-17 13:27:46 +11:00
zilmar 7f248146b2 Global Variable: rename _Rom to g_Rom 2012-11-17 13:24:42 +11:00
zilmar 1992505c7f Global Variable: Rename _Plugins to g_Plugins 2012-11-17 13:20:21 +11:00
zilmar 3a73b759ad Global Variable: Rename _Reg to g_Reg 2012-11-17 13:18:14 +11:00
zilmar c219c0ab6a Global Variable: rename _TLB to g_TLB 2012-11-17 13:16:38 +11:00
zilmar 7212599e24 Global Variable: Change so that local variable is not the same name as global 2012-11-17 12:26:00 +11:00
zilmar 6c954c690c Global Variable: Rename _MMU to g_MMU 2012-11-17 12:18:00 +11:00
zilmar 278f99cf39 Global Variable: Rename _Recompiler to g_Recompiler 2012-11-17 12:15:55 +11:00
zilmar 4e1d29d322 Global Variable: Rename _SyncSystem to g_SyncSystem 2012-11-17 12:12:54 +11:00
zilmar c3df4cf49d Global Variable: Rename _BaseSystem to g_BaseSystem 2012-11-17 12:09:19 +11:00
zilmar 299df0e293 Global Variable: rename _System to g_System 2012-11-17 12:07:04 +11:00
zilmar d09a8adf10 Global Variable: rename _Settings to g_Settings 2012-11-17 12:02:04 +11:00
zilmar ab57cdbc7e Global Variable: Rename _Notify to g_Notify 2012-11-17 11:58:31 +11:00
zilmar ca161dfd07 Recompiler: Add perm loop check for R4300i_REGIMM_BGEZ in CheckLoopRegisterUsage 2012-11-17 11:53:29 +11:00
zilmar 8242822aa1 Recompiler: Add R4300i_REGIMM_BLTZAL to Analyze Instruction 2012-11-17 11:52:23 +11:00
zilmar 0e21c8568c Memory: Ignore SB in 8mb space when on 4mb 2012-11-13 17:42:31 +11:00
zilmar 63bd2b5cb4 Recompiler: Fixed debug warnings for overflow 2012-11-13 17:38:48 +11:00
zilmar 7b3028cca2 Sync Core: Remove reduce memory size when sync core is on 2012-11-13 17:17:49 +11:00
zilmar d396763b71 Audio: Add AI Count Per Byte setting 2012-11-13 16:44:13 +11:00
zilmar 8401f62336 Audio: Add more logging 2012-11-13 16:06:46 +11:00
zilmar bb1f89d8a2 Fix bug in logging with missing .c_str() 2012-11-13 16:06:06 +11:00
zilmar 0f9ff4256b Tweak Fixed Audio 2012-11-06 21:23:47 +11:00
zilmar 3e99f09243 Fixes to protected memory 2012-11-06 19:23:59 +11:00
zilmar d23d06fa98 Renamed _int64 to __int64 2012-11-06 19:23:59 +11:00
zilmar b02959e7bb Changed function names for getting/setting reg information 2012-11-06 19:23:57 +11:00
zilmar 4a3fb18f6a Ignore large (negative) audio DMA buffer 2012-11-06 19:09:56 +11:00
zilmar 4b03d36b62 Change of initial block code with 64bit system 2012-11-05 21:09:15 +11:00
zilmar ef8c9b02c3 Added DSRAV and Clean up usages of SetJump8 2012-11-05 21:08:33 +11:00
zilmar c8dcf8643c force grp[0] always be 0 in Interpreter 2012-11-05 21:06:14 +11:00
zilmar 1cb9dd2575 fix run time fail check shown in mario kart 2012-11-05 06:49:57 +11:00
zilmar f1a0c788ed Fix loop analysis for BGEZ 2012-11-03 12:38:18 +11:00
zilmar 464c280fa6 Change some of the Reg Info functions to be get and setters 2012-11-03 12:18:08 +11:00
zilmar d995dddfaf removed unused m_LLAddr 2012-11-03 10:30:19 +11:00
zilmar ffb69091a1 Updated how Fixed audio works with dual buffers and AI Interrupts 2012-11-03 10:27:19 +11:00
zilmar 8af55ad6c0 cleaned up more warnings 2012-11-03 10:26:11 +11:00
zilmar 62efa0fa4a Updated tlb check in Compile LW 2012-11-03 10:25:23 +11:00
zilmar 9c245e3c39 Changed the RSP test to be one if statement 2012-11-02 17:05:08 +11:00
zilmar 6490277a31 compile TLB Miss with const 2012-10-25 19:38:58 +11:00
zilmar ec106c94b8 Cleaned up clear related to tlb write 2012-10-25 19:37:52 +11:00
zilmar 4be9e911b8 Cleaned up RSP audio setting and SW when const value is a tlb address 2012-10-25 19:36:47 +11:00
zilmar 9818ea1f8b Cleaned up warnings on warning level 4 2012-10-25 19:35:04 +11:00
zilmar d72f2c2c55 More bug fixes related to ABL change, paper mario now boots 2012-10-24 22:57:57 +11:00
zilmar 0cdb90fa6d If RSP did not halt, re run it after a few cycles 2012-10-24 22:56:58 +11:00
zilmar 14eff29e3a removed mention of CC_Core 2012-10-24 22:55:51 +11:00
zilmar 68d6692421 Merge branch 'ABL-Refactor' 2012-10-23 21:41:24 +11:00
zilmar 493831507d Merge remote-tracking branch 'remotes/origin/master' 2012-10-23 21:39:12 +11:00
zilmar 39d57a5750 More fixes related to changes in ABL 2012-10-23 19:06:13 +11:00
zilmar a75034a723 updated where counters get updated related to register writes 2012-10-23 19:03:43 +11:00
zilmar 3316e4736a Add sync to PC function and show fpu register in sync dump 2012-10-23 19:02:47 +11:00
zilmar 6e8b92d8bc Changed sqrt.s to use x86 asm version of sqrt 2012-10-23 19:01:42 +11:00
zilmar cf1ea3484e clean up jump check 2012-10-23 04:03:49 +11:00
zilmar f6e7199118 cleaning up type and formating 2012-10-22 21:36:57 +11:00
zilmar 4a3073af6d More bug fixing related to changes ABL 2012-10-22 19:02:53 +11:00
zilmar d8d5379e2a Changed how find the next block to analysis 2012-10-22 04:03:32 +11:00
zilmar 0a84d1a0a3 Keep track of register modified in loop analysis 2012-10-21 10:19:09 +11:00
zilmar 966349aeb4 changed how linking to enter section 2012-10-20 15:19:06 +11:00
zilmar de5f7d543f clean up pc == target for REGIMM_BGEZL 2012-10-20 09:15:58 +11:00
zilmar d6a1a8cf52 Reset compile PC on delay slot section 2012-10-20 09:06:15 +11:00
zilmar 5f41558e49 Fixed delay slot at edge condition 2012-10-20 06:06:30 +11:00
zilmar 5f09adbc49 More fixes to ABL core, mario now booting 2012-10-19 17:32:42 +11:00
zilmar e638b161f2 more bug fixes with ABL refactoring, mario now boots 2012-10-18 20:58:24 +11:00
zilmar 9ba2812062 fix analysis of BEQ and Perm Loop 2012-10-17 22:34:55 +11:00
zilmar 22fd128452 fixed bug where if fall in to next section, and section fails to compile then it was not working correctly. 2012-10-17 22:25:25 +11:00
zilmar 923576c93c Added tracking of end block to detect if block should be split 2012-10-17 20:04:11 +11:00
zilmar b5bee95acb More code cleanup with getting ABL to try and work for super mario 2012-10-16 22:17:18 +11:00
zilmar aad58b8866 Cleaned up more code related to ABL 2012-10-16 08:47:05 +11:00
zilmar ccb1de6682 Firedemo and n64 stars now runs under ABL 2012-10-15 18:41:30 +11:00
zilmar b83e4dcf7b Added more logging and fixes to the refactoring of ABL 2012-10-15 08:37:48 +11:00
zilmar 347d358e39 Cleaned up more code related to the code block 2012-10-14 17:33:51 +11:00
zilmar afedaf38d6 Initial refractoring of ABL 2012-10-14 12:05:52 +11:00
Emmet Young f3b672ec37 Fix some naming mistakes in Mempak.cpp from previous commit 2012-10-06 23:55:56 +10:00
Emmet Young c72f2150e3 Remove no longer used C files.
Clean up mempak.cpp's file loading method up.
2012-10-06 20:25:56 +10:00
zilmar 47f184d201 Merge branch 'master' of http://www.pj64-emu.com:8090/project64.development 2012-10-06 14:10:49 +10:00
zilmar 9dd62a9998 Cleaned up more warnings (on warning level 4) 2012-10-06 14:09:17 +10:00
Emmet Young 25a0bd6f11 Add some entries to the RDB for recently leaked games
Remove the break point in COP1_S_CEIL_W  since Taz requires this function to work properly in recompiler, the function appears to be working properly.
2012-10-06 13:08:23 +10:00
zilmar ba27b5e423 Added delay DP interrupt + refractoring of some of the settings 2012-10-06 09:53:11 +10:00
zilmar 2708be5577 fixed change for mthi and mtlo in 32bit core 2012-10-05 19:22:32 +10:00
zilmar 0a320a2953 update cycles before SI dma read/write 2012-10-05 19:22:01 +10:00
zilmar ad10525303 Cleaned up more warnings (on warning level 4) 2012-10-05 19:20:53 +10:00
zilmar b809b57faa Clean up warning level (warning level 4) from profiling class 2012-10-05 19:18:02 +10:00
zilmar 856e9838dc clean up warnings (warning level 4) in debugger files 2012-10-05 19:16:54 +10:00
zilmar 18420c0e8b removed 32bit version of mthi & mtlo (only using 64bit version) 2012-10-05 19:11:30 +10:00
zilmar 74066e0b04 added trace protected memory (changed from error to protected memory) 2012-10-05 19:10:18 +10:00
zilmar 523b1eb3ff cleaned up warnings (warning level 4) in Reg Info.cpp 2012-10-05 06:28:59 +10:00
zilmar a3c225ecf5 changed some of the functions to set/get register information to be clearer setters and getters 2012-10-04 21:01:10 +10:00
zilmar 19cb5e0e6c fixed dsubu 2012-10-04 13:17:19 +10:00
zilmar 2b24f49b84 Merge remote-tracking branch 'origin/head'
Conflicts:
	Source/Project64/N64 System/Mips/FlashRam.cpp
2012-10-04 12:33:04 +10:00
zilmar c291ab8457 Fail to start if sync core plugins fail to initialize 2012-10-04 11:43:42 +10:00
zilmar 236f2a1ddb do not fail on write invalid non memory address (failure should be for a tlb miss, not unhandled register 2012-10-04 10:07:26 +10:00
zilmar ff564bc11a Update changes to deal with debug warning 2012-10-04 10:04:08 +10:00
Emmet Young cf761b3f70 Fix up the Load and Save as options by using direct calls to the LoadState and SaveState function, pausing the cpu stops the event queue from being processed from the looks of it so we get stuck on trying to load and save a state. Zilmar you might want to tell me if I'm wrong here XD 2012-10-04 00:22:13 +10:00
Emmet Young ac0108a9b8 Merge branch 'master' of http://www.pj64-emu.com:8090/project64.development 2012-10-03 16:34:21 +10:00
zilmar 0eacb90197 fixed typo in NOR 2012-10-03 09:17:13 +10:00
zilmar 2b83842076 Cleaned up NOR 2012-10-03 09:03:21 +10:00
Emmet Young 2e6fc68897 Merge branch 'master' of http://www.pj64-emu.com:8090/project64.development 2012-10-03 06:44:52 +10:00
zilmar aa76a1d641 Cleaned up some of the initialization code from the C Core refactoring 2012-10-03 05:42:06 +10:00
zilmar 6dc3d85ff6 Merge branch 'master' of http://www.pj64-emu.com:8090/project64.development 2012-10-02 21:15:40 +10:00
zilmar f973674718 Removed clear on write (needs to be refracted) 2012-10-02 21:04:14 +10:00