salvy
286ca28551
[!] Fixed W32 build
...
[!] Optimized DMEMMOVE3
[!] Aligned aligned path of memcpy_byteswap for W32 will use MSVC's impl since it takes advantage of SSE which is much faster than our impl
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1597 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-17 05:26:13 +00:00
strmnnrmn
3ff264bb34
[+] Add a callback interface to the vbl handler. Move HandleSystemKeys to SysGL
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1587 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-16 12:04:07 +00:00
strmnnrmn
bf44c3fb1b
[~] Tidy CPU.cpp
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1586 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-16 12:04:02 +00:00
strmnnrmn
8bd453b524
[+] Update the savestate loading logic to handle switching roms if necessary. Also, made the ESC key quit out.
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1578 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:25:55 +00:00
strmnnrmn
0981c858df
[~] Shuffle functions around to keep the SaveState code together
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1575 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:25:36 +00:00
strmnnrmn
e6e0ee15a6
[~] If the cpu is not running, we don't need to deal with gSaveStateXXX
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1574 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:25:30 +00:00
strmnnrmn
d48086262d
[~] Simplify CPU_{Save,Load}State. CPU_LoadState didn't return the result from SaveState_LoadFromFile - don't know if this is intentional, but it seems wrong without comments.
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1573 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:25:24 +00:00
strmnnrmn
7a453bb916
[+] System_Open init steps should be able to fail - e.g. if the specified file can't be found.
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1570 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:25:05 +00:00
strmnnrmn
6dee6e84c0
[-] Strip out a load of unused debug console cruft
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1566 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:24:36 +00:00
strmnnrmn
604f19f1d0
[~] Minor tidying
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1562 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:24:02 +00:00
strmnnrmn
a173d781bc
[-] DAEDALUS_TRAP_PLUGIN_EXCEPTIONS is not used now, as we don't use external plugins.
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1559 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:23:38 +00:00
strmnnrmn
2247bc0b1a
[~] Tidy CPU a little - CPUMain is only called from CPU_Run now
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1558 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:23:31 +00:00
strmnnrmn
2862ae330a
[-] W32 CPU thread stuff isn't needed any mode
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1557 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:23:25 +00:00
strmnnrmn
970da5ea8b
[+] Quick save/load for OSX/PC etc (F8 to load, F9 to save).
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1554 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:23:07 +00:00
salvy
0801ac4ed2
[!] Moved W32 audio thread back to main thread (was causing various issues, it would be nice to get it working though)
...
[!] Fixed issue in pixel shader that was affecting my video card (Thx StrmnNrmn)
[!] Copy n64.psh to build dir (W32)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1543 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-08 01:43:40 +00:00
salvy
b74a4c97f2
[!] W32 audio should be updated after LenChanged
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1497 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-31 15:53:16 +00:00
strmnnrmn
60991d6c79
[~] Compile fixes
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1495 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-31 09:45:54 +00:00
salvy
09e34868f0
[~] More clean ups for W32 (We can always pulled out any deleted file from the SVN if needed)
...
[!] undef DAEDALUS_TRAP_PLUGIN_EXCEPTIONS for W32
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1467 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-30 04:34:06 +00:00
salvy
ec968e68cb
[-] Bye bye MainWindow, we are a console app now :)
...
Note: A huge clean up is required to deprecate completely MainWindow
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1463 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-28 08:26:16 +00:00
salvy
0e62310a61
[!] Fixed Howard's audio plugin in W32 build (Audio doesn't work too well, should be nice to share OSX impl)
...
[~] OSX/W32 were calling updatescreen twice per frame, also sp semaphore should always be zero
[-] removed alot of deprecated files from W32
[!] Enable accurate tmem for W32
[!] W32 will use OSX input implementation
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1458 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-28 06:33:48 +00:00
strmnnrmn
3837c425c8
[!] Fix a hang in SSB. We'd ignore some writes to COMPARE if the new value was less than the current value of COUNT. I think at the time I was just confused about the wrapping logic, but it's simple: just interpret the result as an unsigned integer
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1451 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-27 22:07:13 +00:00
strmnnrmn
701263063b
[~] Rename CritSect to Mutex
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1394 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-24 12:53:35 +00:00
strmnnrmn
7ad92840cd
[~] WaitForThreadTermination -> JoinThread, and tidy
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1227 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-09 14:01:31 +00:00
strmnnrmn
85ff566e35
[~] INVALID_THREAD_HANDLE -> kInvalidThreadHandle (I confuse with Win32 INVALID_HANDLE_VALUE)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1224 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-09 14:01:04 +00:00
strmnnrmn
3aff753366
[~] Reintroduce a bit more cruft needed for the W32 build
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1006 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 19:44:22 +00:00
strmnnrmn
51f70e4e89
[~] Use named constants where possible
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@986 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 16:59:25 +00:00
strmnnrmn
b9b95b1b13
Reintroduce some W32 code
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@983 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 16:59:11 +00:00
strmnnrmn
890e03bb39
eventQueueLocked was being defined in multiple source files. It probably wasn't working as intended\!
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@982 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 16:59:06 +00:00
strmnnrmn
f611a3b3d9
Remove the need for a stub Dynamo_SelectCore when DAEDALUS_ENABLE_DYNAREC is not defined
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@924 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-03 17:41:58 +00:00
salvy
351f9656ef
[!] Simplified emulation's main loop (CPU is stopped in CPUMain anyways)
...
[~] Changed priority of CPU_STOP_RUNNING to least likely (happens only when emulator is stopped)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@900 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-26 16:13:07 +00:00
Corn
c0b2ff0c69
[!] Power Puff Girls is now playable(textures are mostly fixed, use video rate match enabled)
...
[!] No need to use simulate doubles in Conker/Tom&Jerry/Mario Party Draft mini game/Earth Worm Jim/Power Puff Girls
[!] Fixed a subtle bug in MOV.D (both in interpreter and dynarec) that caused problems in Conker(and possibly other games)
[!] Added direct access to doubles in the emulated registers (FPUD)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@888 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-11 11:39:06 +00:00
salvy
d2de763192
[!] Used a temporal buffer for storing screenshots for savestates
...
[!] Take savestate screenshot after the next frame rather than storing it in a buffer
[!] Optimized Patch_osCreateThread
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@872 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-21 21:02:39 +00:00
salvy
35e55f149e
[-] Removed cheat frequency option (cheats no longer cause much overhead anyways)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@842 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-05 21:25:35 +00:00
salvy
4536c5c170
By StrmnNrmn : …
...
Multi-platform:
* Reintroduced a bunch of DAEDALUS_PSP ifdefs.
* Reintroduced a load of Win32/OSX code.
* R4300: To reduce some of the DAEDALUS_PSP ifdefs in R4300.cpp, added some
defines for R4300_IsNan etc.
* R4300: f32_to_s32_trunc etc. I think we should keep these as they provide some
abstraction between PSP/OSX/W32 etc and remove tons of ifdefs elsewhere.
I think I updated all of these correctly. Please check!
* Math/Math.h: we should provide a consistent interface here. e.g. rather than
exposing pspFpuSqrt(), we should have Sqrt() that's #defined (or a wrapper
function) to the most appropriate implementation for the platform.
Small improvements:
* Added a few DBGConsole_Msg lines to track down boot errors.
* CPU: gLastPC/gLastAddress were defined as static in CPU.h - that means they'd
be introduced into all compilation units that pulled in that header. Redefined
as extern.
* NativeTexture.h - GetScaleX/Y can just return an f32 (no need for reference)
* ROMFileCache: Just declare AddressToChunkMapIndex/GetChunkStartAddress as
inline functions in the .cpp file.
Tidying:
* Path: Moved IO::Path::Tidy to String.h (it's not really a Path function).
* Lots of whitespace fixes (git doesn't like whitespace at the end of lines)
* Started nuking lots of 'tractor lines' (//*********************)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@840 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-05 20:07:03 +00:00
strmnnrmn
d7d116642a
Fix more trailing whitespace (files with CRLF line endings?)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@825 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-11-28 23:23:11 +00:00
salvy
d947aa6315
[!] Simplified and optimized MatrixFromN64FixedPoint
...
[!] [OSHLE] Changed to 32bit when storing to a0,1,2,4 regs
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@817 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-11-25 22:58:37 +00:00
Corn
4502ef5f4f
[!] It is now possible to map emulated CPU/FPUregs to psp scratchpad
...
[!] Debug_console is now possible to compile without silent flag
[!] Adjustments to dynarec/traces parameters
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@738 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-24 20:30:44 +00:00
salvy
fbcfff31df
[~] Fixed debug build
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@736 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-18 08:02:06 +00:00
salvy
cfb4c3a995
[!] FPU reg is now 32bit
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@734 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-17 14:53:35 +00:00
salvy
36f553f465
[!] FPUControl is now 32bit
...
[!] Some small optimizations in OSHLE
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@733 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-17 14:37:15 +00:00
Corn
9f6a16deb7
[!] CPUControl is now 32bit (from 64bit)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@730 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-16 09:51:56 +00:00
salvy
d52b7793bd
[!] Optimized HLE osSendMesg/osRecvMesg patches (saved 145 ops, yay QuickRead/Write)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@663 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-08 06:17:42 +00:00
salvy
ffe6238764
[!] Code clean ups, mostly made debug only code which is obsolete in release
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@642 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-13 07:40:03 +00:00
Corn
4e7d69e889
[+] Dynarec: Added K0 and K1 to available cashed regs
...
[!] Dynarec: Skip sign extension on GP and SP regs on update
[!] Dynarec: Optimized ADDU when when source reg is R0
[!] Dynarec: Optimized ADDUI not to store sign extension on SP reg
[+] Dynarec: Implemented LWC1 and SWC1 to load and store directly to FPU
[!] Fixed some ASSERTs
[-] Removed automatic fragment dump on ROM exit
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@641 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-10 14:55:18 +00:00
salvy
1c1894afd8
[!] Removed overhead of Buck Bumble hack from Cop1_D_ADD, biggest win is for games that need simulate doubles disabled
...
[!] Enabled simulate doubles for Buck Bumble (slight speed up)
[!] Use pspfpu math for interpreted Opcodes that use floorf,roundf,truncf etc (generates much better assembly, for example our own implementation added mfc1)
[!] Do proper floorf,roundf,truncf for Double precision Opcodes that use them (we should use double precision from libc actually( Im sure this the reason we didn't handled them in the first place?).. but since we simulate doubles for most games and doing it natively with single precision is alot faster, better than not handling them at all ;). Should fix some random bugs)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@632 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-27 22:09:42 +00:00
salvy
7b2183b505
[~] Removed unused code from Fragment.cpp
...
[+] Added const and pure attributes which when given correctly the compiler can do some additional optimisations
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@628 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-16 17:27:58 +00:00
Salvy
1fe520148d
[+] Added option to enable Corn's newly hack to speed up or smooth up games with really low frame rate (ex Earthworm Jim, Golden Eye, Donald Duck etc)
...
Note: Option can be found in Advanced Options -> Video Rate Match
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@554 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-21 01:44:48 +00:00
Corn
fd193ee214
[!] Auto speed adjustment hack for Rayman/Donald duck/Tom and Jerry
...
[!] Removed some redundant checks for SOTE
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@550 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-20 14:09:13 +00:00
Salvy
e41581a964
[!] Optimized CPU_SetCompare
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@339 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-08-05 02:05:53 +00:00
Salvy
0c374b474d
[!] Simplified and inlined CPU_TakeBranch
...
[~] Made TranslateOp debug only
[-] Removed useless speedhack in R4300_J
[~] Reverted last remaining changes from 557-558..
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@323 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-07-23 23:52:58 +00:00