Maxim Poliakovski
|
501f24f0d3
|
ppcmmu: implement SoftTLB for instructions.
|
2021-09-25 19:13:40 +02:00 |
|
Maxim Poliakovski
|
2a79c9a63c
|
ppcmmu.c: restructure and clean up.
|
2021-09-25 19:13:40 +02:00 |
|
Maxim Poliakovski
|
a8f400287a
|
Add TLB profiling.
|
2021-08-22 17:34:23 +02:00 |
|
Maxim Poliakovski
|
089645e830
|
Implement SoftTLB for writes.
|
2021-08-22 17:34:23 +02:00 |
|
Maxim Poliakovski
|
094d9a9c2f
|
Remove inline to fix compiler warnings.
|
2021-06-21 00:11:14 +02:00 |
|
Maxim Poliakovski
|
4da95a66d7
|
Make emulated memory loads to use SoftTLB.
|
2021-06-20 22:33:10 +02:00 |
|
Maxim Poliakovski
|
7d8f4d4e61
|
Finalize SoftTLB for reads.
|
2021-05-16 22:00:00 +02:00 |
|
Maxim Poliakovski
|
a5ddb51a3b
|
ppcmmu: initial TLB implementation for reads.
|
2021-05-16 00:53:15 +02:00 |
|
Maxim Poliakovski
|
6f9ee10de5
|
Rework PPC CPU profiler.
|
2021-04-29 02:26:17 +02:00 |
|
Maxim Poliakovski
|
0c1c59ffa7
|
ppcmmu: set type of the profiling variables to uint64_t.
|
2021-04-29 01:30:27 +02:00 |
|
Maxim Poliakovski
|
085877a8bf
|
ppcmmu: add MMU profiling (disabled by default).
|
2021-04-18 20:49:58 +02:00 |
|
Maxim Poliakovski
|
bc59bf7c43
|
ppcmmu: replace macros with function templates.
|
2021-04-18 20:05:15 +02:00 |
|
Maxim Poliakovski
|
0375b6a687
|
ppcmmu: invert BAT mask to speed up match.
|
2021-04-11 02:03:20 +02:00 |
|
Maxim Poliakovski
|
d545780071
|
ppcmmu: fix calculation for BAT access_bits.
|
2021-04-10 23:51:00 +02:00 |
|
dingusdev
|
19ca37c4ba
|
Started refactoring fctiw and fctiwz
|
2021-02-05 12:45:57 -07:00 |
|
dingusdev
|
ce70b0f096
|
Removed obseleted function declarations
|
2021-02-03 20:01:02 -07:00 |
|
Maxim Poliakovski
|
7628ec92c0
|
Rename memreadwrite.h to memaccess.h
|
2021-02-03 12:19:18 +01:00 |
|
dingusdev
|
7f0acaf3d3
|
Load and store instruction clean-up
|
2021-01-25 21:03:17 -07:00 |
|
Maxim Poliakovski
|
5961552ed9
|
ppcfpopcodes: fix register stores.
|
2021-01-25 17:19:32 +01:00 |
|
Maxim Poliakovski
|
2141a72b87
|
ppcfpopcodes: finish RFC of the loading helpers.
|
2021-01-25 02:27:58 +01:00 |
|
Maxim Poliakovski
|
9683c660bc
|
ppcfpopcodes: RFC loading helpers, part 2.
Fix lfdx emulation along the way.
|
2021-01-25 01:30:19 +01:00 |
|
Maxim Poliakovski
|
d8397906c2
|
ppcfpopcodes: start refactoring of loading helpers.
|
2021-01-24 23:06:33 +01:00 |
|
Maxim Poliakovski
|
fd0f8e2ef5
|
ppcopcodes: revert inlining of helper functions.
|
2021-01-24 22:50:07 +01:00 |
|
dingusdev
|
60f84ef0d9
|
Refactoring interpreter value storage
|
2021-01-24 11:59:16 -07:00 |
|
dingusdev
|
593230f326
|
Disassembler - floating point instruction fixes
|
2021-01-23 22:44:14 -07:00 |
|
dingusdev
|
680b437b74
|
Fixed disassembly for fctiwz, frsp, and fctiw
|
2021-01-23 21:30:29 -07:00 |
|
Maxim Poliakovski
|
3189876d41
|
ppcfpopcodes: fix fmul emulation.
|
2021-01-24 04:53:19 +01:00 |
|
dingusdev
|
2539faef7e
|
Small typo fixes
|
2021-01-23 15:10:08 -07:00 |
|
Maxim Poliakovski
|
42184213e9
|
ppcexec: fix RC flag for subgroup 63.
|
2021-01-23 03:21:50 +01:00 |
|
Maxim Poliakovski
|
bb3f4e596e
|
ppcexec: fix subopcode 59 dispatching.
|
2021-01-23 03:12:39 +01:00 |
|
Maxim Poliakovski
|
014eefdf7e
|
ppcdisasm: fix frsp and add tests for it.
|
2021-01-23 02:32:30 +01:00 |
|
Maxim Poliakovski
|
d8f7588693
|
debugger: some fixes and improvements.
|
2021-01-12 15:17:51 +01:00 |
|
dingusdev
|
2bac606365
|
Added to Heathrow
Plus some debugging stuff to help figure out what register 0x34 is responsible for.
|
2021-01-08 15:29:43 -07:00 |
|
dingusdev
|
df8ea1b276
|
Code clean-up for interpreter
|
2021-01-08 14:34:01 -07:00 |
|
Maxim Poliakovski
|
358f018815
|
ppcopcodes: fix mcrf.
|
2021-01-08 21:59:18 +01:00 |
|
dingusdev
|
79e3d398ba
|
mcrf implemented
|
2021-01-07 20:38:32 -07:00 |
|
Maxim Poliakovski
|
2f3938c23f
|
ppcopcodes: fix dcbz.
|
2021-01-07 04:25:27 +01:00 |
|
Maxim Poliakovski
|
dbbaf13a78
|
ppcopcodes: fix cntlzw to compile properly with Clang.
Enable USE_GCC_BUILTINS by default.
|
2020-12-18 18:33:00 +01:00 |
|
Maxim Poliakovski
|
99641b1b5e
|
ppcopcodes: fix cntlzw with __builtin_clz.
The result of __builtin_clz is undefined when the source operand
is zero. Add a check for this case and handle it accordingly.
|
2020-12-07 14:37:20 +01:00 |
|
Maxim Poliakovski
|
6c6247b94f
|
Clean up program exceptions.
|
2020-11-30 20:59:36 +01:00 |
|
Maxim Poliakovski
|
acfa09af65
|
Illegal opcodes raise program exception.
|
2020-11-29 23:54:10 +01:00 |
|
dingusdev
|
54fcfca8e9
|
Fixed floating point loading and storing instructions
|
2020-11-29 06:52:01 -07:00 |
|
Maxim Poliakovski
|
a775007d3a
|
MMU: implement misaligned cross-page accesses.
|
2020-11-29 00:23:30 +01:00 |
|
dingusdev
|
0c202b0c2d
|
Merging the 68k debugger from another branch
|
2020-11-26 20:00:08 -07:00 |
|
Maxim Poliakovski
|
b81de4af48
|
ppcexec: initialize interpreter lookup tables.
|
2020-11-14 03:05:41 +01:00 |
|
Maxim Poliakovski
|
2b19b0b237
|
ppcmmu: better initialization of last used entries.
|
2020-11-14 02:57:36 +01:00 |
|
dingusdev
|
1fe9ffe3e5
|
Further refactoring to clean up the interpreter
|
2020-10-17 21:46:38 -07:00 |
|
dingusdev
|
dc58386237
|
Started re-refactoring opcode retrieval
|
2020-10-17 14:30:37 -07:00 |
|
dingusdev
|
14ef7564cd
|
CLI fixes - RAM and GFXMEM work better
|
2020-08-25 20:07:02 -07:00 |
|
Maxim Poliakovski
|
353035e9ca
|
Prevent clobbering during debugging.
|
2020-07-20 23:02:07 +02:00 |
|