Commit graph

93 commits

Author SHA1 Message Date
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
Salvy
7d9de89750 [!] Fixed detection for 4g PSP3k and OFW (thnx DrCam reporting it and providing required info for it)
[~] Small clean up in CPU.cpp

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@283 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-05-17 17:00:40 +00:00
Salvy
4034771010 [+] Added option to choose the frequency to apply cheat codes (every 31 is the default, activators as cheats that require you to hold certain buttons, require 15 or less though)
[!] Remove delay when entering the menu on newer PSP models (the delay is just a speculative fix for Phats anyways)
[!] Do not allow SELECT (GS Button) to be used if cheat codes are disabled


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@262 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-29 01:19:34 +00:00
Salvy
b5c122a89e [+] Added support for GS button cheats, just press SELECT to use them.
[!] Increase cheats to eight per game


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@261 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-27 20:06:36 +00:00
Salvy
02a54c0d28 [~] Forgot this
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@256 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-26 07:41:09 +00:00
Salvy
a875f2a306 [!] Apply cheat codes only once every 60 VBLs (to avoid hogging the emulator)
[+] Added support for compressed cheats and activator cheats are fully supported as well
[!] Flush save once per row, instead of 4 times per row (Corn)
[+] Added more cheat codes (mostly compressed and activator cheats for testing)


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@255 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-26 07:37:54 +00:00
Salvy
8091e0e0b8 [!] Fixed bug that caused cheats to be displayed after loading a game with no cheats
[!] Fixed enable cheats option not working
[!] Activation of cheat codes
[+] Show a msg if user opens the cheat menu with no cheats etc
[!] Fixed left and right pad not working in cheat menu
[+] Make read only cheat list if cheat code option is disabled

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@236 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-18 20:14:13 +00:00
Salvy
ad0c328b9b Disable temporally a couple of flags to enable or disable cheats (they don't work yet, due the UI part not working properly)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@235 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-16 20:59:12 +00:00
Salvy
2b02d480a8 [+] Added cheat menu (WIP, only disable and enable cheats option work atm)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@233 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-16 06:52:54 +00:00
Salvy
cdcd8c77bf [+] Implemented cheat support (this mostly based from 1964 and PJ64)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@232 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-04-16 01:41:23 +00:00
Corn
ee9303a4b5 [!] Fix crash in Ogre battle 64
[+] Added hack for Paper mario and MEM OPT.
[+] Added Blend for Road Rush 64
[~] Use only 32bit in IRQ updates

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@83 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-01-14 21:57:56 +00:00
Salvy
bdbd952c60 [+] Initial repo (based from r630 dx64 branch)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@3 42e9bfbe-799a-4a2d-bad1-236e862a387a
2010-12-24 04:37:41 +00:00