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
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
Maxim Poliakovski
6fa6b4d4dc
Rework the EventManager to use CoreSignal.
2023-07-27 02:40:32 +02:00
Maxim Poliakovski
6efe6f13a9
Add new CoreSignal class.
2023-07-27 02:38:21 +02:00
Maxim Poliakovski
c254749493
viacuda: connect to new AdbBus device.
2023-07-26 04:50:05 +02:00
Maxim Poliakovski
fd9f8c90a5
Basic ADB mouse device emulation.
...
For now, it solely handles the basic ADB commands.
2023-07-26 04:40:20 +02:00
Maxim Poliakovski
0a0761c7e0
AdbDevice - the base class for ADB devices.
2023-07-26 04:35:07 +02:00
Maxim Poliakovski
e9d91175c4
Add AdbBus class and device.
2023-07-26 04:29:08 +02:00
Maxim Poliakovski
0c0166b565
viacuda: fix packet response protocol.
...
Cuda needs to negate TREQ before sending the last byte of a
fixed-length response to avoid transfering an extraneous byte.
2023-07-26 04:22:08 +02:00
Maxim Poliakovski
7bb7ff9f0f
heathrow: human-readable DBDMA channel names.
2023-07-24 15:20:52 +02:00
Maxim Poliakovski
c2cd076662
machinebase: fix log statement warning.
2023-07-23 16:50:14 +02:00
Maxim Poliakovski
a9f73e7384
hwcomponent: fix size of the component type enum.
2023-07-23 16:32:00 +02:00
Maxim Poliakovski
14c7d18bdb
Revert "Prevents crashing for Big Mac"
...
This reverts commit 5787d49e9b
.
2023-07-23 16:28:31 +02:00
dingusdev
5787d49e9b
Prevents crashing for Big Mac
...
For some reason, on Windows, whether it be VS2022 or Clang, it will crash when trying to write to a Big Mac register if you don't specify the exact name of the component within Heathrow.
This commit fixes that.
2023-07-22 15:15:33 -07:00
Maxim Poliakovski
25150268cd
ppcexceptions: fix ISI exception target address.
2023-07-10 14:06:20 +02:00
Maxim Poliakovski
f7a1412ec7
atapibasedevice: fix task file initialization on reset.
2023-07-09 02:10:48 +02:00
Maxim Poliakovski
a424d48447
bigmac: implement software reset registers.
2023-07-08 23:30:44 +02:00
Maxim Poliakovski
e76e3afa87
Improve zdoc/bmac documentation.
2023-07-08 21:33:10 +02:00
Maxim Poliakovski
482fe3eb80
bigmac: MAC serial EEPROM emulation.
2023-07-08 21:32:26 +02:00