Maxim Poliakovski
|
4b0c607ea3
|
Bring back strcpy/strcat
|
2020-02-10 19:55:23 -07:00 |
|
dingusdev
|
1e93414f11
|
Further bugfixes
|
2020-02-10 19:52:09 -07:00 |
|
dingusdev
|
f3befe9c16
|
Support for floating-point loads and stores
|
2020-02-10 19:50:38 -07:00 |
|
dingusdev
|
96e9351190
|
Support for floating-point loads and stores
|
2020-02-10 19:47:51 -07:00 |
|
dingusdev
|
254b9d3b55
|
Update ppcdisasm.cpp
|
2020-02-10 19:44:54 -07:00 |
|
dingusdev
|
82b4f5717e
|
Update ppcdisasm.cpp
|
2020-02-10 19:40:45 -07:00 |
|
Maxim Poliakovski
|
99559c1e0c
|
Merging in odd commits
|
2020-02-10 19:37:50 -07:00 |
|
dingusdev
|
b16427e810
|
Further disassembler work
|
2020-02-10 19:33:14 -07:00 |
|
Maxim Poliakovski
|
825da69a10
|
debugger: disassembler integration.
|
2020-02-10 19:31:57 -07:00 |
|
Maxim Poliakovski
|
26bd402f44
|
ppcopcodes: optimize ppc_changecrf0() a bit.
|
2020-02-10 23:07:39 +01:00 |
|
Maxim Poliakovski
|
36fc7a9aaa
|
Add XER[OV] clear tests.
|
2020-02-10 19:34:03 +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 |
|
Maxim Poliakovski
|
8d03d24c77
|
Complete tests for the integer instructions.
|
2020-02-08 23:23:58 +01: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
|
1c5d0e640e
|
Add tests for all subtraction variants.
|
2020-02-04 01:00:37 +01: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 |
|
Maxim Poliakovski
|
4e4d0370be
|
Modularize build system.
This way object files can be shared accross multiple executables.
|
2020-02-03 14:36:37 +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
|
cc7814a722
|
Fix ORIS bug in the test suite.
|
2020-02-01 00:42:57 +01:00 |
|
Maxim Poliakovski
|
a27d7436ad
|
Fix ppctests.cpp and add more instructions.
|
2020-01-31 21:53:02 +01:00 |
|
Maxim Poliakovski
|
b007dbc743
|
More PPC instruction tests.
|
2020-01-31 18:04:50 +01:00 |
|
Maxim Poliakovski
|
aad75266f7
|
Fix cntlzw emulation.
|
2020-01-31 18:03:27 +01:00 |
|
Maxim Poliakovski
|
7d7b0b7de3
|
Initial PPC emulation tests.
|
2020-01-31 04:10:53 +01:00 |
|
Maxim Poliakovski
|
29fa6e6174
|
Move mem_ctrl_instance to ppcexec.
|
2020-01-31 04:08:22 +01:00 |
|
Maxim Poliakovski
|
304409b496
|
ppcexec: break long strings, correct spelling.
|
2020-01-31 00:13:26 +01:00 |
|
dingusdev
|
df4a963558
|
Quick build fix
|
2020-01-29 21:13:36 -07: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 |
|
Maxim Poliakovski
|
043aedb9ad
|
ppcmmu: implement BAT protection.
|
2020-01-30 00:57:45 +01:00 |
|
Maxim Poliakovski
|
354b7b65be
|
ppcmmu: handle unaligned reads and writes.
|
2020-01-30 00:45:39 +01:00 |
|
dingusdev
|
f364efb4b0
|
Fixed up floating-point value saving
|
2020-01-28 18:45: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
|
f6f7bb4d0a
|
ppcmmu.cpp: remove unneeded includes.
|
2020-01-27 12:33:05 +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
|
cdd7f228a4
|
ppcmmu: refactor memory access functions.
Reduces code duplication.
|
2020-01-26 23:46:13 +01:00 |
|
Maxim Poliakovski
|
0c3223454a
|
ppcemu.h: remove initializers from typedef.
|
2020-01-26 20:37:29 +01:00 |
|
dingusdev
|
7ae5baaee7
|
Fixed the opcode table formatting
|
2020-01-25 20:34:07 -07: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
|
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
|
b414c68d81
|
Opcode table fix for tlbsync
|
2020-01-17 18:58:40 -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
|
0b0c00b653
|
Add aligned macros for reading ints from memory.
|
2020-01-13 03:05:50 +01: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
|
fbe82010f8
|
Fixing up FPU opcodes further
|
2020-01-11 21:17:29 -07: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 |
|
Maxim Poliakovski
|
bd5ae4a45a
|
More memreadwrite macros usage.
|
2020-01-06 03:46:23 +01:00 |
|
dingusdev
|
b92fe60fad
|
Header updates + NVRAM Fix
|
2020-01-05 10:38:32 -07: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
|
99288e44d1
|
ppcmmu: add a comment describing missing features.
|
2020-01-03 21:21:41 +01:00 |
|
Maxim Poliakovski
|
7bae155fc3
|
ppcemu: add PTEG integrity check.
|
2020-01-03 21:18:07 +01:00 |
|
Maxim Poliakovski
|
74882c8082
|
ppcemu: remove unused global variables.
|
2020-01-03 21:18:07 +01:00 |
|
Maxim Poliakovski
|
4b843157d9
|
ppcemu: refactor page address translation.
The refactored code is UNTESTED. Moreover,
no TLB is currently implemeneted.
|
2020-01-03 16:22:38 +01:00 |
|
Maxim Poliakovski
|
241031dfe7
|
Move big-endian memory access to memreadwrite.h.
|
2020-01-03 16:08:00 +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 |
|
Maxim Poliakovski
|
87ca977ae7
|
Rename ppcmemory to ppcmmu.
|
2019-12-27 20:00:53 +01:00 |
|
Maxim Poliakovski
|
134eda8c12
|
Clean up some comments and messages.
|
2019-12-27 00:42:02 +01:00 |
|
Maxim Poliakovski
|
ad5f3a9435
|
Move PPC emulation code into /cpu/ppc subdirectory.
|
2019-12-23 10:38:16 +01:00 |
|