Maxim Poliakovski
85d5b10f61
sc53c94: switch to the new DMA API.
2024-12-03 11:37:18 +01:00
Mihai Parparita
4479387580
Remove using namespace std
from remaining header files
...
It's somewhat of an anti-pattern, and can lead to conflicts with
other symbols (e.g. the Windows build failure in https://github.com/dingusdev/dingusppc/actions/runs/11762906342/job/32766290288 ,
I removed `using namespace std` from timermanager.h to fix that one).
2024-11-30 20:01:09 -08:00
joevt
e7eb1c8a66
Fix PCI interrupts and add devices.
...
- Use interrupt source instead of IRQ ID in the IrqMap.
- Add a get_interrupt_controller method to mirror the set_interrupt_controller method.
- Have PCI hosts use pcihost_device_postinit to add PCI devices. This was moved from bandit's device_postinit and allows for duplicate devices by appending the slot to the registered device name.
- Fix interrupts of Pippin.
Fix interrupts of cmd646
- Make it work like other PCI devices.
- IntDetails is built into the pcibase base class.
- IntDetails is initialized by calling pci_interrupt.
- pci_interrupt checks the "enable interrupts" flag before doing an interrupt.
2024-11-12 07:04:55 -07:00
joevt
e707d1f27a
Remove slashes from PCI device names.
...
So they are not mistaken for path separators.
2024-11-11 21:28:51 -07:00
joevt
9a2303c495
pci: Replace pci_name with get_name.
...
It's redundant to have two names.
2024-11-11 21:28:23 -07:00
joevt
6154b7cbe2
amic: Add modem port transmit DMA read.
2024-11-11 21:10:17 -07:00
Maxim Poliakovski
c6116fcc88
grandcentral: pass Curio DREQ state to its DMA channel.
...
Bit 5 of the channel status register of the SCSI0 DMA channel
reflects the DREQ signal from Curio.
The old SCSI API still used in some Macintosh applications
- most notably HD SC Setup and Drive Setup - relies on this API
and that signal to be implemented.
2024-11-03 15:10:33 +01:00
Maxim Poliakovski
64a5a17df0
heathrow: fix interrupt masking.
...
Use int_mask1/int_mask2 directly without changing int_events1/int_events2.
That permits interrupt generation on int_mask1/int_mask2 changes.
2024-09-28 23:17:14 +02:00
Maxim Poliakovski
a649a688e7
grandcentral: fix interrupt masking.
...
Use int_mask directly without changing int_events.
That permits interrupt generation on int_mask changes.
2024-09-28 23:17:14 +02:00
Maxim Poliakovski
211f8adc0e
Improve MACE stub.
2024-07-23 01:39:15 +02:00
Maxim Poliakovski
3fe6e3c09e
grandcentral: more elegant MeshStub with less checks.
2024-07-19 01:31:36 +02:00
Maxim Poliakovski
ba9fcd100d
mesh: extend stub to a full implementation.
2024-07-15 03:34:43 +02:00
Maxim Poliakovski
f13f4e0023
grandcentral: break long lines.
2024-07-15 02:56:24 +02:00
joevt
14f75d834a
macio: Add list of OHare/Heathrow bits.
2024-04-12 19:54:34 -07:00
Maxim Poliakovski
45d2c8854d
Revert "macio: Add fatman bits register."
...
This reverts commit 8aaf211c5b9f3d34c49c48d9fca59c4a0a96ca04.
2024-04-11 17:18:20 +02:00
joevt
1c5009fcb0
amic: Add more registers.
2024-04-10 20:59:34 -07:00
joevt
8aaf211c5b
macio: Add fatman bits register.
...
This register is used in the control ndrv to detect presence of connected S-Video or composite video display.
2024-04-10 20:48:29 -07:00
joevt
be27ceed00
machinetnt: Remove sixty6 and mesh properties.
...
Use the presence of the devices in the MachineDescription to determine these.
2024-04-10 20:19:43 -07:00
dingusdev
475f894582
Comment out log message
2024-04-02 19:21:56 -07:00
joevt
7007e002e6
macio: Make interrupt flags atomic.
...
So they can be modified by other threads.
2024-04-02 19:05:57 -07:00
joevt
4395ce01d7
ohare: Update name of Mesh device.
2024-03-30 17:56:19 -07:00
joevt
2c097da12d
grandcentral: Add escc DMA.
2024-03-30 14:55:24 -07:00
joevt
5f316dc7a4
grandcentral: Adjust audio in DMA logging.
2024-03-30 12:49:33 -07:00
joevt
1d9b0f7fa5
macio: Add MIO_AUX_CTRL enum.
2024-03-28 07:10:05 -07:00
joevt
4c9b125cc8
amic: Add modem port transmit DMA.
2024-03-14 08:05:42 -07:00
joevt
e1e00c951b
sc53c94: Split real_dma_xfer.
...
Create real_dma_xfer_out and real_dma_xfer_in methods.
2024-03-14 08:01:07 -07:00
joevt
31036b8dee
grandcentral: Add sound in DMA.
2024-03-09 06:03:33 -07:00
joevt
6f231f3367
grandcentral: IOBus changes.
...
- Add IOBusDevice (nvram_addr_hi_dev) for NVRAM addr hi.
- Add IOBusDevice (nvram_dev) for NVRAM data.
- Make all IOBusDevices use the same code.
- Log error if 4 least significant bits of offset are not zero.
- Correctly byte swap the value before passing it to the IOBusDevice.
- When reading, duplicate the bytes in a word or dword like a real Power Mac does.
2024-03-09 06:02:23 -07:00
Mihai Parparita
f218a38294
Ensure that AMIC pseudo-VBL timer is stopped when the object is destroyed.
2024-03-07 23:31:44 -08:00
joevt
04526012f9
grandcentral: Add Ethernet ROM.
2024-03-07 07:59:13 -07:00
joevt
b5bb214920
ohare: Interrupt fixes.
...
Based on work done for grandcentral.
2024-03-07 07:58:54 -07:00
joevt
052a47734f
macio: Add DMA interrupts.
2024-03-06 21:19:04 -07:00
joevt
54767bf97d
More interrupts.
...
- Add all the interrupts including DMA.
- Modify the Interrupt to IRQ_ID translation so the interrupts belonging to the first set of 32 interrupts don't need to be shifted.
2024-03-06 19:17:16 -07:00
joevt
e5bace03f7
Abort if register_dma_int.
...
Make register_dma_int cause Abort for heathrow and ohare like it does for amic.
2024-03-06 19:17:03 -07:00
joevt
c64fab6ecb
heathrow: Align read/write messages.
2024-03-03 12:03:06 -07:00
joevt
569893861d
heathrow: Don't set lat_timer.
...
It will be set by firmware.
2024-03-02 16:42:49 -07:00
joevt
1e78512c95
Rename Curio and Mesh.
2024-03-02 11:12:45 -07:00
joevt
b0dc893a05
dma: Add name to dma classes.
...
For logging purposes, each DMA channel should have a name.
2024-02-19 15:30:20 +01:00
joevt
8a800062dd
grandcentral: Add DMA channel enum.
2024-02-12 14:06:19 +01:00
Maxim Poliakovski
28e7a806b4
grandcentral: use MeshStub on machines without MESH.
2024-02-12 02:38:38 +01:00
Maxim Poliakovski
a0e56aa4cf
grandcentral: connect external SCSI HW.
2024-02-12 02:17:09 +01:00
Maxim Poliakovski
b3e3b73159
grandcentral: connect MESH HW.
2024-02-12 02:17:09 +01:00
Maxim Poliakovski
e77b8785ff
grandcentral: wire SWIM3 DMA interrupt.
2024-02-12 02:01:01 +01:00
Maxim Poliakovski
cb8c2cb450
Wire CONTROL interrupt.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
98d661eda1
Wire PLATINUM interrupt.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
8ddbc9c427
Wire SCSI_MESH interrupt.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
5902cd5c28
Wire SCSI_CURIO interrupt.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
ce2f6ddadd
grandcentral: cleanup interrupt acknowledgement.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
fd92d86954
mesh: add MESH TNT variant.
2023-12-11 08:05:39 +01:00
Maxim Poliakovski
705dd390e9
grandcentral: respect size when reading from IOBus devices.
2023-12-10 00:19:44 +01:00