Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

VHS PC Tape

Status
Not open for further replies.

Warlord_1011

New Member
Now When i was younger my dad owned a Commodore 64 PC what used Cassette tapes to store data.

I was wondering would it be possible to do the same thing but with a VHS tape instead? yes it will operate at a slower speed compared to modern equipment.

I cant find much on the Internet about how PC tape drives work, however i really want to pursue this idea.

I was thinking of taking an existing VHS recorder deck and modifying it to meet my needs.



So what do you people think??
 
It would be easier to modify an ordinary audio cassette tape player (which is what Commodore seem to have done!). The tape head mechanism of a VHS recorder is a rotary one and totally different from an audio cassette mechanism. The C64 drive is essentially just an audio cassette drive with modified signal conditioning and connectors.
 
To make a VHS tape work it needs to think it is recording video. Blocks of data need to be formatted to look like lines of video. Video lines happen at 15750hz. Also there needs to be a Vertical sync at 60hz. (depending on what country you are in) This is a large project!

I have seen video tape used to record 16 track digital audio. I one mode of recording they took three samples of audio x 16 tracks and put the data on one line of video.

Rethinking the project; While you could record a large amount of data per scan line it will be hard. Lets think about recording only one byte/scan line. The data rate will be 15750 bytes/second. The data must be continuous with no gaps in the data! From a UART (serial port) you could turn the start and stop bits into Horizontal sync to make the recorder think video. Then record the 8 data bits on a scan line. Then every 260 data bytes you need to stop for 3 bytes and send Vertical sync. (could be 256 bytes) Most recorders will work fine with 256+3 lines per frame.

Don't start this project with out a firm understanding of video timing.
 
Hi War,


This is definitely possible and ready made units were made a while back but im not sure if they are made anymore due to the popularity of hard disk drives and the huge capacity available these days. You can store a lot of data on a 1TB hard drive and get at it pretty fast too. With a VCR it's going to take a couple minutes to get from one end of the tape to the other even at fast forward. That means if you have a set of data at one end and another set of data at the other end of the tape and you need both sets of data it's going to take a couple minutes to retrieve all that data. A hard drive will take a few tens of milliseconds.

What you could do is first come up with a decent scheme to convert your raw data into VHS video format, then calculate the total bytes you can store on one 6 hour tape, assuming you build in some redundancy and some error checking schemes. Compare that to a hard drive storage capacity and see if it still makes sense to use a VHS tape to store data.

With 15750 lines per second minus say about 5 percent for vertical sync, we have roughly 15000 lines per second average rate. Encoding 8 bits per line brings us up to 120k bits per second, or 432 Mbits/hour. For a 6 hours tape, that means we can store 2592 megabits of data, or 324 megabytes of data. Thus, a 1TB hard drive would be able to store 3 times as much data and of course get to it much much faster. This doesnt yet include any redundancy either.
If we increase the data rate to 24 bits per line, we can match the capacity of the hard drive but then we really start to need redundancy to help keep errors down.
A regular monitor might have more than 1600 dots across, but a TV has nothing near this resolution even though it is analog per se, which should be able to handle a huge amount of data per line. But as the encode rate goes up the data integrity goes down meaning we have to record more and more error detecting information which brings the overall data rate back down somewhat anyway. Then we have to take things like tape aging into account to see how good the data will last. This would take some experimentation.
 
Last edited:
wow i see what you mean in its complexity! but if i disassembled a VHS deck completely, so i had just the tape and the heads id be able to record the digital signals directly to bypass the vhs decks complex circuitry??
 
I did think to try using DTMF signals, if only had some software that could convert any file into binary, then convert that binary string to DTMF signals. That would give me technically an 8 hour recording session of 1's n 0's.

Then to retrieve data, i would play the tape back and input it into a DTMF decoder. To spit the data up i would use for example the number 5 DTMF tone to indicate the gap between every 8 bits.

Then I would wire up a cheap camera to input the video signal, if i had it facing a clock i would have means of determining the positions on the tape.
 
Last edited:
Hi again,

You would probably do better to simply use the VCR circuitry. It can take the input signal and make it into the right form for recording already.

It's not really that hard to create a frame for a TV set in black and white. The Sinclair computer did it with a single microprocessor, the Z80. And that generated a whole TV screen of characters.
You have to study the format for your equipment and go from there.

BTW, back in the 1980's i had built a TV generator using TTL chips. It's just a matter of generating the right timing and sync.
Logically using counters this means a string of counters that count up or down and then repeat, and state detection that detects every 15750^th clock and every 1/60 of the full count using exclusive or gates. Using counters though you can use 262 lines and that makes it easier. The first set of counters work at 15720Hz, and the vertical sync is generated with the second set of counters which get driven with the output of the first set.

Another thing you have to think about however is signal recovery. You have to be able to read the data back and that requires some fast analog circuitry. And instead of using a digital clock you simply record some approximate real time signals onto the tape after every N^th frame. You read the real time clock signal same as other data, and that shows your logic where you are on the tape. A few calculations (as well as control of FF) and you know how long to fast forward for to get near the data.

It's not the simplest project though :)

Oh yeah one more little detail...
At a data rate of 8 bits per line and 15720 lines per second which means about 15000 bytes per second, it's going to take a full MINUTE of time to read 1 MEGABYTE of data. A hard drive can read 20 MEGABYTES in ONE SECOND (and usually even faster).
This makes the hard drive 1200 times faster than the tape at least.
 
Last edited:
wow i see what you mean in its complexity! but if i disassembled a VHS deck completely, so i had just the tape and the heads id be able to record the digital signals directly to bypass the vhs decks complex circuitry??

The video recording head is not a simple thing. In audio the tape passes the head at a constant speed. In video the head spins. From the picture below you can see there are two audio tracks a control and a timing track that are much like audio recordings. You could use these as is. The video tracks give you two tracks per line of video. They run at a angle on the tape. This is why I was taking about 15750hz and using about 80% of each time block. To use the high speed recording part of the tape you need to match your data to the spinning of the head.

Why does the head spin? The magnetic partials on the tape can only be made so small and the gap in the head can not be made much smaller. So to get high speed recordings the tape needs to move fast. The video tape only moves fast enough to record the audio (15khz). The video in the mhz range needs to move 500 times faster. The head spins and by adding the speed of the tape and the speed of the head spinning the speed is very fast. (4 to 12mhz)

I would use the recorder as is. The record and playback amplifiers are complex. The timing is complex. You could start out by recording on the two audio tracks just like a very good audio tape. Then later try recording data in the two video tracks.
 

Attachments

  • video.jpg
    video.jpg
    77 KB · Views: 165
so if I had each DTMF signal at a constant length, i would be able to use the number 5 DTMF tone as my clock pulse because that will be inbetween every 8 bits e.g:

00100101 5 01010000 5 01000100 5

obviously in recording the spaces would be ignored.

A while back i tested using DTMF signals, however because of the age of the deck (Panasonics first OP-Amp Portable cassette deck) it was only accurate to a tone length of 150ms, If i used a VHS tape what sort of tone length could i expect?

however, at a tone length of 150ms at 50% duty cycle, i found an 8 hour tape would only allow for 96000 DTMF signals, by using 5 as a clock pulse asuch it would then drop to around 84000 DTMF signals each represneting one bit, therefore about 8KB in storage :/
 
Last edited:
Hi again,

Before you start building this i think you better go back and read the last paragraph of the post just before yours. That mentions the little detail that it's going to take a full minute to read 1 megabyte of data even at 8 bits per line. That's 1200 times slower than a hard drive at least.

The VCR tape is much faster than the cassette tape because the linear head movement is much faster.
 
Last edited:
ok but format would you use to do that, i know its really slow, i just want to know what it would be like, but how would you output the data via the audio, would you use DTMF signals, or would you just us DC pulses? if you would use DC pulses, how would you be able to tell the 0 bits?
 
Sorry but this is a REALLY, REALLY, REALLY silly idea - there have been VCR PC backup systems in the past, but they were slow, clumsy, didn't hold that much, and worst of all - UNRELIABLE.

Backup these days is simple, fast, reliable, and cheap.
 
ok but format would you use to do that, i know its really slow, i just want to know what it would be like, but how would you output the data via the audio, would you use DTMF signals, or would you just us DC pulses? if you would use DC pulses, how would you be able to tell the 0 bits?

Look up "CUTS" (Computer User Tape System) - but do you really want 300 baud?.
 
So what do you people think??

I'm all for doing things that are neat and unique, but I just can't see a reason to pursue this project. I guess it may be possible to make up some convoluted schemeatic with DAC's to convert digital data to NTSC video, and back again. But in reality you're going to put a lot of time and effort into getting a low capacity, low speed tape backup system that was already commercially available and not really a great product back then either.

I used to have one of those commodore 64 tape drives of my own. It was very annoying to use, and cost was the only advantage it had over any other media storage device on the market. Functionally, it perfomed worse in every category I can think of.
 
ok but format would you use to do that, i know its really slow, i just want to know what it would be like, but how would you output the data via the audio, would you use DTMF signals, or would you just us DC pulses? if you would use DC pulses, how would you be able to tell the 0 bits?

Hi,

Well, i thought you were going to use the video frame to store the data, not the audio. Using the audio channel you'd only get about the same bandwidth as a cassette tape, and would do it the same way.

Using the video channel you'd get higher bandwidth, but still lacking compared to modern storage technology.
The composite analog video consists of analog levels that indicate objects in the scene. A higher level might mean a brighter picture spot. So i guess you would just use maybe 1v for a '1' and 0.5v for a '0', or something like that. If you wanted to use tones i guess you could do that instead. You would also generate a horizontal sync which if i remember right is a very low level, and a vertical sync which is low and longer than the horizontal sync. You could also try long and short pulses to represent the ones and zeros.
You'd also generate a lead in header and maybe a lead out header that consists of a unique signal or data combination.

One way to get an idea exactly what to do is to examine a black and white composite video signal. Record something from the TV that is in black and white and then play it back and look at it on a scope. You'll see the pattern that way, with the levels of the area between sync pulses varying considerably as the scenes change. To examine one scene, place the VCR in the pause mode, which will provide for more stable data you can look at with the scope.
Of course a TV test signal generator would be even better and show the right signals to use.

https://en.wikipedia.org/wiki/File:Composite_Video.svg

https://en.wikipedia.org/wiki/File:Video-line.svg


I had considered doing this same thing a long long time ago, and came up with the conclusion that it would be too slow to be acceptable.
 
Last edited:
Hi Nigel,


Yes and i calculated the estimated transfer rate: about 15 kilobytes per second !! Isnt that even slower than a floppy?
I also mentioned that it would take a long time to get from one end of the tape to the other in case data on both ends would be needed. Depends on the tape machine, but still going to take a couple minutes.
I really dont know anyone in this day and age that would really want something like this, except from a pure hobby standpoint just to see how it can be done and also to illustrate it in real life.
I dont remember how fast the old old tape drives used with mainframes would take to spin to a given location. I do know that tape drives are still used though.

To increase reliability the tape could be formatted before use. It would take more than 12 hours to format one tape however :)

One thing i did long time ago not so complex was to generate a serial interface signal and receive it over medium length lines. The technique was similar to the modern SPI but i did this back in the mid 1970's. There was no good reason for me to do this (at the time) except to illustrate that it really could be done, and done with only TTL logic (chuckle). That was back when TTL was only available in the standard family 7400 series, no LS, no HCT, nothing like that available yet. It was fun :)
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top