Commit Graph

222 Commits

Author SHA1 Message Date
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
37078ddfe1 Disassembler added
Created by maximumspatium, with some additions by me.
2020-02-03 08:03:24 -07: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
90e229d9b4 Write to GPRs in debugger + VS 2019 compile fix 2020-02-02 19:18:20 -07: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
1882244fa3
Update CONTRIBUTING.md 2020-01-25 21:10:37 -07:00
dingusdev
b3989269d0
Starting some contribution rules
I've been a little jumpy when it comes to contributing. This serves not just as a self-reminder, but also guidelines for future contributions.
2020-01-25 20:55:58 -07: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
a3601f224c Fix NVRAM->Heathrow connection. 2020-01-24 16:20:20 +01: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
Maxim Poliakovski
0b0c545ad9 Debugger: implement 'set' command. 2020-01-16 12:29:29 +01:00
Maxim Poliakovski
1a44d8e16c ViaCuda: allocate PRAM object dinamically. 2020-01-15 18:23:15 +01:00
dingusdev
6dd8d55577 Profiler + Missing Instruction Added 2020-01-14 20:50:01 -07:00
dingusdev
3650b655d7 Proper NVRAM deletion
And slowly preparing for a response method from the Cuda to the host
2020-01-13 20:43:09 -07:00
dingusdev
5b8a787e9a Simplified PRAM emulation 2020-01-13 19:48:29 -07:00