Commit Graph

837 Commits

Author SHA1 Message Date
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
dingusdev
521bdc6720
Merge pull request #9 from maximumspatium/master
Fix and factor out mask generator for rotate&shift instructions.
2019-08-06 21:15:25 -07:00
Maxim Poliakovski
9b8b567804 Fix mask generator for rotate&shift if mb > me.
Factor out mask generator and convert rot_sh, rot_mb
and rot_me to local variables.
2019-08-06 01:42:07 +02:00
dingusdev
a4be7b8e0f
Fix the warnings for good
Prevents the tautological compare warning from ever popping up.
2019-08-04 08:43:20 -07:00
dingusdev
53cb4206d0
Merge pull request #8 from maximumspatium/master
Fix for conditional branches and some more cleanup.
2019-08-03 06:59:35 -07:00
Maxim Poliakovski
d6fa66174e ppcmemory: temporarily fix Nubus ROM mirror reading. 2019-08-03 07:16:24 +02:00
Maxim Poliakovski
911edec94c ppcopcodes: fix conditional branches. 2019-08-03 07:01:09 +02:00
Maxim Poliakovski
377a5eb89c Add conditionally compiled checks for invalid CMP forms. 2019-08-03 07:01:09 +02:00
dingusdev
5b3e844296
Merge pull request #7 from maximumspatium/master
BAT Translation refactored
2019-08-02 19:34:58 -07:00
Maxim Poliakovski
ca277e82f9 ppcmemory: refactor memory reads/writes. 2019-08-03 02:59:42 +02:00
Maxim Poliakovski
133aeef9ad ppcmemory: refactoring of address translation code. 2019-08-03 01:06:51 +02:00
Maxim Poliakovski
4f6ce0fa9a Clean up PowerPC-style DBAT translation for writes. 2019-08-02 02:02:01 +02:00
dingusdev
c11bddc47f
Merge pull request #6 from maximumspatium/master
Map->Array replacements.
2019-07-30 19:53:29 -07:00
Maxim Poliakovski
a6335fe704 More Map->Array replacements and code simplifications. 2019-07-29 20:51:10 +02:00
Maxim Poliakovski
61370019ef Replace OpcodeGrabber map with an array of function pointers. 2019-07-29 20:36:43 +02:00
Maxim Poliakovski
a3500983ea Correct misspelled function name. 2019-07-25 19:00:41 +02:00