Maxim Poliakovski
|
646880cbf2
|
Interpreter loop is now controlled by exec_flags.
|
2022-03-02 16:55:20 +01:00 |
|
Maxim Poliakovski
|
f1ed56ae9a
|
debugger: a couple of cosmetic improvements.
|
2022-02-26 10:57:13 +01:00 |
|
Maxim Poliakovski
|
d8c3cfc38e
|
Fix next instruction address after external exceptions.
|
2022-01-20 01:38:41 +01:00 |
|
Maxim Poliakovski
|
aefc66d118
|
Fix external exception processing.
|
2022-01-10 17:56:24 +01:00 |
|
Maxim Poliakovski
|
339db4a078
|
Add timers management.
|
2022-01-10 17:56:24 +01:00 |
|
Maxim Poliakovski
|
087402290d
|
Implement virtual time based on instruction counting.
|
2021-12-20 00:10:02 +01:00 |
|
dingusdev
|
c2a63bab09
|
FP Opcode Test Fixes
|
2021-10-30 16:43:13 -07:00 |
|
Maxim Poliakovski
|
c0cd6eb38f
|
Add missing licence headers, update license date.
|
2021-10-23 21:00:31 +02:00 |
|
Maxim Poliakovski
|
9329d56d83
|
Move devices into dedicated subdirectories.
|
2021-10-23 20:17:47 +02:00 |
|
dingusdev
|
7919cd0590
|
Merge pull request #21 from dingusdev/floating-point
Floating point fixes. Rehauled floating-point emulation code. Fixed a test suite for floating points.
|
2021-10-19 07:18:21 -07:00 |
|
dingusdev
|
fb277945c2
|
Floating point test fixes
|
2021-10-19 07:16:15 -07:00 |
|
Maxim Poliakovski
|
e53296f7a9
|
Implement all required context-synchronizing events.
|
2021-10-13 20:58:09 +02:00 |
|
dingusdev
|
5672a154cb
|
Floating-point refactor, part 3
Condensed code to shorten enum names and remove casting.
Condensed mffs and partially fixed NAN checks for FADD(S).
|
2021-10-10 07:48:49 -07:00 |
|
dingusdev
|
2d65ed47fc
|
Floating point overhaul, part 2
Further formatting fixes. Removed obsoleted separation definitions. Fixed rounding to nearest.
|
2021-10-09 19:42:25 -07:00 |
|
dingusdev
|
e344b089b3
|
Floating point overhaul, part 1
Cleaned up formatting and reworked the INF/NAN checks
|
2021-10-09 15:08:53 -07:00 |
|
dingusdev
|
f605c484dd
|
ecowx and eciwx added
|
2021-10-05 17:40:09 -07:00 |
|
Maxim Poliakovski
|
22827642e4
|
ppcmmu: implement 601-style BAT.
|
2021-09-27 12:37:35 +02:00 |
|
Maxim Poliakovski
|
089645e830
|
Implement SoftTLB for writes.
|
2021-08-22 17:34:23 +02:00 |
|
Maxim Poliakovski
|
6f9ee10de5
|
Rework PPC CPU profiler.
|
2021-04-29 02:26:17 +02:00 |
|
dingusdev
|
ce70b0f096
|
Removed obseleted function declarations
|
2021-02-03 20:01:02 -07:00 |
|
dingusdev
|
7f0acaf3d3
|
Load and store instruction clean-up
|
2021-01-25 21:03:17 -07:00 |
|
dingusdev
|
60f84ef0d9
|
Refactoring interpreter value storage
|
2021-01-24 11:59:16 -07:00 |
|
Maxim Poliakovski
|
3189876d41
|
ppcfpopcodes: fix fmul emulation.
|
2021-01-24 04:53:19 +01:00 |
|
Maxim Poliakovski
|
bb3f4e596e
|
ppcexec: fix subopcode 59 dispatching.
|
2021-01-23 03:12:39 +01:00 |
|
Maxim Poliakovski
|
d8f7588693
|
debugger: some fixes and improvements.
|
2021-01-12 15:17:51 +01:00 |
|
dingusdev
|
2bac606365
|
Added to Heathrow
Plus some debugging stuff to help figure out what register 0x34 is responsible for.
|
2021-01-08 15:29:43 -07:00 |
|
dingusdev
|
79e3d398ba
|
mcrf implemented
|
2021-01-07 20:38:32 -07:00 |
|
Maxim Poliakovski
|
dbbaf13a78
|
ppcopcodes: fix cntlzw to compile properly with Clang.
Enable USE_GCC_BUILTINS by default.
|
2020-12-18 18:33:00 +01: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 |
|
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
|
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
|
d21fdb25d1
|
Remove unused variable grab_branch.
|
2020-06-01 23:12:18 +02:00 |
|
Waqar Ahmed
|
0ab9380be3
|
clang-format everything
|
2020-05-12 23:55:45 +05: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
|
354409812e
|
Updating files with proper licensing header
|
2020-02-28 09:04:28 -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 |
|
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
|
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 |
|
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
|
03439b2a49
|
Placeholders for SUBFEO[.], SUBFMEO[.] and SUBFZEO[.].
|
2020-02-04 00:58:04 +01:00 |
|
dingusdev
|
ddae141c22
|
Overflow fixes in progress
|
2020-01-31 16:54:37 -07:00 |
|