Commit Graph

300 Commits

Author SHA1 Message Date
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
dingusdev
02a75f78da regsfpsab fixed 2020-02-20 22:21:58 -07:00
dingusdev
d20122b3a9 Proper flag updates for fm arithmetic operations 2020-02-20 20:00:20 -07:00
dingusdev
6428f324f6 icbi fixed 2020-02-19 19:37:51 -07:00
dingusdev
d8f4a0c910 icbi fixed 2020-02-19 19:20:01 -07:00
dingusdev
9138b9bafc Quick fix for cmp 2020-02-19 19:12:23 -07:00
dingusdev
c71be1bc37 Fixed compare instructions 2020-02-19 19:03:39 -07:00
Maxim Poliakovski
5b2369458e ppcdisasm: remove unused function. 2020-02-20 02:35:38 +01:00
Maxim Poliakovski
8671517a08 ppcdisasm: new tests and fixes for rlwinm/rlwimi. 2020-02-20 02:27:48 +01:00
dingusdev
8babfa9987 Fixed some convoluted code for rlwinm 2020-02-17 20:17:56 -07:00
dingusdev
7a654fa576 Fixed rlwinm, rlwimi, and rlwnm mnemonics 2020-02-16 22:19:28 -07:00
dingusdev
3c06e8b30a Implemented fctiw(z)(.) 2020-02-16 13:40:55 -07:00
dingusdev
839c97b665 Small fix to the execution table 2020-02-16 08:57:23 -07:00
dingusdev
1f43b69878 Implemented the remaining recognized SPRs 2020-02-15 21:37:36 -07:00
dingusdev
87a4ff1b73 CMPW mnemonics added 2020-02-15 20:59:09 -07:00
dingusdev
d7e4f3a6a8 Small fixes to M(F/T)SPR and rotate instructions 2020-02-15 16:15:08 -07:00
dingusdev
bedbd54f5b Almost all major rotate op mnemonics added 2020-02-15 14:48:21 -07:00
dingusdev
158b0d2b50 Added major MTSPR/MFSPR mnemonics and MFTB mnemonics 2020-02-15 13:10:01 -07:00
dingusdev
6f6e5671d4 Fixed test cases for stfd(u) and sllq(.) 2020-02-15 12:09:27 -07:00
dingusdev
ef27fcec69 More tests, more fixes
Only significant bugs left are with stfd(u) and sllq(.)
2020-02-15 11:29:03 -07:00
dingusdev
4f02a98c2b More tests +fix for fsel 2020-02-14 07:58:30 -07:00
dingusdev
17e69677e8 One more fix for the segment reg instructions 2020-02-13 21:46:12 -07:00
dingusdev
07844c7388 One tiny fix to tlbie 2020-02-13 21:40:36 -07:00
dingusdev
73dfec443a Fixed cntlzw, mtsr(in), tlbie 2020-02-13 21:37:33 -07:00
dingusdev
3d89b0438a Many new test cases, many fixes 2020-02-13 21:04:14 -07:00
dingusdev
d4239c5aa1 Fixed comparison instructions, 603 instructions, mnemonics 2020-02-13 08:00:36 -07:00
dingusdev
eda9454f66 Fixed twi and tw; added more tests 2020-02-12 22:21:16 -07:00
dingusdev
40f399e0c4 Inserting missing instructions and fixing several opcodes 2020-02-12 22:08:40 -07:00
dingusdev
3d492b7f72 stwcx., slwi, and tw fixed 2020-02-12 20:58:51 -07:00
dingusdev
c8e03286e7 Condensed trap operations + added mnemonics for tw 2020-02-12 20:41:23 -07:00
dingusdev
c2eafcc45d Fixed shifting ops and eieio 2020-02-12 20:26:12 -07:00
Maxim Poliakovski
e4ee252b6c ppcdisasm: fix several instructions. 2020-02-13 04:13:26 +01:00
dingusdev
11b1623a69 All remaining 601 opcodes implemented
Plus adjustments to twi, bclr, and bcctr.
2020-02-12 19:31:54 -07:00
Maxim Poliakovski
1543acc696 ppcdisasm: fix bcctr and bclr instructions. 2020-02-13 03:16:47 +01:00
Maxim Poliakovski
4ecc48a6cc ppcdisasm: fix string buffer overflow in VS19. 2020-02-13 00:05:10 +01:00
Maxim Poliakovski
24652de392 Integrate disassembler tests. 2020-02-12 22:58:24 +01:00
dingusdev
513658b45f Quick fix to ori 2020-02-10 20:03:14 -07:00
dingusdev
30b1116393 Implemeted limited simplified mnemonics for rlwinm 2020-02-10 20:02:41 -07:00
Maxim Poliakovski
a934ed5bde ppcdisasm: fix Clang errors and warnings. 2020-02-10 20:01:02 -07:00
dingusdev
ad0659a702 Started bugfixing and refactoring 2020-02-10 20:00:49 -07:00
dingusdev
6473ea1a26 Added the last few opcodes 2020-02-10 20:00:28 -07:00
dingusdev
d277ab693e Implemented most remaining opcodes 2020-02-10 20:00:12 -07:00
dingusdev
cee51b643e Merging in 2020-02-10 19:59:02 -07:00
Maxim Poliakovski
c25aedac4b Fix some MSVC errors and warnings.
"This commit fixes as much as required to compile the project
in a cross-platform fashion. Some MSV-specific warnings are
simply ignored for now." -max
2020-02-10 19:58:41 -07:00
Maxim Poliakovski
4b0c607ea3 Bring back strcpy/strcat 2020-02-10 19:55:23 -07:00
Maxim Poliakovski
c5a4698266 Update debugger.cpp 2020-02-10 19:54:03 -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