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
dingusdev
2a868552b9
Merge pull request #1 from maximumspatium/master
...
Various fixes and improvements for non-Windows systems.
2019-07-02 18:16:10 -07:00
Maxim Poliakovski
24f4dedeac
ppcemumain.h: fix wrong dispatch table index.
2019-07-03 00:07:11 +02:00
Maxim Poliakovski
9c0c1da53f
Replace '&&' with '&' where bitwise AND is expected.
...
This fixes compilation warnings when using GCC/Clang.
Improve formatting along the way.
2019-07-02 14:18:51 +02:00