One day I had this amazing idea! I was looking through the tape drives for sale, and as usual they were over $1,200 for LTO-5 or LTO-6 tape drives, which are the only generations that can match the current hard drive market. There are so many unused VHS tapes, and with the untapped potential of analog storage media, you could store digital media in these cassettes! After all, they’re just tapes! You could make… a tape drive using a VCR!
All right, I think you’ve got the sarcasm and naivety of my thought process. I mean, if you think about it only for a few seconds, it’s just silly humor. But when it remains within your mind for days on end, wondering whether or not it truly is possible, you feel as if the only way to find out is to try it yourself.
Let’s take a closer look at this incredulous idea. The first and only popular stab at this was ArVid. It was basically this Russian ISA card that ran composite video to your VCR, and that was it. It could store data at a speed up to 325 kbps, and with some simple math we come up to almost exactly 2 GB on an E-180. And you know what, a lot of people said “yeah, I guess that’s reasonable,” and they stopped there.
But there are some huge limitations to ArVid, that could have allowed it to increase in data retention. First, it has only two symbols: luma on and off (!!!), which already makes the storage incredibly inefficient! It uses some Hamming for ECC but that’s about it, according to Wikipedia. Now, I’m no expert here on signal processing (just started seriously reading about this an hour or two ago), but with QPSK or QAM, we can make it significantly more efficient. So, screw ArVid.
We also don’t need an additional card to bring the analog data over to the VCR. We can use the sound “card” that is already built into the motherboard to produce the analog signals we need, and at an acceptable sample rate too (while “sample rate” doesn’t exist when we’re talking about pure analog signals, we do still need to convert digital signals over to analog, but the sound card can only support up to 96 kHz or 192 kHz, thereby limiting our symbol rate). A separate sound card might still be convenient, however, given that this method may hinder a user’s ability to use sound at all (or the user may accidentally trigger a system sound that interferes with the data throughput).
So, how much data exactly do we think a VHS can carry? I think that in a perfect world with an ideal design, it will be somewhere between 80-160 GB. However, formal calculations based on the modulation to be used will be required in order to prove this, so I will not talk much about it.
Instead, I’ll discuss the practicality of this design. Yes, you could hack a remote control and stick it to the VCR, and that would be the interface for communication. Haha! But to be honest, I’m not really willing to destroy my VCR and remote just to figure out how well this is going to work. The solution, then, becomes fairly clear: just have the user be instructed on what to do. The user would note where a datum is stored and all he would do is just move the head right before it and hit “read” right before the data is reached. The signal would be aligned and processed perfectly.
Alternatively, we can tell the user to “initialize” the VHS by having the software sprinkle position markers across the tape. They don’t have to be exact placements, but they give the software an idea of what spaces have been consumed and where to go based on the last read position marker, assuming that the software is tracking where data has been stored in some sort of external master file table. This can then be turned into simple “rewind for about 20 seconds” commands given to the user. The user would play back a little bit, which would allow the software to give feedback on how close they are to to the data (and if actual data is being played back, then this should be detected and the user should be instructed to go back to the beginning of the data).
I’ve been taking a look at GNU Radio and I think this should give me a fair estimation of what modulation method(s) to use, and how much noise is expected. We’re dealing with VHS, which is great, because the expected noise is extremely low.