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
dingusdev
f89c54848b
Fixed storage opcodes after last night's commit.
2019-07-19 09:10:41 -07:00
dingusdev
e091fedb38
Near-Midnight Update - July 18, 2019
...
- Added a check for NuBus Macs, providing a mirror to the ROM
- Very slightly optimized ROM accesses for instructions and reads
- Some slight OpenPIC fixes
- Removed unused variables and slightly improved code readability
- Changed readme + boot-up help to reflect on newly added debugger
More changes will be added soon.
2019-07-18 23:31:16 -07:00
dingusdev
e909d48ee6
Merge pull request #2 from maximumspatium/master
...
Various CPU emulation fixes + new command-line debugger.
2019-07-17 19:30:18 -07:00
Maxim Poliakovski
fece6e4042
ppcmemory: add missing newlines to printf messages.
2019-07-17 19:55:46 +02:00
Maxim Poliakovski
521d6e4960
ppcopcodes: fix (again) mask calculation for rotations.
2019-07-17 19:37:07 +02:00
Maxim Poliakovski
c253c48d89
ppcopcodes: fix mfmsr emulation.
2019-07-17 19:04:31 +02:00
Maxim Poliakovski
4ffaf2cef3
Add simple command-line debugger.
2019-07-17 17:56:08 +02:00
Maxim Poliakovski
051be54633
main: fix access to wrong/uninitialized variables.
2019-07-17 17:56:08 +02:00
Maxim Poliakovski
fc26660f11
ppcopcodes: partial fix for XER[CA] updates.
2019-07-17 17:44:53 +02:00