Maxim Poliakovski
29fa6e6174
Move mem_ctrl_instance to ppcexec.
2020-01-31 04:08:22 +01:00
Maxim Poliakovski
2953eaa538
Restructure main.cpp, remove obsolete code.
2020-01-28 02:20:43 +01:00
Maxim Poliakovski
117b3f1aa8
Move CPU initialization to ppcexec.cpp.
2020-01-28 01:24:12 +01:00
Maxim Poliakovski
7ae87e39c1
Refactor usage of the memory access functions.
...
Memory access function have better names now.
Global variable return_value has been removed.
lhbrx emulation has been fixed.
2020-01-27 01:36:52 +01:00
dingusdev
7c6d875ec8
Refactored floating point emulation
...
Refactored for better 64-bit value loading and storing. I also added missing opcodes.
2020-01-25 19:30:55 -07:00
Maxim Poliakovski
e1793b6305
Fix compilation warnings from previous commits.
2020-01-22 21:45:46 +01:00
dingusdev
6a083869e1
Started a massive FP fix-up
2020-01-21 19:25:50 -07:00
Maxim Poliakovski
0b0c00b653
Add aligned macros for reading ints from memory.
2020-01-13 03:05:50 +01:00
Maxim Poliakovski
720b35aa26
Move endian swapping code to endianswap.h.
...
Remove superfluous endian swapping wrappers.
2020-01-12 22:51:37 +01:00
Maxim Poliakovski
2d5e436ad4
Refactor PPC exception handling, part 1.
2020-01-12 02:35:54 +01:00
Maxim Poliakovski
6dbd9f1c99
Remove superfluous asserts.
...
Operator new will throw std::bad_alloc
when running out of memory.
2020-01-07 12:46:32 +01:00
Maxim Poliakovski
bd5ae4a45a
More memreadwrite macros usage.
2020-01-06 03:46:23 +01:00
dingusdev
b92fe60fad
Header updates + NVRAM Fix
2020-01-05 10:38:32 -07:00
dingusdev
b5074e4ce1
Started work on NVRAM
...
Tried to also fix some issued with MSVC
2020-01-05 09:52:46 -07:00
Maxim Poliakovski
e76ef61f53
ppcexec: pagewise MMU translation for code.
2020-01-04 02:07:36 +01:00
Maxim Poliakovski
74882c8082
ppcemu: remove unused global variables.
2020-01-03 21:18:07 +01:00
Maxim Poliakovski
01dffb84f3
Move all PPC code execution to ppcexec.cpp.
2019-12-28 02:49:58 +01:00
Maxim Poliakovski
db89c23bf0
Move ppcemumain.h to /cpu/ppc/ppcemu.h.
2019-12-27 20:10:36 +01:00
Maxim Poliakovski
87ca977ae7
Rename ppcmemory to ppcmmu.
2019-12-27 20:00:53 +01:00
Maxim Poliakovski
134eda8c12
Clean up some comments and messages.
2019-12-27 00:42:02 +01:00
Maxim Poliakovski
684a8dee8e
Move debugger sources into a dedicated subdirectory.
2019-12-14 13:48:54 +01:00
dingusdev
e7564ab0a5
Fixing compilation files and changed the authorship credits
2019-10-15 21:15:12 -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
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
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
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
dingusdev
cee515d864
Revert "Machine-specific address maps and generic MMIO devices."
2019-08-07 18:33:00 -07:00
Maxim Poliakovski
1c360841f6
Define and connect basic PowerMac 6100 hardware.
2019-08-07 20:26:30 +02:00
Maxim Poliakovski
a3500983ea
Correct misspelled function name.
2019-07-25 19:00:41 +02: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
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
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
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
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
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
dingusdev
22c9ba9fda
Proper ROM String finding
...
Cleaned up string finding; Compiles now
2019-07-01 21:54:12 -07:00
dingusdev
eaa517b63b
Add files via upload
...
The first attempt at uploading new files.
2019-07-01 19:15:33 -07:00