dingusdev
79e3d398ba
mcrf implemented
2021-01-07 20:38:32 -07: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
Maxim Poliakovski
b81de4af48
ppcexec: initialize interpreter lookup tables.
2020-11-14 03:05:41 +01: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
353035e9ca
Prevent clobbering during debugging.
2020-07-20 23:02:07 +02: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
2cd002cffa
ppcexec: remove dead code.
2020-06-03 15:33:32 +02:00
Maxim Poliakovski
6ef0f0baae
Fix CPU cycles counter to play nicely with setjmp.
...
setjmp clobbers non-volatile local variables. bb_start_la is such
a local variable that is used for counting of virtual CPU cycles.
To make cycles counting work after setjmp, the global variable
glob_bb_start_la is used to preserve content of bb_start_la accross
interpreter pipeline.
2020-06-03 15:21:19 +02:00
Maxim Poliakovski
d21fdb25d1
Remove unused variable grab_branch.
2020-06-01 23:12:18 +02:00
Maxim Poliakovski
f204caa907
ppcexec: new TBR/DEC updating code.
2020-06-01 00:46:00 +02:00
Waqar Ahmed
0ab9380be3
clang-format everything
2020-05-12 23:55:45 +05:00
dingusdev
60ffa5bfac
Initial attempt at fixing SDL2 building for Windows
2020-03-22 20:15:12 -07: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
055445e04a
Merge branch 'master' of https://github.com/dingusdev/dingusppc
2020-02-28 09:04:30 -07:00
dingusdev
354409812e
Updating files with proper licensing header
2020-02-28 09:04:28 -07:00
Maxim Poliakovski
e08bf39af3
debugger: more checks for user input.
2020-02-28 08:58:14 +01:00
dingusdev
c8611dc293
Code cleanup + procedures for cleanup
2020-02-27 21:03:01 -07:00
dingusdev
6c1dc8aaf0
Further logging work
2020-02-24 19:50:52 -07:00
dingusdev
baef838f7c
Further integration with loguru
2020-02-24 07:54:29 -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
dingusdev
839c97b665
Small fix to the execution table
2020-02-16 08:57:23 -07:00
Maxim Poliakovski
03439b2a49
Placeholders for SUBFEO[.], SUBFMEO[.] and SUBFZEO[.].
2020-02-04 00:58:04 +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
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
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
dingusdev
b414c68d81
Opcode table fix for tlbsync
2020-01-17 18:58:40 -07:00
dingusdev
6dd8d55577
Profiler + Missing Instruction Added
2020-01-14 20:50:01 -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
dingusdev
b92fe60fad
Header updates + NVRAM Fix
2020-01-05 10:38:32 -07:00
Maxim Poliakovski
e76ef61f53
ppcexec: pagewise MMU translation for code.
2020-01-04 02:07:36 +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