Interesting idea to try and run a cassette interface from cpm, but I don’t think anyone ever used cassettes once they had a floppy system that could run cpm.
It's possible to bridge between a tape deck (or sound card ;)) and digital I/O with fairly simple logic. The ZX spectrum is little more than a few passives and a zener diode but could do 1500 bps to an ordinary tape deck by default and if the tape was bulk mastered properly nearer 3000bps.
A fancier tape to 5v design can be found here:The rest of the logic is fairly simple. You generate a burst of fixed tone, then square waves at two frequencies whose primary component is within tape audio range. On read back you latch on the fixed tone then when it changes you measure the length of the 1 and 0 ranges.
From what I can tell, you're correct about cassette storage falling out of favor by the time of floppies with CP/M. The exceptions are few, and CP/M's interface is for a paper tape reader. But of course, lacking a paper tape punch and wanting to try out a cassette module, the idea would be to make the machine think it's talking to a paper tape punch (or any other slow serial device, really).
http://www.lintech.org/comp-per/
Chapter 7: Magnetic Recording Fundamentals
Magazine references BYTE Vol 00-01 1975-09 The Worlds Greatest Toy
https://worldradiohistory.com/Archive-Byte/70s/Byte-1975-09.pdf
SERIAL INTERFACE – Page 22
BYTE Vol 00-07 1976-03 Cassette Interfaceshttps://worldradiohistory.com/Archive-Byte/70s/Byte-1976-03.pdf
THE COMPLEAT TAPE CASSETTE INTERFACE – Page 10
MAGNETIC RECORDING FOR COMPUTERS – Page 18
DIGITAL DATA ON CASSETTE RECORDERS – Page 40
BYTE Vol 02-01 1977-01 Hash Tables and Interruptshttps://worldradiohistory.com/Archive-Byte/70s/Byte-1977-01.pdf
SATURATION RECORDING’s NOT THAT HARD – Page 34
Details a method of saturation recording using standard cassette tape head. This article describes using two 74125 gates in push-pull configuration to drive positive or negative current to saturate the flux on the tape in either direction. 74125 gates are disabled for reading from the cassette; this simplifies switching between read and write.
As saturation recording is used, an erase head and tape bias circuit are not required.
Read data recovery has a two stage pre-amplifier, followed by two separate comparators to detect positive and negative flux transmissions, followed by a 7474 used as a set/reset latch to recover the data from the tape.
The article proposes recording an NRZ data stream, with start and stop bits, with a bit banged approach.
BYTE Vol 06-04 1981-04 Future Computershttps://worldradiohistory.com/Archive-Byte/80s/Byte-1981-04.pdf
Digital Minicassette Controller – Page 66
This describes a Braemer CM-600 Mini-DEK transport, very similar to the TEK Data unit that I once had.
Elektor 91 - 1982-11https://worldradiohistory.com/UK/Elektor/80s/Elektor-1982-11.pdf
Floppy disk interface for the junior – Page 11-42
This project uses a 6850 and discrete logic to interface to a single density floppy disk for the Elektor Junior computer. It includes a method of coding and decoding FM data using discrete logic, though it uses 74LS123 for the timing in data and clock recovery.
Elektor-1984-01https://worldradiohistory.com/UK/Elektor/80s/Elektor-1984-01.pdf
Digital Cassette Recorder – Page 1-29
This is a modification of a standard cassette recorder to improve use with a computer.
Elektor-1984-05https://worldradiohistory.com/UK/Elektor/80s/Elektor-1984-05.pdf
Digital Cassette Recorder Revisited – Page 5-59
Elektor-1984-09https://worldradiohistory.com/UK/Elektor/80s/Elektor-1984-09.pdf
Digital Cassette Recorder with the ZX81 – Page 9-35
ETI-1980-10https://worldradiohistory.com/UK/Electronics-Today-UK/80s/ETI-1980-10-80.pdf
Cassette Interface – Page 63
This project uses differential phase modulation with a standard audio cassette recorder. Timing for clock generation and recovery uses a 16 x clock.
ETI-1984-09https://worldradiohistory.com/UK/Electronics-Today-UK/80s/Electronics-Today-1984-09.pdf
Digital Cassette Deck – Page 27
Interface to a solenoid operated cassette mechanism.
--
You received this message because you are subscribed to a topic in the Google Groups "RC2014-Z80" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/rc2014-z80/Y5iGvJkke3c/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/520635a6-7817-4530-b73e-2dcda9662fd2n%40googlegroups.com.