Recently Aki approached me with some DMP files of Spectravideo tapes he made with his DC2N4-LC. Spectravideo hardware at some point seems to have used an encoding very similar, or even the same, as the MSX. I haven’t been digging deep enough into the Spectravideo subject so I will park that side of the analogy with MSX there for a moment.
What I was more interested in was the fact that Spectravideo tapes use an inverted signal on Side B, just like MSX tapes do. What do I mean with that? An example should do:
Example Side A: ___ _____ ___ | | | | | __| |___| |_____| Example Side B: __ ___ _____ | | | | | |___| |_____| |___
Why is it the case? Well, as I said, I haven’t been digging into this topic for long enough, nor I have been in touch with Spectravideo users or experts, but here’s what I think. Take it with a grain of salt, please.
We can speculate that the inverted copy on Side B was provided because it was not known what audio player users would be using. Some audio players invert the signal during amplification stages (and while making copies), therefore at playback time an inverted signal is produced on the output, compared to the master copy. The human ear cannot perceive the difference but electronic circuits only sensitive to one signal edge do get confused when dealing with an inverted signal.
Having an inverted copy on Side B ensured that, whatever the audio player in use was, at least one side of the tape would work, regardless of the contribute from inverting circuits, if present.
How should Side B be dumped with DC2N4-LC? Currently DC2N4-LC GUI clients do not fully expose the flexibility to select the active edge while sampling a tape so users should dump Side B Spectravideo and MSX tapes with the “Use halfwaves” option enabled. Side B DMPs can then be converted to TAP with the “dc2n3-conv” tool using the “-f” option. Example:
dc2n3-conv.exe -f -a ArmouredAssault_SideB.dmp
The DC2N4-LC hardware itself, however, does support 4 dumping modes:
- trigger on the falling edge
- trigger on the rising edge
- trigger on both edges but start at the first falling one
- trigger on both edges but start at the first rising one
GUI clients only exposes modes 1 and 4, partly in order to prevent people from trying every possible dumping configuration when a tape is just utterly unusable/unreadable. Part of the reason is that there is no need for mode 2 and 3 with tapes I have been working with so far (mainly Commodore and Spectrum tapes). Even mode 4 is only required with a few C16 tapes. Finally, exposing less options helps prevent users forgetting they have chosen a particular option for a peculiar tape but forgot to change it back for generic tape dumping.
As you might have guessed, access to mode 2 would be ideal for MSX and Spectravideo tapes’ Side B dumping.
As the interest in dumping MSX and Spectravideo tapes is somewhat surging, although there are no emulators for these architectures that support the TAP format, I might update DC2N4-LC GUI clients in order to allow full flexibility when dumping tapes, meaning that Side B tapes would not have to be dumped with triggers on both edges (i.e. without the “Use halfwaves” option active), thus reducing the size of the DMP file and making it convertible to TAP from within TAPClean itself, instead of requiring the “dc2n3-conv” tool.
Unsurprisingly, DC2N3 rev 2 exposes modes 1, 2, and 4, albeit the firmware supports mode 3 too. That’s the reason it can produce a DMP version 0 sample of MSX and Spectravideo tapes’ Side B without having to resort to using the “-f” option of the “dc2n3-conv” tool.
OK, it’s a lot of details, but if I can find the time to update the DC2N4-LC clients I will make sure to also provide some contextual help to let users pick the relevant option for the task.