Maxim Poliakovski
6cfde29f00
heathrow: implement native interrupt mode.
2023-09-25 12:22:17 +02:00
Maxim Poliakovski
c115a887d8
heathrow: fix processing of emulated interrupts.
2023-09-25 02:14:29 +02:00
Maxim Poliakovski
4cdb81e822
mesh: fix Arbitrate command for OS X.
2023-09-24 22:36:44 +02:00
Maxim Poliakovski
f4f7edcc28
heathrow: add Ethernet DBDMA channels.
2023-09-22 00:11:19 +02:00
Maxim Poliakovski
ae97d7bcc7
Improve zdoc/bmac documentation.
2023-09-22 00:10:19 +02:00
Maxim Poliakovski
5f48a3ab5b
bigmac: support more registers.
2023-09-22 00:09:17 +02:00
Maxim Poliakovski
9db3076a48
dbdma: support INT_SELECT & WAIT_SELECT registers.
2023-09-20 00:45:39 +02:00
Maxim Poliakovski
6eb6a5892d
bigmac: fix/improve PHY interface.
2023-09-20 00:44:08 +02:00
Maxim Poliakovski
0ebcd15a3d
heathrow: connect DMA channel for MESH.
2023-09-19 14:19:15 +02:00
Maxim Poliakovski
04acf120d6
dbdma: support optinal CommandPtrHi register.
...
It's written with zero in OS X. This dummy implementation
is meant to reduce log warnings.
2023-09-19 14:16:13 +02:00
Maxim Poliakovski
278799795c
Disable decrementer exceptions for MPC601.
2023-09-18 21:20:59 +02:00
Maxim Poliakovski
c47cbb354d
Add is_601 flag for selecting MPC601 specific behavior.
2023-09-18 21:20:59 +02:00
Maxim Poliakovski
8ff2125312
Revert "Minor checks for Data Cache opcodes and LMW"
...
This reverts commit fd6327ab62
.
2023-09-18 21:20:59 +02:00
Maxim Poliakovski
a69763c6de
dbdma: noop incomplete LOAD_QUAD & STORE_QUAD.
2023-09-18 20:20:25 +02:00
dingusdev
5e32b599d6
Merge branch 'master' of https://github.com/dingusdev/dingusppc
2023-09-04 07:22:27 -07:00
dingusdev
fd6327ab62
Minor checks for Data Cache opcodes and LMW
2023-09-04 07:21:00 -07:00
Maxim Poliakovski
45528bfc6d
ppcmmu: fix flushing of the secondary ITLB.
2023-08-22 23:36:48 +02:00
Maxim Poliakovski
c690049246
Merge pull request #47 from joevt/ofnvram-branch
...
ofnvram changes
2023-08-22 08:24:57 +02:00
Maxim Poliakovski
932f2bbceb
ppcopcodes: fix stwcx. emulation.
2023-08-21 04:50:02 +02:00
dingusdev
a7ef177164
Preliminary DBDMA expansion
2023-08-13 16:38:15 -07:00
joevt
300965ab10
Decrementer exception changes.
2023-08-10 00:46:04 +02:00
Maxim Poliakovski
d2e7c9a5df
ppcexceptions: fix next address for decrementer exceptions.
2023-08-09 12:53:48 +02:00
Maxim Poliakovski
ee9c692115
mesh: implement more register reads.
2023-08-09 01:40:09 +02:00
Maxim Poliakovski
de1f0c8a9b
ppc_mmu: rename reg_desc to rgn_desc to improve readability.
2023-08-07 13:56:49 +02:00
Maxim Poliakovski
52a64168d7
Clean up previous merge.
2023-08-07 13:45:26 +02:00
Maxim Poliakovski
b571ff8412
Revert "ppcmmu: Add 64-bit accesses to I/O"
...
This reverts commit 16123dea45
.
2023-08-07 13:06:11 +02:00
Maxim Poliakovski
762319055c
Merge pull request #50 from joevt/mmu-changes-branch
...
mmu changes
2023-08-07 12:58:46 +02:00
Maxim Poliakovski
cd9ccb66ed
adbkeyboard: fix compiler warning.
2023-08-07 12:51:09 +02:00
joevt
ac64f9e30d
ppcmmu: Fix mmio read/write offset calculation.
...
For TLBs referencing an mmio region, calculate an offset that will translate a guest virtual address to an offset in the mmio region.
2023-08-04 20:16:13 -07:00
joevt
16123dea45
ppcmmu: Add 64-bit accesses to I/O
...
Also add an exception for unaligned 64 bit. 64 bit accesses require dword alignment.
2023-08-04 20:16:13 -07:00
joevt
814260f0b6
ppcmmu: Reduce unmapped physical memory logging.
...
Don't log consecutive accesses to unmapped physical memory addresses. This saves a couple hundred thousand lines in the log in some cases.
This is only a partial fix. Any access that isn't logged should be queued and output if a log message is output that is not this log message or after a time period.
2023-08-04 20:16:13 -07:00
joevt
439509b408
Fix New World NVRAM limits calculations.
...
It was possible to corrupt New World nvram using dingusppc setenv command.
- setenv must call get_config_vars to set data_length so that it can calculate free space.
- data_length represents the number of bytes taken by nvram variables including the terminating null for the value (name, '=', value, '\0'). Previously, it did not include the terminating null.
- The list of variables and values ends at a '\0' or at pos == 4096 bytes. Previously, data_length wouldn't get set if pos >= 4096.
- Allow setenv to create new nvram variables.
- Since data_length now represents the total number of used bytes, free_space now represents the actual free space, so use > free_space (instead of >= free_space) to determine insufficient space.
- While parsing nvram variable name, do not read beyond 4096 bytes.
- Use a different error message for each problem that can occur while parsing nvram variable name.
2023-08-04 20:11:59 -07:00
joevt
07f57a1e9b
Remove extra semi-colons.
2023-08-04 20:11:59 -07:00
joevt
0c9ddaccf7
Fix dppc debugger printenv of multiline variables.
...
If a nvram variable has CRLF or CR, replace them with LF so each line appears on a new line in the console output.
Also, add indent to each line so that each line appears only in the value column and not in the name column.
2023-08-04 20:11:59 -07:00
dingusdev
b23bb04dac
Start fix for SCSI Hard Drive
2023-08-02 07:53:19 -07:00
dingusdev
a7601c36bd
Started work on keyboard input
2023-08-01 22:43:11 -07:00
Maxim Poliakovski
1a883ba73e
viacuda: implement basic autopolling.
2023-08-02 00:07:17 +02:00
Maxim Poliakovski
2e50b364c4
adbmouse: emulate single button mouse.
2023-08-01 23:58:29 +02:00
Maxim Poliakovski
b4b41a47b2
hostevents: dispatch mouse button events.
2023-08-01 23:57:16 +02:00
Maxim Poliakovski
5b90a3e21d
AMIC: rework and improve interrupts.
2023-08-01 17:42:52 +02:00
Maxim Poliakovski
ca83f7e8ef
pdmonboard: switch to new video controller API.
2023-08-01 17:41:02 +02:00
Maxim Poliakovski
337a9d6dd0
videoctrl: generate VBL interrupts.
2023-08-01 17:37:50 +02:00
Maxim Poliakovski
ddf139a659
Extend TimerManager API a bit.
2023-08-01 17:36:29 +02:00
Maxim Poliakovski
6b8fe50f50
hostevents: add prost-processing signal.
2023-08-01 17:21:17 +02:00
Maxim Poliakovski
233ab778b6
adbmouse: support for movement data in R0.
2023-08-01 17:18:46 +02:00
Maxim Poliakovski
4872af1053
control: use new refresh task control.
2023-07-31 03:53:13 +02:00
Maxim Poliakovski
0ca1ebf724
atimach64gx: use new refresh task control.
2023-07-31 03:52:17 +02:00
Maxim Poliakovski
632479b1ba
atirage: use new refresh task control.
2023-07-31 03:46:16 +02:00
Maxim Poliakovski
9b81891467
pdmonboard: use new refresh task control.
2023-07-31 03:36:17 +02:00
Maxim Poliakovski
7b2e1d90e6
Move refresh task control to VideoCtrlBase.
2023-07-31 03:34:02 +02:00