[TED/plus4] D/A/test register PCM playback support #2581
B00daW
started this conversation in
Suggestions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
After some research with the TED's official documentation and information online, it's apparent that the TED is designed to bitbang PCM on the first nibble of the sound control register (SCR) ($FF11) by enabling bit7. However, there appears to be some discrepancies about the volume register being 4-bit or 3-bit. Official documentation states that it's a 4-bit register, whereas unofficial documentation states that $08 is the highest value for output. Official documentation, also states that if bit7 is enabled, the noise generator will only generate a value of 1. This is important to know, because both pulse generators still output while PCM is being bitbanged on the volume register -- effectively allowing for three channels of audio, but with global volume only. This means channel 1 and channel 2 can change their note frequencies, but noise generation is effectively halted on channel 2 if the noise bit is enabled in macro instruments. (But who the fuck knows? Emulation of sound appears to differ per emulator.)
plus4emu seems to emulate volume at 4-bit depth whereas VICE seems to emulate it at 3-bit depth. I'm not sure what the MAME core does yet, but I'm looking into it.
https://plus4world.powweb.com/tools/Csabos_Wave_Converter
wavconv is a little Windows tool coded in Pascal that converts WAV files to TED PCM. If you set it to 3-bit + digi mode, it outputs a bytestream for the TED that keeps pulse generation turned on, which was how we were able to verify that pulse generation does not cease when PCM is being played.
Guess we just need to determine proper behavior of the volume register. :))
Beta Was this translation helpful? Give feedback.
All reactions