Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

saving on tape for DIY computer

Status
Not open for further replies.

SIVERse

Newbie level 3
Newbie level 3
Joined
Jun 10, 2016
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
36
I'm building a computer that can display 100 characters in binary, which i can translate to letters. It should work like this:

for instance the key with an I on it is pressed, that that key then puts 0 0 0 0 0 0 0 1 (for instance) on the data, which then via the bus goes to a sort of memory. 100 of characters can then be 'saved' in the 'memory', i say 'saved' because the problem is that when turned off it wont save those 100 characters. I'd like to have a way to get them via the bus to a tape. Does anyone know how to get binary onto tape?
 

One method is to send soft 1kHz for a zero, and loud 1 kHz for a one. (This is amplitude modulation.) Duration of a bit could be 1/50 of a second. Then 100 characters occupies several seconds. Success depends on good quality tape, and good recording.

Experiment as you desire. You may find some frequency that is better, or easier to read. The duration for each bit is also flexible.

There is also frequency modulation. To send a '0' bit, produce 1 kHz sinewave for about 1/50 second.
To send a '1', produce 2 kHz.

I say sinewave since that it is easy to read back from the tape. You can try making clicks or squarewaves, but success depends on a good quality recording. Any defect in the tape can cause misreads.

Consider sending your entire data packet 2 or 3 times to tape, rather than just once. Redundancy is good.

- - - Updated - - -

Also send a long 'announcer' waveform to tape for a few seconds, so you can find your packet more easily on the tape, and position the tape for playback from a point prior to the data.
 

Thanks, but what method of transferring bits from the register to sound for the tape recorder, if there are Any schemes for this I'd love to see Them as ive never done anything with tape.
 

To save data on any external media, there must be a specific interface and a software driver.

First generation microcomputers (Apple, Commodore PET, Radio Shack TRS-80) used cassette tape as storage medium, either with off-the-shelf cassette tape recorders (Apple, TRS-80) interfaced through audio cables or dedicated data recorders (Commodore). Alt least the data recorders with audio interface used simple FSK modulation to write digital data to tape. Review the comprehensive literature about these devices for details.

- - - Updated - - -

As said: FSK (frequency shift keying). The method has been also sketched in Brads post.
 

Would there also be an easier way to safe data from the register? With this just Being a hobby of mine, and having no earlier experience with tape drives it sounds like something that would probably take me months.
 

Would there also be an easier way to safe data from the register? With this just Being a hobby of mine, and having no earlier experience with tape drives it sounds like something that would probably take me months.

Well EEPROM comes to mind or flash or any other type of non-volatile memory. It will also be much more reliable than a tape.
 

Back in ancient times, as FvM says, frequency shift keying of an audio tone was the usual method of storing data onto an ordinary audio cassette recorder.

The early low speed voice modems worked in a similar way for communications over the telephone or via radio.

I believe the way this was done was to use an ordinary serial output port and the standard ASCII code, which uses a start bit, eight data bits, and a stop bit for each character. Logic high, and logic low were two different audio tones.

You will definitely need a start/stop routine for each character, because mechanical tape machines vary in speed sufficiently that the data rates will be varying up and down, and a very long uninterrupted data string would quickly lose synchronisation and turn into garbage.
 

I worked on a university 'low cost' data storage project in the 1970's and by far the best 'bang for your buck' (not a reference to my experimental PSUs!) came from simple FSK but using a PLL to track the average frequency during tape playback. For the cost of just a few components it eliminated all the speed variation problems on normal cassette decks and made the system reliable if somewhat slow by todays standards. I think I still have the design archived somewhere.

If NVRAM is an option, it would be far better but the topic title does say tape.

Brian.
 

I have used the Radio Shack TRS80 and it had a cassette tape port built in. Well, the original IBM PC also had a provision for a cassette tape. Of course the big tapes were also there using EBCDIC char set and NRZI recording with 80 char of 8 bits per record and 512 records per block. I have to put the BOT and EOT stickers on the tapes manually and they were big drives with 9 tracks...

I have a simple suggestion: implement some sort of parity or checksum to ensure integrity of the data. Best option will be to have something like serial data set, that has start /stop/ parity and 8 bit data into one packet and do some checking after reading.
 

Saving data on a cassette tape was rarely a problem, the real task was to read it back!!
 

Yes indeed !

Any type of tone decoder or phase locked loop takes at least a few cycles for reliable detection, and at audio frequencies that really slows down the data recovery rate.

Its not difficult to build a simple two way digital to audio tone interface, but the data rate must be kept at a suitably low rate to work reliably.
 

Saving data on a cassette tape was rarely a problem, the real task was to read it back!!

Right, that's the other half of the challenge. I had a VIC-20 and C-64, and I seem to recall reading that Commodore's was among the most reliable tape recorder schemes. Hence my post #2 mentions the sine wave as an audible lead-in to the data. And two saves of a program, for redundancy.

That was circa 1981. It seems incredible 35 years later, we still do not have an easy-to-build method to save a few bytes of data, unpowered.

I picture, say 100 tiny compartments, each containing a substance which turns dark or clear, depending on which color led shines on it. On power-down, they retain their state indefinitely. On powerup, each compartment can be read by a photosensor. Thus several bytes of data are stored and read back.

I'm sure it could have been my million dollar idea, if only, if only...
 

Nostaligia!

Brad, you are describing an optical version of a ferrite core memory. I'll buy a sewing kit and make one...

Brian.
 

The magnetic bubble memory - I do not know whether it made into any device finally - was started by Intel but I only heard about it...
 

I have never seen a bubble memory used in anything either.

But I once worked for a TV station that bought a lighting control desk that used a ferrite core memory to (remember) dimmer and lighting set ups.
That might have been early 1970's.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top