Commit Graph

57 Commits

Author SHA1 Message Date
Waqar Ahmed 0ab9380be3 clang-format everything 2020-05-12 23:55:45 +05:00
Maxim Poliakovski 64d74228c2 ppcopcodes: fix STMW emulation. 2020-04-21 04:58:21 +02:00
Maxim Poliakovski 3d13bc1ca6 ppcopcodes: fix TWI emulation. 2020-04-21 04:58:21 +02:00
dingusdev 60ffa5bfac Initial attempt at fixing SDL2 building for Windows 2020-03-22 20:15:12 -07: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
Maxim Poliakovski 0eb557751b ppcopcodes: fix timebase read & write. 2020-03-02 00:01:18 +01:00
dingusdev 354409812e Updating files with proper licensing header 2020-02-28 09:04:28 -07:00
Maxim Poliakovski 90779bd9c6 Remove log messages from cache/TLB instructions. 2020-02-27 16:31:22 +01:00
dingusdev 6c1dc8aaf0 Further logging work 2020-02-24 19:50:52 -07:00
dingusdev d91950e582 Further logging code. 2020-02-23 22:36:31 -07:00
dingusdev 30b1116393 Implemeted limited simplified mnemonics for rlwinm 2020-02-10 20:02:41 -07:00
Maxim Poliakovski 26bd402f44 ppcopcodes: optimize ppc_changecrf0() a bit. 2020-02-10 23:07:39 +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 a72e2fd67d Simplify unsigned integer divisions. 2020-02-10 17:16:18 +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
dingusdev a4d815344a Patched up DIVW(U)O(.) 2020-02-09 13:59:30 -07: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 49002860ed Fix carry update for subfc(.) and subfco(.). 2020-02-09 07:41:03 +01:00
dingusdev 6f16ba8c57 Fixed SUBFME(O)(.) 2020-02-08 22:06:01 -07:00
dingusdev 051edd5e38 Subtraction operation fixes in progress 2020-02-08 20:35:11 -07:00
dingusdev b364aa0ae4 Patching up Subtraction Opcodes 2020-02-03 22:32:56 -07:00
dingusdev f52be627b5 Fixed subfo(.) 2020-02-03 17:28:41 -07:00
Maxim Poliakovski 03439b2a49 Placeholders for SUBFEO[.], SUBFMEO[.] and SUBFZEO[.]. 2020-02-04 00:58:04 +01:00
Maxim Poliakovski d25ce6a244 Add tests for shifts and fix their emulation. 2020-02-03 22:59:47 +01:00
Maxim Poliakovski 8c1c1e0a0d Fix and refactor additions with OE=1. 2020-02-03 19:42:33 +01:00
dingusdev eb476adf87 Small fix to addeo 2020-02-02 16:36:47 -07:00
dingusdev 60bf5dfa6a ADDO(.) and ADDCO(.) fixed
Temp fix to look into the issues with the addition ops and overflow flag issues.
2020-02-02 11:54:33 -07:00
dingusdev fe6ea7d9f6 Division ops fixed 2020-02-01 10:51:59 -07:00
dingusdev 0b2de4ac4c Division Ops Fixes WIP 2020-01-31 21:06:06 -07:00
dingusdev 8c10004f52 Fixed all multiplication issues 2020-01-31 18:17:01 -07:00
Maxim Poliakovski 99e8bc98f3 Fix mulhw/mulhw. emulation. 2020-02-01 02:02:12 +01:00
dingusdev ddae141c22 Overflow fixes in progress 2020-01-31 16:54:37 -07:00
Maxim Poliakovski aad75266f7 Fix cntlzw emulation. 2020-01-31 18:03:27 +01:00
dingusdev 3dead1f65c Updated TBRs correctly in mtspr 2020-01-29 21:08:42 -07:00
dingusdev e1c0ec3dd2 Fixed MTSPR for time base regs 2020-01-29 20:47:12 -07:00
dingusdev aa20d64b48 SPRs now use symbolic names 2020-01-27 20:39:23 -07: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
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
dingusdev 6a083869e1 Started a massive FP fix-up 2020-01-21 19:25:50 -07:00
dingusdev 29d0ce362c
Fix 4 for the opcodes 2020-01-18 07:08:11 -07:00
dingusdev bed665076d
Update 3 for the opcodes 2020-01-17 21:37:54 -07:00
dingusdev 3dc46ae664
Further opcode fixing 2020-01-17 21:26:09 -07:00
dingusdev add1ac7a3d
Corrected several loading instructions 2020-01-17 21:06:26 -07:00
dingusdev 3010708f2a
mfsrin fixed 2020-01-16 19:25:41 -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
Maxim Poliakovski 2d5e436ad4 Refactor PPC exception handling, part 1. 2020-01-12 02:35:54 +01:00
dingusdev b92fe60fad Header updates + NVRAM Fix 2020-01-05 10:38:32 -07:00