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
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
Maxim Poliakovski
c690049246
Merge pull request #47 from joevt/ofnvram-branch
...
ofnvram changes
2023-08-22 08:24:57 +02:00
dingusdev
a7ef177164
Preliminary DBDMA expansion
2023-08-13 16:38:15 -07:00
Maxim Poliakovski
ee9c692115
mesh: implement more register reads.
2023-08-09 01:40:09 +02:00
Maxim Poliakovski
cd9ccb66ed
adbkeyboard: fix compiler warning.
2023-08-07 12:51:09 +02: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
233ab778b6
adbmouse: support for movement data in R0.
2023-08-01 17:18:46 +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
a9f73e7384
hwcomponent: fix size of the component type enum.
2023-07-23 16:32:00 +02:00
Maxim Poliakovski
f7a1412ec7
atapibasedevice: fix task file initialization on reset.
2023-07-09 02:10:48 +02:00
Maxim Poliakovski
10b8366219
hwcomponent: add Ethernet MAC type.
2023-07-08 01:23:18 +02:00
Maxim Poliakovski
0687b0c60e
New ATAPI CD-ROM implementation.
2023-06-18 23:36:46 +02:00
Maxim Poliakovski
fc26be3e24
atapibasedevice: implement PIO transfers.
...
Also move ATAPI CD-ROM related stuff to separate
source and implement various helpers.
2023-06-18 23:33:57 +02:00
Maxim Poliakovski
a4cac2df81
atabasedevice: interrupt support.
2023-06-18 23:30:06 +02:00
Maxim Poliakovski
ac267b3daa
idechannel: support devices registration and interrupts.
2023-06-18 23:24:19 +02:00
Maxim Poliakovski
cb347434d3
hwinterrupt: add IDE interrupts.
2023-06-18 23:22:51 +02:00
Maxim Poliakovski
d113c4cf7a
ATAPI Features bit definitions.
2023-06-18 23:06:04 +02:00
Maxim Poliakovski
7a8b534c07
More SCSI commands and error codes.
2023-06-18 23:04:02 +02:00
Maxim Poliakovski
ee7b2838bc
One more attempt to fix GCC build.
2023-05-30 19:55:46 +02:00
Maxim Poliakovski
6f247f64cd
ScsiBus: add missing include.
2023-05-30 19:51:07 +02:00
Maxim Poliakovski
0b2fd60308
Fix Gazelle crash by adding PCI slot properties.
2023-05-30 19:48:40 +02:00
Maxim Poliakovski
f809124a2e
Improve SCSI bus registration.
2023-05-30 19:46:27 +02:00
Maxim Poliakovski
586828b375
Base class for ATAPI devices.
2023-05-15 17:57:20 +02:00
Maxim Poliakovski
e36150a5ca
Add ATAPI commands, clean up formatting.
2023-05-15 17:57:20 +02:00
Maxim Poliakovski
0f8e68d4bf
Rework ATA reset logic.
2023-05-15 17:57:20 +02:00
Maxim Poliakovski
57ea3c2e66
dbdma: implement interrupt processing.
2023-04-22 22:52:03 +02:00
Maxim Poliakovski
03595c3940
Merge remote-tracking branch 'origin/machine-yosemite'
2023-04-21 12:49:58 +02:00
Maxim Poliakovski
ed48766e5f
atahd: cosmetic improvements.
2023-04-17 09:56:03 +02:00
Maxim Poliakovski
cf0d361918
Merge 'hard-disks' branch.
2023-04-17 01:20:38 +02:00
Maxim Poliakovski
09da0c6109
nvram: use smart pointers, fix initialization.
2023-04-17 00:03:36 +02:00
Maxim Poliakovski
49f47c5f3f
bandit: attach devices from the CLI.
2023-04-02 03:01:13 +02:00
Maxim Poliakovski
c188d0251a
ofnvram: support CHRP style OF config partition.
2023-02-25 18:14:42 +01:00
Maxim Poliakovski
3234f21cab
Overhaul audio codec classes.
2023-02-25 18:14:42 +01:00
Maxim Poliakovski
71b2e6c1fa
dbdma: implement optional command branching.
...
This feature is used by New World BootROMs for producing
error beeps with different duration and count.
2023-02-15 02:36:40 +01:00
Maxim Poliakovski
ad2fc290ec
Initial DEC 21154 P2P bridge emulation.
2023-02-15 02:36:40 +01:00
Maxim Poliakovski
094b3b5312
Fix Cuda response protocol.
2023-02-08 21:26:11 +01:00
Maxim Poliakovski
7e5451a97d
Cosmetics: break long lines, fix indentation.
2023-02-08 11:41:37 +01:00
joevt
bee24b166d
Add method to attach PCI device with new name.
...
- Added an overloaded version of attach_pci_device which takes a suffix string that can be used to make a device name unique so that multiple devices of the same class can be added to a machine. The method returns a PCIDevice which can be easily used to attach more PCI devices if it is a PCIHost.
2023-02-05 07:17:29 -08:00