Bobby Smiles
740478d7ab
Rename bunch of gen<OP> functions so we can simplify recomp_funcs array declaration
2018-03-24 13:30:31 +01:00
Bobby Smiles
73977a68b0
Remove unneeded header memory.h from recomp.c
2018-03-24 13:30:31 +01:00
Bobby Smiles
a81164b3a1
Get rid of recomph.h header.
2018-03-24 13:30:31 +01:00
Bobby Smiles
0a9631065b
Backport changes from cached_interp_recompile_block inside recomp.c
2018-03-24 13:30:31 +01:00
Bobby Smiles
36007ddf24
Get rid of is_jump function, use a switch instead.
2018-03-24 13:30:31 +01:00
Bobby Smiles
45caf94c52
Move various tests outside of loop in cached_interp_recompile_block
2018-03-24 13:30:31 +01:00
Bobby Smiles
82868b67ab
Small refactor in update_invalid_addr
2018-03-24 13:30:31 +01:00
Bobby Smiles
eb4c98cfbc
Do 0x80000000 - 0xC0000000 range test using masks instead of 2 logical op
2018-03-24 13:30:31 +01:00
Bobby Smiles
7eff092d2c
Move src into recomp struct.
2018-03-24 13:30:31 +01:00
Bobby Smiles
ec2a44337a
Move dst to recomp struct.
2018-03-24 13:30:31 +01:00
Bobby Smiles
7b8d8f62ee
Get rid of check_nop. Pass it directly to functions.
2018-03-24 13:30:31 +01:00
Bobby Smiles
34fb0b0cd6
Move delay_slot_compiled inside recomp struct.
2018-03-24 13:30:31 +01:00
Bobby Smiles
1b709cec65
Move init_length and code_length to recomp struct.
2018-03-24 13:30:31 +01:00
Bobby Smiles
032523ad58
SRC is only needed in recomp.c
2018-03-24 13:30:31 +01:00
Bobby Smiles
82a9e947d3
Only compile recomp.c when hacktarux dynarec is compiled.
...
Also get rid of empty_dynarec.c
2018-03-24 13:30:31 +01:00
Bobby Smiles
9852ba6a73
Isolate instruction decoding logic.
2018-03-24 13:30:30 +01:00
Bobby Smiles
12a8e3d08b
Avoid usage of some Rpseudo_opcode functions.
2018-03-24 13:30:30 +01:00
Bobby Smiles
b25a84f4db
split recompile_block function.
2018-03-24 13:30:30 +01:00
Bobby Smiles
a217689655
Split init_block function.
2018-03-24 13:30:30 +01:00
Bobby Smiles
7262350c89
Split free_block functions.
2018-03-24 13:30:30 +01:00
Bobby Smiles
04f29ef745
Move blocks getter functions to cached_interp.
2018-03-24 13:30:30 +01:00
Bobby Smiles
367e307f9f
Remove ops header file and associated instruction_table struct.
2018-03-24 13:30:30 +01:00
Bobby Smiles
f11d0d7be3
Remove macros header.
2018-03-24 13:30:30 +01:00
Bobby Smiles
ff69ba7453
Move sign-extension macros inside osal/preproc.h
2018-03-24 13:30:30 +01:00
Bobby Smiles
f44b54c96e
Add some comments.
2018-03-24 13:30:30 +01:00
Bobby Smiles
eedf36301d
Avoid usage of dyna_jump in cached_interp notcompiled.
2018-03-24 13:30:30 +01:00
Bobby Smiles
4e2047b61f
Remove dyna_jump call from cached_interp FIN_BLOCK
2018-03-24 13:30:30 +01:00
Bobby Smiles
61207776b9
Move dyna_jump at end of FIN_BLOCK
2018-03-24 13:30:30 +01:00
Bobby Smiles
9d2efb493e
Split dynarec/cached_interp xx_jump_to implementations into their respective modules
...
- provide a dynarec_jump_to function in recomp module.
- use generic_jump_to when sensible (select appropriate cde path at runtime)
2018-03-24 13:30:30 +01:00
Bobby Smiles
661430625c
Rename dynarec_jump_to_address -> dynarec_jump_to_recomp_address.
2018-03-24 13:30:30 +01:00
Bobby Smiles
e76aaa8510
Formatting cleanups in cached_interp module.
2018-03-24 13:30:30 +01:00
Bobby Smiles
d562015870
{init,free}_blocks and profiling is only needed for hacktarux dynarec.
2018-03-24 13:30:30 +01:00
Bobby Smiles
26371fe096
Reorganize cached/recomp/new_dynarec fields such that:
...
- shared fields between cached_interp and recomp are moved to
cached_interpreter
- and that we can completely separate recomp struct from
new_dynarec_hot_state.
This way we can select at compile time which dynarec struct to embed
inside r4300_core.
2018-03-24 13:30:30 +01:00
Bobby Smiles
71de99f24d
Move w{,d}word inside recomp for Hacktarux dynarec.
...
Move them in new_dynarec_hot_state for new dynarec x86.
2018-03-24 13:30:30 +01:00
Bobby Smiles
dab7150aee
Move address inside recomp struct for hacktarux dynarec.
...
Move it inside new_dynarec_hot_state for new_dynarec.
Remove r4300_address helper function.
2018-03-24 13:30:30 +01:00
Bobby Smiles
91ef25b2b4
Move wmask inside recomp struct. Remove wmask field in new_dynarec.
2018-03-24 13:30:30 +01:00
Bobby Smiles
74d73d2804
Move rdword to recomp struct.
2018-03-24 13:30:30 +01:00
Bobby Smiles
977741d9ad
Move more fields inside recomp struct.
2018-03-24 13:30:30 +01:00
Bobby Smiles
574cefe7f1
Move regcache_state to recomp struct.
2018-03-24 13:30:30 +01:00
Bobby Smiles
38fb23530c
Move dyna_interp inside recomp struct.
2018-03-24 13:30:30 +01:00
Bobby Smiles
caf23ddb9a
Move local_rs inside recomp struct.
2018-03-24 13:30:30 +01:00
Logan
87b1946868
Don't call SDL_PumpEvents() in core
2018-03-23 12:18:50 -06:00
Logan McNaughton
1367d9f736
Clear CLOCK_REG when requested
...
DPC_STATUS_START_GCLK should be set on boot.
Renamed some of the status flags to match what is in rcp.h
2018-03-21 13:46:33 -06:00
Stefan Tobert
d5fb78feb5
Missing Joy Mappings added
2018-03-20 23:02:46 +01:00
Stefan Tobert
ece4a3cf87
Missing Joy Mappings added
2018-03-20 22:53:06 +01:00
Richard Goedeken
37b1417065
Merge pull request #545 from bsmiles32/savestate
...
Fix: try to keep savestates offsets aligned.
2018-03-18 20:33:05 -07:00
Richard Goedeken
b51cfc4470
fix memory read/write operations in R4300 debugging extension
2018-03-12 21:52:38 -07:00
Bobby Smiles
2d5854faad
Fix: crash with savestate unaligned accesses
...
Keep savestate v1.2 format unchanged and pre-load data into an aligned
buffer before doing the actual 32/64 bit load.
Bump savestate version to 1.3 and changes several offsets to have them
properly aligned.
2018-03-10 00:13:37 +01:00
Bobby Smiles
2a6d7a7dc0
Fix: try to keep savestates offsets aligned.
2018-03-09 22:11:37 +01:00
Logan McNaughton
03e16a93d7
Fix DSLLV in x86 dynarec
...
Removes force_32 function, fixes #542
2018-03-09 13:20:01 -07:00