Commit Graph

693 Commits

Author SHA1 Message Date
Maxim Poliakovski
f194887d34 viacuda: properly initialize VIA registers. 2021-10-18 16:38:12 +02:00
Maxim Poliakovski
46549d68a2 viacuda: remove superfluous newlines and casts from messages. 2021-10-18 16:38:12 +02:00
Maxim Poliakovski
331b93d4d6 Fix compilation with Clang 11. 2021-10-17 23:41:53 +02:00
dingusdev
3c7fc58ac0 Small test case fixes for floating points 2021-10-16 22:33:56 -07:00
Maxim Poliakovski
c7544d9c2f amic: reorganize registers in blocks. 2021-10-16 15:07:53 +02:00
dingusdev
00dd99d851 Temporarily removing comparisons
These seem to cause the test program to crash. Will reinstate once the cause of the crash is resolved.
2021-10-15 20:02:00 -07:00
dingusdev
7d7a4b453f Partial test file reading fix 2021-10-15 06:28:11 -07:00
dingusdev
7ce94a6ab5 Further fixing the test code 2021-10-14 21:05:58 -07:00
dingusdev
061b061813 Floating point overhaul, part 4
Reworked the INF/NAN checks again - This time, only checking them when the result is calculated
2021-10-14 20:31:10 -07:00
dingusdev
9251745d6f Fixed floating-point test generation 2021-10-14 07:19:04 -07:00
Maxim Poliakovski
2f725fe3e4 viacuda: fix PRAM reading and writing. 2021-10-14 00:01:30 +02:00
Maxim Poliakovski
e53296f7a9 Implement all required context-synchronizing events. 2021-10-13 20:58:09 +02:00
Maxim Poliakovski
7c47b9c1e7 amic: implement AMIC2 identification. 2021-10-13 09:06:16 +02:00
Maxim Poliakovski
e66979d30f debugger: improve disassembling of 68k F-Traps. 2021-10-13 09:04:52 +02:00
Maxim Poliakovski
9caef55c19 amic: implement diagnostics register. 2021-10-10 22:01:02 +02:00
Maxim Poliakovski
2a9d364b1b ppcmmu: implement separate TLB pointers for read/write. 2021-10-10 22:01:02 +02:00
Maxim Poliakovski
3eb2d3cba7 ppcmmu: verbose MMU state with mmu_print_regs(). 2021-10-10 22:01:02 +02:00
Maxim Poliakovski
bde5b71167 ppcmmu: re-arrange code to avoid formward declarations. 2021-10-10 22:01:02 +02:00
Maxim Poliakovski
89e79d05cb Load bootrom code to primary ROM region. 2021-10-10 22:01:02 +02:00
Maxim Poliakovski
bb0ca2ac40 ppcmmu: fix TLB flushing. 2021-10-10 22:01:02 +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
d5960ca70b Fixed warnings for frsqrte and fsqrts 2021-10-06 18:59:31 -07:00
dingusdev
2106c4ca47 Fixed floating-point opcode table issues
fmuls, fmsubs, fmadds, fnmsubs, and fnmadds are all properly mapped now.
2021-10-06 18:36:23 -07:00
dingusdev
ad6a2a9f17
Merge pull request #20 from dingusdev/floating-point
Merging floating point branch
2021-10-06 18:32:23 -07:00
dingusdev
1922a20cdd Partial revert for exception handling
This will be for a future update regarding 601 instructions
2021-10-05 17:42:55 -07:00
dingusdev
f605c484dd ecowx and eciwx added 2021-10-05 17:40:09 -07:00
Maxim Poliakovski
69c357b70f ppcopcodes: fix compilation error with Clang 11. 2021-10-05 00:40:12 +02:00
Maxim Poliakovski
c313a9c8bb Use std::bind() based callbacks. 2021-10-05 00:29:27 +02:00
Maxim Poliakovski
03e58dac35 Overhaul AWACs and implement PDM sound HW. 2021-10-05 00:29:27 +02:00
dingusdev
983e278498 Refactoring 601 opcode emulation - part 1
All opcodes should be emulated now. There was also a significant amount of clean-up, particularly with lscbx and the bit rotation/shifting instructions.
2021-10-01 22:37:28 -07:00
Maxim Poliakovski
3ca7a78a37 AWAC-PDM control and status registers. 2021-10-01 01:02:43 +02:00
Maxim Poliakovski
0f55877137 Add basic PDM I/O emulation. 2021-09-30 23:01:56 +02:00
Maxim Poliakovski
b4d399ffa2 Improve three logging messages. 2021-09-30 23:01:56 +02:00
Maxim Poliakovski
8c9f23daf4 Fix memory controller interface for PDM. 2021-09-30 22:55:10 +02:00
Maxim Poliakovski
22827642e4 ppcmmu: implement 601-style BAT. 2021-09-27 12:37:35 +02:00
Maxim Poliakovski
e9fcc51b93 Debugger fixes for PDM. 2021-09-26 14:21:31 +02:00
Maxim Poliakovski
f104a634ea ppcmmu: some more cleanup. 2021-09-26 14:20:46 +02:00
Maxim Poliakovski
81ea96a058 ppcmmu.cpp: fix includes. 2021-09-25 23:38:27 +02:00
Maxim Poliakovski
e052eb4a87 Merge branch 'atirage-hacks'. 2021-09-25 23:16:38 +02:00
Maxim Poliakovski
d2cd43fcb1 Merge branch 'machine-pdm'. 2021-09-25 22:30:31 +02:00
Maxim Poliakovski
4b16cb826e Merge branch 'soft-tlb'. 2021-09-25 19:58:09 +02:00
Maxim Poliakovski
40d0aa70da zdocs: improve MMU emulation documentation. 2021-09-25 19:13:50 +02:00
Maxim Poliakovski
212cd58f40 ppcmmu: refactor and clean up. 2021-09-25 19:13:40 +02:00
Maxim Poliakovski
5b54cd69ef ppcmmu: better fatal error handling with ABORT_F. 2021-09-25 19:13:40 +02:00
Maxim Poliakovski
501f24f0d3 ppcmmu: implement SoftTLB for instructions. 2021-09-25 19:13:40 +02:00
Maxim Poliakovski
2a79c9a63c ppcmmu.c: restructure and clean up. 2021-09-25 19:13:40 +02:00
Maxim Poliakovski
f0b03aa1a2 zdocs: describe Heathrow ATA cells. 2021-09-18 02:26:32 +02:00
Maxim Poliakovski
de8d6487f9 Add forgotten include path for CLI11. 2021-09-17 13:27:49 +02:00