Hi — first, thank you for ASFireWire. Getting DICE devices playing on Tahoe through the
adapter chain is a genuinely important piece of work.
I'd like to contribute two new device families and want to sync with you on approach
before writing code:
- MOTU protocol-v2 devices (828mk2 first — I own one; the family covers
Traveler, UltraLite, 896HD). Standard CIP headers (fmt 0x02, FDF 0x22) with SPH-
timestamped data blocks; 24-bit packed PCM; register control at 0xfffff0000000.
- Tascam FW series (FW-1884 first; FW-1082/1804 share the protocol). CIP with
vendor FMT values (0x1e/0x3e), non-blocking, 24-in-32 quadlet samples; register
control at 0xffff00000000; control-surface state embedded in the capture stream.
I have full written designs for both, derived from the Linux snd-firewire-motu /
snd-firewire-tascam references (behavioral study only, no GPL code) and mapped onto
IDeviceProtocol / DeviceProtocolFactory / the duplex hooks. Happy to share both docs.
Questions before I start:
- Shared IR→IT cadence replay. Both families require the host TX stream to replay
the data-blocks-per-packet sequence observed on the device's TX stream (MOTU
additionally replays per-block SPH presentation times). I'd like to build this once as
a shared component — do you have a preferred home for it (Audio/Wire/ shared, or
elsewhere)?
- Isochronous receive maturity. Both families need IR from the first streaming
milestone (the capture stream is the timing source). What's the current state of the
IR path beyond the DV capture sink, and is there work in flight I should build on or
wait for?
- Factory matching. MOTU units are discriminated by the unit directory version
field (not model ID); Tascam by an ASCII model string in the config ROM.
DeviceProtocolFactory::Create(vendorId, modelId, …) doesn't currently carry either —
would you take a small extension of the factory signature / discovery plumbing?
- Non-blocking cadence. Tascam streams are non-blocking (fractional blocks/packet).
Is there anything DICE-blocking-specific baked into the IT cadence path I should know
about?
Hardware I can test against: FW-1884, a MOTU 828mk2, M1 Mac mini on Tahoe with the
Apple TB3→TB2→FW800 chain. I'm set up to develop against the host test suite
(all 1375 tests passing locally) and to follow the project's reference/licensing rules.
I've already forked the repo (Dreambrother7/ASFireWire) and have the host test suite
building and passing locally, so if you'd rather react to a draft PR than discuss in the
abstract, happy to open one.
Hi — first, thank you for ASFireWire. Getting DICE devices playing on Tahoe through the
adapter chain is a genuinely important piece of work.
I'd like to contribute two new device families and want to sync with you on approach
before writing code:
Traveler, UltraLite, 896HD). Standard CIP headers (fmt 0x02, FDF 0x22) with SPH-
timestamped data blocks; 24-bit packed PCM; register control at 0xfffff0000000.
vendor FMT values (0x1e/0x3e), non-blocking, 24-in-32 quadlet samples; register
control at 0xffff00000000; control-surface state embedded in the capture stream.
I have full written designs for both, derived from the Linux
snd-firewire-motu/snd-firewire-tascamreferences (behavioral study only, no GPL code) and mapped ontoIDeviceProtocol/DeviceProtocolFactory/ the duplex hooks. Happy to share both docs.Questions before I start:
the data-blocks-per-packet sequence observed on the device's TX stream (MOTU
additionally replays per-block SPH presentation times). I'd like to build this once as
a shared component — do you have a preferred home for it (
Audio/Wire/shared, orelsewhere)?
milestone (the capture stream is the timing source). What's the current state of the
IR path beyond the DV capture sink, and is there work in flight I should build on or
wait for?
field (not model ID); Tascam by an ASCII model string in the config ROM.
DeviceProtocolFactory::Create(vendorId, modelId, …)doesn't currently carry either —would you take a small extension of the factory signature / discovery plumbing?
Is there anything DICE-blocking-specific baked into the IT cadence path I should know
about?
Hardware I can test against: FW-1884, a MOTU 828mk2, M1 Mac mini on Tahoe with the
Apple TB3→TB2→FW800 chain. I'm set up to develop against the host test suite
(all 1375 tests passing locally) and to follow the project's reference/licensing rules.
I've already forked the repo (Dreambrother7/ASFireWire) and have the host test suite
building and passing locally, so if you'd rather react to a draft PR than discuss in the
abstract, happy to open one.