Commit Graph

1827 Commits

Author SHA1 Message Date
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
dingusdev 7f9b307fa5
Merge pull request #5 from maximumspatium/master
ppcfpopcodes: replace logical AND with AND where required.
2019-07-24 19:41:18 -07:00
Maxim Poliakovski d4df3c7e07 ppcfpopcodes: replace logical AND with AND where required. 2019-07-25 04:20:48 +02:00
dingusdev fab6d829dc
Merge pull request #4 from maximumspatium/master
Add .gitignore to simplify Git workflow.
2019-07-21 10:46:43 -07:00
Maxim Poliakovski 1de2e35288 Add .gitignore to simplify Git workflow. 2019-07-21 03:50:15 +02:00
dingusdev de937651ed
Some more minor fixes to the opcodes
Reduces the warnings for the Floating point opcodes
2019-07-20 16:00:15 -07:00
dingusdev 8560a540c9
Merge pull request #3 from maximumspatium/master
More CPU emulation fixes.
2019-07-19 14:40:30 -07:00
Maxim Poliakovski c89d3545cd Simplify initialization of ppc_cur_instruction. 2019-07-19 23:34:57 +02:00
Maxim Poliakovski 2417204b5f main: use correct variable for PC updates. 2019-07-19 23:34:57 +02:00
Maxim Poliakovski 112f2265d6 ppcopcodes: fix mfsr, mfsrin, mtsrin and mtmsr emulation. 2019-07-19 23:34:57 +02:00
dingusdev c9854b36c6
More fixes, plus a temp icon 2019-07-19 14:24:39 -07:00