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
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
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
Maxim Poliakovski
5902cd5c28
Wire SCSI_CURIO interrupt.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
58281520d3
Implement writes to SCSI Pseudo-DMA register.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
58dacfa263
amic: improve VIA2_IFR and VIA2_IER emulation.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
ae903082d8
amic: implement SCSI DRQ callback.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
46961711e4
amic: stub for Ch-B serial xmit DMA.
2023-12-01 22:01:48 +01:00
Maxim Poliakovski
b7341d0ab8
amic: implement sound out DMA IRQ.
2023-11-15 19:01:54 +01:00
Mihai Parparita
e011d86742
amic: don't reset cur_buf_pos if we've drained the DMA buffer
...
Otherwise if pull_data is called again, it will think that it still
has data available in the buffer (rem_len will be non-zero) and
random data at the buffer location will be returned.
This manifested itself as noise being played back in the JS
implementation of the SoundServer. The cubeb implementation was not
affected because it stops polling once it's told it has no more
data in the buffer. Both approaches are valid (the JS version pads
data with silence), and the DMA buffer should support both.
2023-11-06 22:33:00 -08:00
Maxim Poliakovski
72d45fb0de
amic: switch DMA code to mmu_map_dma_mem.
2023-10-02 14:48:25 +02:00
Maxim Poliakovski
5b90a3e21d
AMIC: rework and improve interrupts.
2023-08-01 17:42:52 +02:00
Maxim Poliakovski
f809124a2e
Improve SCSI bus registration.
2023-05-30 19:46:27 +02:00
Maxim Poliakovski
03595c3940
Merge remote-tracking branch 'origin/machine-yosemite'
2023-04-21 12:49:58 +02:00
Maxim Poliakovski
4093c6e83c
amic: fix SCSI DMA to match newer MMU API.
2023-04-17 01:32:29 +02:00
Maxim Poliakovski
cf0d361918
Merge 'hard-disks' branch.
2023-04-17 01:20:38 +02:00
Maxim Poliakovski
3234f21cab
Overhaul audio codec classes.
2023-02-25 18:14:42 +01:00
Maxim Poliakovski
9f4c248e4c
Rework DBDMA logic for bidirectional channels.
2022-11-17 18:03:18 +01:00
Maxim Poliakovski
c87fc10376
amic: implement SCSI DMA.
2022-11-07 21:56:27 +01:00
Maxim Poliakovski
6ffe28a8a4
Implement SCSI Pseudo-DMA register on PDM.
2022-11-01 01:17:50 +01:00
Maxim Poliakovski
3f2b77fd59
amic: basic writing to the VIA2 IFR.
2022-10-31 23:21:35 +01:00
Maxim Poliakovski
293c5a40f3
amic: fix PDM interrupts.
2022-08-24 14:58:07 +02:00
joevt
3ee2ea1871
Fix read/write argument names
...
base class uses reg_start so derived classes should do the same.
Some derived class already uses reg_start for read method.
2022-08-22 17:16:22 -07:00
Maxim Poliakovski
3c062443f6
PDM: factory test control.
2022-07-20 01:36:05 +02:00
Maxim Poliakovski
c0078ce97d
Refactor MachineBase and MachineFactory classes.
...
Adding new machines is much easier now.
A significant amount of duplicated code has been reduced.
2022-07-18 20:27:34 +02:00
Maxim Poliakovski
ca51c34157
amic: self-registration with the device registry.
2022-07-18 20:27:34 +02:00
Maxim Poliakovski
da25e72668
Fix ESCC register addressing.
2022-05-21 14:51:27 +02:00
Maxim Poliakovski
6c564cb720
amic: fix MACE register range.
2022-05-21 14:51:26 +02:00
Maxim Poliakovski
c946693450
escc: unify compatible and MacRISC addressing.
2022-02-26 10:57:13 +01:00
Maxim Poliakovski
579a56f749
AMIC: implement floppy DMA channel.
2022-02-15 15:54:21 +01:00
Maxim Poliakovski
cfb8977f09
AMIC: implement floppy DMA registers.
2022-02-13 23:47:45 +01:00
Maxim Poliakovski
9f3f46603f
AMIC: handle SWIM3 interrupts.
2022-02-07 23:10:17 +01:00
Maxim Poliakovski
298135fd7a
AMIC: process VIA2 interrupts.
2022-02-06 01:50:54 +01:00
Maxim Poliakovski
5c177cc50f
Simplify registration of HW component types.
2022-01-26 16:45:21 +01:00
Maxim Poliakovski
5883524fb8
53C94: chip initialization and identification.
2022-01-22 04:37:52 +01:00
Maxim Poliakovski
3bdc6f915a
AMIC: implement periodic VBL (60.15 Hz) interrupt.
2022-01-21 12:42:05 +01:00
Maxim Poliakovski
d61d1d71eb
Add interrupt processing to AMIC.
2022-01-10 17:56:24 +01:00
Maxim Poliakovski
d4ecb77b24
pdmonboard: enable periodic video updates.
2022-01-10 17:56:24 +01:00
Maxim Poliakovski
9a0c340712
Basic SWIM3 and Superdrive emulation.
2021-12-12 21:40:04 +01:00
Maxim Poliakovski
9caaf0f538
Basic emulation of the PDM on-board video.
2021-12-07 22:54:03 +01:00
Maxim Poliakovski
fff597075d
Monitor type can be now specified from the command line.
2021-12-06 00:40:40 +01:00
Maxim Poliakovski
609fb43726
Rewrite DisplayID to work with AMIC & ATI Rage.
2021-11-30 01:26:32 +01:00
Maxim Poliakovski
392fa87ba4
Add NCR 53C90 stub.
2021-10-26 19:00:04 +02:00
Maxim Poliakovski
87b8e1759a
Connect ESCC to AMIC and Heathrow.
2021-10-25 22:19:45 +02:00
Maxim Poliakovski
6a756df5e3
Add MACE Ethernet emulation stub.
2021-10-24 21:02:30 +02:00
Maxim Poliakovski
9329d56d83
Move devices into dedicated subdirectories.
2021-10-23 20:17:47 +02:00