Commit graph

685 commits

Author SHA1 Message Date
strmnnrmn
b01dae97d3 Replace a few magic constants with better-named macros
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@979 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 16:58:52 +00:00
strmnnrmn
27a5885334 Merge some cross-platform fixes to ROMBuffer.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@978 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:04:29 +00:00
strmnnrmn
b3a2bc8af3 DMA_PI_CopyToRDRAM doesn't seem to handle dom1 addr1/addr3 correctly any more
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@977 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:04:25 +00:00
strmnnrmn
776bf498c1 Merge OSX/W32 versions of SP DMA code. We probably should just have a single version of the code here, but I don't want to remove all traces of the count/skip logic just yet
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@976 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:04:21 +00:00
strmnnrmn
c4cdc1ef51 Merge some W32 changes (can we remove RSP_Old.cpp, and just pull from source control if needed?)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@974 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:04:13 +00:00
strmnnrmn
fdebeb592e Reintroduce some cross-platform code
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@970 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:03:52 +00:00
strmnnrmn
fd982bc4dd Remove lots of spaghetti in RSP_HLE.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@965 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:03:30 +00:00
strmnnrmn
15e2447786 Need stdint.h for uint16_t
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@964 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:03:26 +00:00
strmnnrmn
9850f921dd Fix mixed line endings in JpegTask.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@963 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:03:22 +00:00
strmnnrmn
eaeb576ef7 [~] Fix stray redefine of R4300_Rand
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@962 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:03:18 +00:00
strmnnrmn
0aab28812d Fix some whitespace issues in R00.cpp, ROM.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@961 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:03:14 +00:00
strmnnrmn
4be3238748 [~] Tidy CPU.h
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@960 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:03:10 +00:00
strmnnrmn
8f6a9497c3 [~] Reintroduce some code in Memory.h for W32 (I'll try to factor this a bit more nicely once I've finished merging)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@959 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:03:06 +00:00
strmnnrmn
e097976442 [~] Reintroduce some code in Memory.cpp for W32 (I'll try to factor this a bit more nicely once I've finished merging)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@958 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:03:02 +00:00
salvy
aeb7992217 [~] Some optimizations to JPEGTASK
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@953 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-11 21:00:24 +00:00
salvy
7183ba415b [!] Updated JPEGTASK emulation to latest version
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@952 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-11 19:28:04 +00:00
salvy
49da66be13 [!] Implemented correctly DMULTU and DMULT in interpreter (based from mupen64plus, currently disabled, will enable eventually as current impl only handles "small" numbers)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@950 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-11 11:00:12 +00:00
salvy
5614839ad9 [~] mpPifRam is already swapped (DAEDALUS_DEBUG_PIF)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@947 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-07 20:32:34 +00:00
salvy
6fa7f7ba84 [!] Write to mempak file when N64 writes to it, instead of when the game is exit (this prevent any loss of saves if a game crashes suddenly, at the expense of performance if a game writes frequently the mempak file (have yet to see)
[!] PSP, only controller 1 is connected

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@946 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-07 19:58:42 +00:00
salvy
a9bf33cf48 [~] Cleanups in PIF
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@944 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-07 07:38:57 +00:00
Corn
fd472f60df [!] PspFastRand() is now just FastRand().
[!] Make sure to invalidate regs when exiting a fragment.

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@937 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-03 21:59:04 +00:00
strmnnrmn
e5a16569f0 [!] WriteValue_8440_844F should only skip graphics plugin ops on PSP
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@929 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-03 17:42:19 +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
strmnnrmn
077a2e10eb [~] Tag an #endif that spans many lines
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@923 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-03 17:41:52 +00:00
strmnnrmn
9db4090a6d [~] Remove lots of DAEDALUS_ENABLE_DYNAREC checks in Dynamo.cpp - do a single check for most of the file
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@922 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-03 17:41:47 +00:00
strmnnrmn
8d02eaa1e8 [~] Fix inconsistent line endings (no functional changes)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@913 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:12:00 +00:00
Corn
be3e511061 [!] Some cleanup and optimization in DynaRecStubs.S
[!] fixed CRLF on additional files

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@906 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-30 19:47:24 +00:00
strmnnrmn
84b5f81098 [~] Merge some minor whitespace fixes
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@904 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-27 20:44:09 +00:00
strmnnrmn
64b82bda28 [~] Cast is not needed here
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@901 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-27 19:31:47 +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
ed3a2cf7f6 [!] Made it possible to print values from ASM ( make sure value is in A0 and call JAL( CCodeLabel( (void*)_printf_asm ), true ); )
[!] small optimization of HandleException_extern()

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@899 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-26 13:29:01 +00:00
salvy
bf5e76d078 [!] Optimized CPU_FetchInstruction
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@898 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-25 07:21:38 +00:00
salvy
ef2777cea3 [!] Optimized R4300_SWL/SWR/SDL/SDR
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@897 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-24 07:12:54 +00:00
salvy
9ea723a616 [~] Some misc changes
[+] Init/reset FlashRam
[!] Simplified ReadInvalid to take advantage of the movn instruction
[!] Need to check for interrupts when writing to DPC_END_REG

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@896 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-24 06:14:30 +00:00
salvy
d242daf73c [!] Simplified DacrateChanged (only PAL or NTSC are used anyways)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@895 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-18 22:33:41 +00:00
salvy
12273ad7cc [!] Change abit detection when jumping to the same addr in speedhack (saves 1 op li v0,-1)
[!] Changed a suspicious speedhack in R4300_BLEZL (why was added?)
[!] Added defines to disable speedhack and sim doubles in interpreter (sim doubles is only enabled for PSP)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@893 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-17 20:23:27 +00:00
salvy
012b803f5d [!] Optimized speed hack in interpreter (use cached instruction pointer to check next op, also removed a very unlikely speed hack)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@892 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-17 01:49:08 +00:00
Corn
63abfdd381 [!] Optimization (interpreter) avoid excessive branching for floating point compare instructions
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@891 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-16 21:34:57 +00:00
Corn
8cb35c0708 [!] Simulated CVT_D_S causes issues (in EWJ/PPGirls/Tom&Jerry/Mario Party) It is now made compatible with both interpreter and dynarec simdoubles
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@889 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-11 13:59:23 +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
aefa21ff69 [!] [Dynarec] LWL,LWR,SWL,SWR don't need pc
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@887 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-11 08:56:17 +00:00
salvy
57389bd1c2 [!} Some small optimisations in Patch___osDispatchThread
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@883 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-04 21:23:52 +00:00
salvy
947f1f5dfa [!] Just call builtin_bswap32 instead
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@876 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-25 08:59:22 +00:00
salvy
748a68932e [!] Use PSP's wsbw opcode for swapping four bytes in a 32bit value
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@875 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-25 06:06:57 +00:00
salvy
5308274e8f [!] Fixed bug with savestate screenshot when having more than 64 more folders (Corn)
[+] Added Azimer's DK64 hack(DK64 boots now, make sure to have Double Display List off)
[!] Set EEPROM4k for DK64 (fixes hang when entering main menu in DK64) 

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@873 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-24 19:27:20 +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
2bc64156e6 [!] Some clean ups
[!] Made guRotateF and volatile memory platform independent 
[!] Check for invalid reads/writes to PIF

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@870 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-20 21:50:27 +00:00
Corn
49d6192e46 [!] Freed usage of T0/T1 registers in Dynarec. temp regs are now A0/A1 & V0/V1 (A2/A3 are still not freed but are unused)
[!] Use of two scratch registers in the CPU register struct for easy storage of temp variables (mainly used in Dynarecstubs.S)


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@869 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-16 16:36:37 +00:00
salvy
f3a82901af [!] Make sure FlashRead/Write regions are valid
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@868 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-15 01:34:15 +00:00
salvy
dfa4ebfb4f [+] Added QuickRead16Bits/QuickWrite16Bits (will start optimizing oshle functions more aggressively soon)
[!] Optimized osViSwapBuffer

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@866 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-13 22:31:14 +00:00