BTW, there's very little information about this DAC or the MIDI interface on the NMS-1205. Where can I find some programming docs about them?
Is this DAC at 0Ah 8bit signed or unsigned?
Quote :
msx_io_ports: Add listing for Music Module DAC I/O port 0AH.
Source:
http://www.msxcomputermagazine.nl/mccm/millennium/milc/sound...
http://www.msxcomputermagazine.nl/mccm/millennium/milc/sound/topic_10.htm
Where this information is sourced, from what official documentation, I do not know unfortunately.
What about this datasheet? http://www.analog.com/media/en/technical-documentation/data-...
It's an unsigned DAC, like the COVOX.
Well the DAC itself is simple enough, just enable by outputting 1 on the Y8950’s IO0 pin and then write bytes to 0AH, as described by the first of the two (Dutch) links above. Going by the Dutch description, I think the data is unsigned so it’ll have a +0,256 DC offset, although that shouldn’t matter much and I wouldn’t rely on the accuracy of that tidbit.
It’d be nice if someone is aware of any official documentation from Philips which describes this, I could include it on the MAP. Always better to reference official docs rather than relying on community documentation.
Tip: The I/O ports overview page doesn't list the NMS-1205 2nd DAC (Covox-like) at (AFAIK) I/O port 0Ah.
Quote :
msx_io_ports: Add listing for Music Module DAC I/O port 0AH.
Source:
http://www.msxcomputermagazine.nl/mccm/millennium/milc/sound...
http://www.msxcomputermagazine.nl/mccm/millennium/milc/sound/topic_10.htm
Where this information is sourced, from what official documentation, I do not know unfortunately.
Well, I'm looking at Music Module's service manual right now and it seems quite bizarre to me. It is not decoding A0, A1, A2 and A4 while it is decoding A7, A6, A5 and A3 for DAC writes (A3 is not decoded by default on a MSX system). This way, any write from 08H to 0FH and from 18H to 1FH will write to DAC. There's also a repeated gate for IC6, so I think it's best to look inside the MM.
@tvalenca
Are you sure? I've read the datasheet once and AFAICR this DAC could be configured for either signed or unsigned.
Have you checked how's it configured in the NMS-1205 service manual? I couldn't be sure since I'm no expert in analog circuitry, but I had the impression that it was configured for 8bit signed. Could you please explain why you reached the conclusion that it's configured as so?
Confirmed: the DAC is indeed unsigned. Thanks, tvalenca!
A small correction: The I/O ports overview page lists the bit-6 of the System control port as "Wait pin", but in fact it's related to the Light Pen. The subrom checks for the presence of an external Light Pen interface on I/O port BBh, and if there's one present it resets the bit6 of the F5h port.
Thanks, corrected, katakana can be hard sometimes!
Can you tell me which MSX systems those bits are set on, MSX2+, MSX2?
[Edit: removed silly question which I had already answered myself on the MAP ]
Hey, reminds me of https://github.com/openMSX/openMSX/issues/830