Commit Graph

309 Commits

Author SHA1 Message Date
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
Maxim Poliakovski
9685be3154 ppcopcodes: fix mask generation for rotation instructions. 2019-07-17 17:44:53 +02:00
dingusdev
ac5b70ad26
Worked more on Grackle, ESCC, and OpenPIC 2019-07-14 17:05:10 -07:00
dingusdev
87acd53c86
Update for July 11, 2019
- Fixed the floating point operations dispatch table and filled in a lot of missing gaps
- Started overhauling floating point emulation
- Minor fixes for Grackle reading and writing, mostly writing
- Handle integer division by zero cases
2019-07-11 22:27:14 -07:00
dingusdev
c6f67b5a6f Update issue templates 2019-07-07 11:27:39 -07:00
dingusdev
2bd717e293
Update for July 7, 2019
The following fixes and changes have been made

- Better Grackle emulation (though far from perfect)
- OpenPIC write/read fixes
- DAVBus Stubs
- Started splitting functionality from the main routine, to slowly make way for a GUI-based version
- Added a new until command argument
- Fixed an entry in the floating point instruction dispatch table
- CMakeLists.txt added
2019-07-06 23:10:32 -07:00
dingusdev
d776e3918b
Another small fix to makefile. 2019-07-03 18:57:08 -07:00
dingusdev
a76acf9615
Delete macscsi.c 2019-07-03 18:52:25 -07:00
dingusdev
7bde094234
Delete mpc106.c 2019-07-03 18:52:16 -07:00
dingusdev
8cf4f08ae2
Fixed Privilege Mode Bit Check 2019-07-02 18:29:16 -07:00