Commit Graph

1052 Commits

Author SHA1 Message Date
Maxim Poliakovski
4b843157d9 ppcemu: refactor page address translation.
The refactored code is UNTESTED. Moreover,
no TLB is currently implemeneted.
2020-01-03 16:22:38 +01:00
Maxim Poliakovski
241031dfe7 Move big-endian memory access to memreadwrite.h. 2020-01-03 16:08:00 +01:00
Maxim Poliakovski
14e203f528 Add missing includes. 2019-12-29 13:53:26 +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
Maxim Poliakovski
db89c23bf0 Move ppcemumain.h to /cpu/ppc/ppcemu.h. 2019-12-27 20:10:36 +01:00
Maxim Poliakovski
87ca977ae7 Rename ppcmemory to ppcmmu. 2019-12-27 20:00:53 +01:00
Maxim Poliakovski
134eda8c12 Clean up some comments and messages. 2019-12-27 00:42:02 +01:00
Maxim Poliakovski
b311cea4e5 Remove optimization options from CMakeLists.txt.
Update the COMPILE section in the README.
2019-12-26 23:57:04 +01:00
dingusdev
e2a151265e
Remove CBP file
Not needed at this time. I'll be moving over to Visual Studio 2019 for further development. CodeBlocks was nice while it lasted.
2019-12-24 18:06:19 -07:00
Maxim Poliakovski
ad5f3a9435 Move PPC emulation code into /cpu/ppc subdirectory. 2019-12-23 10:38:16 +01:00
Maxim Poliakovski
c220a2e87b Simplify CMakeLists.txt using file wildcards. 2019-12-16 16:31:33 +01:00
dingusdev
202ce280aa
Slight tweak for better placement of binary 2019-12-15 16:24:14 -07:00
dingusdev
71a1b2eb63 Fixed CMakeLists errors and deleted makefile 2019-12-14 12:56:43 -07:00
Maxim Poliakovski
684a8dee8e Move debugger sources into a dedicated subdirectory. 2019-12-14 13:48:54 +01:00
dingusdev
0411a3a10f
Fixed address issues 2019-10-15 21:48:31 -07:00
dingusdev
97e87dea9e
Prevents the non-trivial array initialization error
A touch haphazard, but this allows most compilers to interpret this array.
2019-10-15 21:19:00 -07:00
dingusdev
e7564ab0a5
Fixing compilation files and changed the authorship credits 2019-10-15 21:15:12 -07:00
Maxim Poliakovski
e50f4396db Merge branch 'devices' into 'master'. 2019-10-15 11:41:00 +02:00
Maxim Poliakovski
18b9429233 Fix previous commit. 2019-10-15 11:39:19 +02:00
dingusdev
9ed645951e
Corrected an issue to allow a merge
This was an accidental merge from the cachetest branch
2019-10-14 18:29:01 -07:00
dingusdev
e9a4856849
Fixed an accidental merge from the cachetest branch 2019-10-14 18:27:57 -07:00
Maxim Poliakovski
43b9f47e6a Remove unfinished OpenPIC stub. 2019-10-14 19:40:35 +02:00
Maxim Poliakovski
c5fa279ad4 Remove device stubs (davbus, serial, SWIM etc). 2019-10-14 19:38:08 +02:00
Maxim Poliakovski
ddb303c5c0 Add Machine ID register for the Gossamer architecture. 2019-10-14 17:43:39 +02:00
dingusdev
82d84c3ee9
Merged in opcodes fixes from a branch
A couple optimizations have also been added here.
2019-10-08 18:39:39 -07:00
Maxim Poliakovski
198b918a3c MPC106: allocate RAM after software setup.
Software will setup MPC106 internal registers and
finally set MCCR1[MEMGO] flag. This is the right time
for initializing physical RAM.
2019-10-07 03:21:13 +02:00
Maxim Poliakovski
01c38b7348 VIA-CUDA: hackish support for SPD. 2019-10-07 03:18:37 +02:00
Maxim Poliakovski
cf3f8b6db1 VIA-CUDA: support for I2C related pseudo commands. 2019-09-21 14:57:44 +02:00
Maxim Poliakovski
12eada5bb1 Add VIA-CUDA description. 2019-08-28 02:43:33 +02:00
Maxim Poliakovski
5fc7ca761e Initial implementation for VIA-CUDA device. 2019-08-27 16:20:06 +02:00
Maxim Poliakovski
3131325bff Initial implementation for Heathrow/Mac-io. 2019-08-23 23:36:21 +02:00
Maxim Poliakovski
af5a096532 MPC106: add support for PCI devices. 2019-08-23 23:36:21 +02:00
Maxim Poliakovski
78e8b06cf1 Add interfaces for PCI host and PCI device. 2019-08-23 23:36:21 +02:00
Maxim Poliakovski
2f06623c62 Rewrite MPC106 emualation from scratch.
From now on, ppcmemory delegates physical address translation
to MPC106 on PowerMac Beige G3.
2019-08-21 23:55:21 +02:00
Maxim Poliakovski
ac1f770f92 Create base class for memory controller devices.
Create 'devices' directory for virtual device
sources and move MPC106 source to it.
2019-08-21 23:43:59 +02:00
Maxim Poliakovski
843f010ac6 Simplify top level makefile.
Use standard variable names (CXX, CXXFLAGS) whenever possible.
2019-08-18 19:05:52 +02:00
dingusdev
673485179c
More fixes and re-removed unneeded debug messages 2019-08-13 21:29:14 -07:00
dingusdev
fada84ca3f
More minute opcode fixes 2019-08-13 20:37:27 -07:00
dingusdev
698a761d15
More opcode fixes and adjustments 2019-08-13 20:29:52 -07:00
Maxim Poliakovski
449934e0f3 ppcopcodes: fix cror emulation. 2019-08-13 16:58:47 +02:00
Maxim Poliakovski
eeb1e46889 Fix dispatch map for sync opcode. 2019-08-13 15:59:11 +02:00
dingusdev
0d2fbd4465
Merge pull request #11 from dingusdev/revert-10-master
Revert "Machine-specific address maps and generic MMIO devices."
2019-08-07 18:33:38 -07:00
dingusdev
cee515d864
Revert "Machine-specific address maps and generic MMIO devices." 2019-08-07 18:33:00 -07:00
dingusdev
a57b9c597c
Merge pull request #10 from maximumspatium/master
Machine-specific address maps and generic MMIO devices.

This now allows the start-up chime to play on a PowerMac 6100 setup.
2019-08-07 18:27:30 -07:00
Maxim Poliakovski
1c360841f6 Define and connect basic PowerMac 6100 hardware. 2019-08-07 20:26:30 +02:00
Maxim Poliakovski
6ad38c9142 ppcmemory now uses machine's physical address map.
Hardcoded addresses haven't been completely removed yet. It can be
done after creating proper MMIO devices they're bound to.
2019-08-07 20:26:30 +02:00
Maxim Poliakovski
aec95254a8 Add AddressMap class for defining physical maps. 2019-08-07 20:26:30 +02:00
Maxim Poliakovski
a469bcf900 Add base class for memory-mapped I/O devices. 2019-08-07 20:26:30 +02:00
Maxim Poliakovski
91c56a3465 ppcopcodes: switch off a couple of debug messages. 2019-08-07 20:26:29 +02:00