dingusdev
|
7919cd0590
|
Merge pull request #21 from dingusdev/floating-point
Floating point fixes. Rehauled floating-point emulation code. Fixed a test suite for floating points.
|
2021-10-19 07:18:21 -07:00 |
|
dingusdev
|
fb277945c2
|
Floating point test fixes
|
2021-10-19 07:16:15 -07:00 |
|
Maxim Poliakovski
|
e53296f7a9
|
Implement all required context-synchronizing events.
|
2021-10-13 20:58:09 +02:00 |
|
dingusdev
|
5672a154cb
|
Floating-point refactor, part 3
Condensed code to shorten enum names and remove casting.
Condensed mffs and partially fixed NAN checks for FADD(S).
|
2021-10-10 07:48:49 -07:00 |
|
dingusdev
|
2d65ed47fc
|
Floating point overhaul, part 2
Further formatting fixes. Removed obsoleted separation definitions. Fixed rounding to nearest.
|
2021-10-09 19:42:25 -07:00 |
|
dingusdev
|
e344b089b3
|
Floating point overhaul, part 1
Cleaned up formatting and reworked the INF/NAN checks
|
2021-10-09 15:08:53 -07:00 |
|
dingusdev
|
f605c484dd
|
ecowx and eciwx added
|
2021-10-05 17:40:09 -07:00 |
|
Maxim Poliakovski
|
22827642e4
|
ppcmmu: implement 601-style BAT.
|
2021-09-27 12:37:35 +02:00 |
|
Maxim Poliakovski
|
089645e830
|
Implement SoftTLB for writes.
|
2021-08-22 17:34:23 +02:00 |
|
Maxim Poliakovski
|
6f9ee10de5
|
Rework PPC CPU profiler.
|
2021-04-29 02:26:17 +02:00 |
|
dingusdev
|
ce70b0f096
|
Removed obseleted function declarations
|
2021-02-03 20:01:02 -07:00 |
|
dingusdev
|
7f0acaf3d3
|
Load and store instruction clean-up
|
2021-01-25 21:03:17 -07:00 |
|
dingusdev
|
60f84ef0d9
|
Refactoring interpreter value storage
|
2021-01-24 11:59:16 -07:00 |
|
Maxim Poliakovski
|
3189876d41
|
ppcfpopcodes: fix fmul emulation.
|
2021-01-24 04:53:19 +01:00 |
|
Maxim Poliakovski
|
bb3f4e596e
|
ppcexec: fix subopcode 59 dispatching.
|
2021-01-23 03:12:39 +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
|
79e3d398ba
|
mcrf implemented
|
2021-01-07 20:38:32 -07: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
|
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
|
0c202b0c2d
|
Merging the 68k debugger from another branch
|
2020-11-26 20:00:08 -07: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 |
|
Maxim Poliakovski
|
b9dcfef551
|
debugger: debugging commands for 68k code.
|
2020-07-16 14:26:34 +02:00 |
|
Maxim Poliakovski
|
6b74e358dc
|
WIP: basic 68k debugging environment.
|
2020-07-15 02:19:05 +02:00 |
|
Maxim Poliakovski
|
39a643aff6
|
Merge branch 'machines'
Also disable SDL for now because it produces build errors.
|
2020-06-03 18:21:51 +02:00 |
|
Maxim Poliakovski
|
d21fdb25d1
|
Remove unused variable grab_branch.
|
2020-06-01 23:12:18 +02:00 |
|
Waqar Ahmed
|
0ab9380be3
|
clang-format everything
|
2020-05-12 23:55:45 +05:00 |
|
Maxim Poliakovski
|
822f6cafd2
|
Create machine factory.
It manages various hardware configurations referred to as machines.
|
2020-03-13 23:09:36 +01:00 |
|
dingusdev
|
4ceed27ccf
|
Simplified prog_counter back to pc
|
2020-03-05 07:48:10 -07:00 |
|
dingusdev
|
e31f7873f5
|
Fixed redunant variable names for PPC emulation.
|
2020-03-04 21:29:04 -07:00 |
|
dingusdev
|
354409812e
|
Updating files with proper licensing header
|
2020-02-28 09:04:28 -07:00 |
|
Maxim Poliakovski
|
461d859e73
|
ppcmmu: add debug memory reading function.
This function saves and restores the MMU state
so no invalid user input can break CPU execution.
|
2020-02-23 16:41:58 +01:00 |
|
Maxim Poliakovski
|
403c19ca39
|
Improve the command line debugger.
Add next command. Make the debugger somewhat foolproof.
|
2020-02-23 15:24:55 +01:00 |
|
Maxim Poliakovski
|
d0f1a34c02
|
Fix integer multiplications.
Add a couple of tests for verifying XER[OV] updating code
for mullwo[.].
|
2020-02-10 18:36:28 +01:00 |
|
Maxim Poliakovski
|
d4a2f400b5
|
Fix divw[.] and divwo[.] emulation.
Also adds a couple of tests for undocumented
CPU behaviour. Remove superfluous "sidiv".
|
2020-02-10 16:07:11 +01:00 |
|
Maxim Poliakovski
|
b057a8373d
|
Simplify SUBF and remove not_this.
|
2020-02-09 08:05:20 +01:00 |
|
Maxim Poliakovski
|
32e64fc1b2
|
Make XER update code inline & private.
|
2020-02-09 08:01:26 +01:00 |
|
Maxim Poliakovski
|
03439b2a49
|
Placeholders for SUBFEO[.], SUBFMEO[.] and SUBFZEO[.].
|
2020-02-04 00:58:04 +01:00 |
|
dingusdev
|
ddae141c22
|
Overflow fixes in progress
|
2020-01-31 16:54:37 -07:00 |
|
dingusdev
|
df4a963558
|
Quick build fix
|
2020-01-29 21:13:36 -07:00 |
|
dingusdev
|
aa20d64b48
|
SPRs now use symbolic names
|
2020-01-27 20:39:23 -07:00 |
|
Maxim Poliakovski
|
2953eaa538
|
Restructure main.cpp, remove obsolete code.
|
2020-01-28 02:20:43 +01:00 |
|
Maxim Poliakovski
|
117b3f1aa8
|
Move CPU initialization to ppcexec.cpp.
|
2020-01-28 01:24:12 +01:00 |
|
Maxim Poliakovski
|
7ae87e39c1
|
Refactor usage of the memory access functions.
Memory access function have better names now.
Global variable return_value has been removed.
lhbrx emulation has been fixed.
|
2020-01-27 01:36:52 +01:00 |
|
Maxim Poliakovski
|
0c3223454a
|
ppcemu.h: remove initializers from typedef.
|
2020-01-26 20:37:29 +01:00 |
|
dingusdev
|
7c6d875ec8
|
Refactored floating point emulation
Refactored for better 64-bit value loading and storing. I also added missing opcodes.
|
2020-01-25 19:30:55 -07:00 |
|
Maxim Poliakovski
|
e1793b6305
|
Fix compilation warnings from previous commits.
|
2020-01-22 21:45:46 +01:00 |
|
dingusdev
|
6a083869e1
|
Started a massive FP fix-up
|
2020-01-21 19:25:50 -07:00 |
|
dingusdev
|
6dd8d55577
|
Profiler + Missing Instruction Added
|
2020-01-14 20:50:01 -07:00 |
|
Maxim Poliakovski
|
720b35aa26
|
Move endian swapping code to endianswap.h.
Remove superfluous endian swapping wrappers.
|
2020-01-12 22:51:37 +01:00 |
|
dingusdev
|
ea7c34f0d9
|
Merge branch 'master' of https://github.com/dingusdev/dingusppc
|
2020-01-11 19:44:46 -07:00 |
|
dingusdev
|
c5ac0a2420
|
FPU Fixing + Preparing for more debugging
|
2020-01-11 18:43:47 -07:00 |
|
Maxim Poliakovski
|
2d5e436ad4
|
Refactor PPC exception handling, part 1.
|
2020-01-12 02:35:54 +01:00 |
|
dingusdev
|
b5074e4ce1
|
Started work on NVRAM
Tried to also fix some issued with MSVC
|
2020-01-05 09:52:46 -07:00 |
|
Maxim Poliakovski
|
e76ef61f53
|
ppcexec: pagewise MMU translation for code.
|
2020-01-04 02:07:36 +01:00 |
|
Maxim Poliakovski
|
74882c8082
|
ppcemu: remove unused global variables.
|
2020-01-03 21:18:07 +01:00 |
|
Maxim Poliakovski
|
01dffb84f3
|
Move all PPC code execution to ppcexec.cpp.
|
2019-12-28 02:49:58 +01:00 |
|
Maxim Poliakovski
|
2d8150a201
|
Move opcode decoding tables to ppcexec.cpp.
|
2019-12-28 01:58:51 +01:00 |
|
Maxim Poliakovski
|
db89c23bf0
|
Move ppcemumain.h to /cpu/ppc/ppcemu.h.
|
2019-12-27 20:10:36 +01:00 |
|