Commit Graph

61 Commits

Author SHA1 Message Date
dingusdev
b28549825d Started work on machine-specific configs 2020-08-29 11:11:06 -07:00
dingusdev
14ef7564cd CLI fixes - RAM and GFXMEM work better 2020-08-25 20:07:02 -07:00
dingusdev
f04ce09a7d Clean-up + further command line options 2020-08-23 09:24:52 -07:00
dingusdev
2869755819 Initial work for configuration 2020-08-22 11:05:08 -07:00
Maxim Poliakovski
39a643aff6 Merge branch 'machines'
Also disable SDL for now because it produces build errors.
2020-06-03 18:21:51 +02:00
Waqar Ahmed
0ab9380be3 clang-format everything 2020-05-12 23:55:45 +05:00
Maxim Poliakovski
f7d67a91e0 New AWAC and sound server implementation. 2020-05-08 23:12:04 +02:00
dingusdev
82c4a5dbcf Slight cleanup 2020-03-26 12:38:00 -07:00
dingusdev
4e41af21e8 Started config file reading 2020-03-26 12:32:24 -07:00
dingusdev
60ffa5bfac Initial attempt at fixing SDL2 building for Windows 2020-03-22 20:15:12 -07:00
Maxim Poliakovski
945e63bdb2 Implement DMA push method for sound. 2020-03-19 15:09:24 +01:00
Maxim Poliakovski
822f6cafd2 Create machine factory.
It manages various hardware configurations referred to as machines.
2020-03-13 23:09:36 +01:00
dingusdev
354409812e Updating files with proper licensing header 2020-02-28 09:04:28 -07:00
dingusdev
c8611dc293 Code cleanup + procedures for cleanup 2020-02-27 21:03:01 -07:00
dingusdev
51739520b5 Small formatting + logging fixes 2020-02-27 18:41:02 -07:00
dingusdev
d7c0a731f4 Found a message I missed. 2020-02-26 21:43:19 -07:00
dingusdev
eef82649f7 Modest logging system revamp
Logging messages now go to dingusppc.log (if in realtime) or the console (if in debug)
2020-02-26 19:51:07 -07:00
dingusdev
e9a616ffeb Started working on incorporating loguru 2020-02-23 20:59:10 -07:00
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