Ramblings About Cassettes

Started by airship, October 18, 2007, 05:14 AM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

airship

A few random thoughts about CBM Cassettes:

(1) C= missed a bet by not making their Datasette capable of recording audio from and playing audio back through the C64. If there had been an audio input line to the cassette from the C64 SID chip, and an audio output line back to the SID's audio input line, the Datasette could have been used to record music directly from the C64, and could have played ANY recorded audio cassette back through the computer. (Yes, I know this would have required different circuitry in the Datasette - work with me, here.) Since the SID volume can be set and then just pass through whatever audio input it gets without computer intervention, this means you could have listened to your Donna Summers tapes while working on your computer. And since the motor was under computer control, you could have even wedged in a pause/play feature to control it from the keyboard or joystick. It would have been the 80's equivalent of the CD player in your PC. The  plus would be being able to record your killer SID composition OR GAME MUSIC to share with your friends. How cool would that have been? With a couple more sense/control lines (and the cassette port would have been capable of adding SIX additional lines if the top and bottom connections carried different signals like the user port), you could have controlled all of the cassette functions right from the keyboard. If that had been built into ROM and, say, the VIC interrupt routines, you could have used all of those functions concurrently with running programs. You could have even had line and microphone inputs on the Datasette and sent THAT sound (mixed internally in the Datasette) through the SID. Commercial programs could have had a program on one track and music on another, and you could have listened to music as your program loaded. It would have been cool if the SID input (and output, as far as that goes) could have been routed internally to a 16-bit ADC to digitize sound, too. The ADC could have even been burnt into the SID, as far as that goes. With a microphone and line input to the cassette while it also played, you could digitize your voice-over with both. If the SID was capable of playing AND digitizing at the same time, you could overlay four sound sources to disk, or do three while the cassette recorded the result. You say the C64 is too slow to digitally sample music? Why not include a speed control on the cassette, then, so it could play at a speed the C64 could keep up with? Software could take care of converting it to real-time. Or with motor control you could just record in chunks (though tape restart lag would definitely be a problem). Let's see... microphone and turntable input into the cassette, plus cassette record and playback, plus SID music/sound effects plus an ADC for sound sampling plus a C64 to control the whole setup plus disk storage plus optional MIDI interface = Hip-Hop is invented a decade earlier than it was. :cool:

(2) I've read that the best tape fastloaders could load programs as quickly as an unaccelerated 1541 disk drive. But cassette tape only runs at 1 7/8" per second. What if the cassette was running faster? Say 3 3/4 ips? would you be able to save and load twice as fast as a standard Datasette? How about if it ran at 7 1/2 ips? Or 15 ips? Would you get eight times the stock 1541 speed? How about if you were recording data as tones instead of domain transitions? Would that be faster? How about if you were recording two or four parallel tracks at once? Could you get up to 32x a stock 1541 speed, or more? It would be an interesting project to create a really tricked out interface and support software to drive a four-track 10" reel-to-reel deck, and see how far  you could push it. A C64 with that setup would resemble an IBM/360 mainframe!




(3) Does anyone have one of those 3rd-party adapters that let you use a standard cassette deck with the C64? I'd like to get my hands on one. The only schematic I could find on the Intertubes was for a board that is read-only.
Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

Pinacolada

The Atari (home computers, can't remember which models) had a stereo tape deck, two channels: one for the program loading, the other for music. Bastards. :P
C128 Programmer's Reference Guide FAIL:

1. Press 40/80 key DOWN.
2. Turn computer OFF, then ON.
3. Remove cartridge if present.

airship

You said it, not me. But they were. Bastards, that is. :P
Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

airship

According to this, the Datasette DOES use tones. I thought it was just magnetic domain polarity transitions. I was apparently wrong. First time ever. :)


Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

airship

Here's an eBay/UK auction for the coolest data cassette recorder I've ever seen: the Philips 'Magnetophone' Data Recorder. It could be connected to a ZX spectrum , Philips MSX or Commodore 64/128. Europe got lots more cool gadgets like this than the US ever did. eBay auction# 160170087493 if you want to take a closer look. Complete in box with manuals, it's at 12 pounds British to start.

Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

airship

Last night I popped open my C2N/1530 Datasette and performed some unholy experiments upon its innards. I discovered several interesting things.

First of all, the button-down sense switch is a leaf switch that's activated by a slider when you push down the PLAY button. We all knew the C128 can't tell the difference between PLAY and PLAY/RECORD. Now you know why. It would be easy to hack around this switch to install a manual switch or an optical or other kind of sensor. You could even just tie the two wire ends together so it's in an always-on state. Bottom line is, the C128 WILL NOT activate the cassette motor unless this switch is thrown. But we knew that. Remember, this sense switch is wired directly to the 8502 CPU's built-in parallel port; that makes it interesting. In effect, it is sensed in exactly the same way as the CAPS-LOCK key on the keyboard, which is wired to the same 8502 port.

One thing I found is that while the C128 requires that this switch be set before it applies power to the cassette motor - there's absolutely no way around this - you can let up on the PLAY button AFTER the motor is switched on AND IT CONTINUES TO RUN! The PLAY switch is not hooked up electronically to anything at all inside the Datasette itself; it only feeds back to the computer. Since this is software control, the C128 OS is just saying, 'okay, prove you've hit PLAY', then it goes on. So you could use this switch for other things once the power is switched on. You can PEEK it anytime. If you wired up a momentary-contact switch a quick tap would start the cassette going, then you could then use it for something else. (Note, however, that when you let the PLAY button pop back up it physically lifts the heads and capstan away from the tape, so though the motor continues to run the tape no longer moves and you can't read or write to the tape.)

The cassette drive is capstan-driven, as are all cassettes, so the tape speed is pretty constant under variable loads. This means you can easily drive something else in parallel with the motor as long as it doesn't draw more current than the C128 can provide. I was able to put an LED/resistor pair in parallel without any drop, which means I had a 'motor activated' LED indicator. (Speaking of which, you could also jumper a TTL level off the Datasette's built-in LED 'record' indicator.) But it was more fun when I hooked up a 5V solid-state relay. The relay doesn't draw much more power than the LED, but it can switch a 120V load! I didn't want to go that far with my first experiments, so I hooked up a 9V battery and a DC motor. When the cassette motor came on, the 'slave' motor came on. By plugging the slave motor into the 'normally open' contact of the relay instead of the 'normally closed' one, I had a motor that ran when the cassette motor didn't, and vice-versa. Kind of cool. But you could also control a desk lamp, siren, or just about anything else with the same setup. (DANGER!!! WHOOP!! WHOOP! TAPE LOADING OPERATION IN PROGRESS!!)

The circuit in the C2N/1530 feeds data from the C128 through a series of Schottky gates that clean up the signal, which is then used to drive the write head. But in the opposite direction the signal from the drive head is fed through a series of four op-amps and then through just one Schottky to 'digitize' it for the C128. If you were to jumper in right before the final op-amp (Which amplifies the signal so much that it starts clipping) you could feed the signal to an RCA output jack which you could then feed to the SID input on the video connector. You know what that means, right? It means you could play music cassettes through the C128 audio output. You couldn't play music simultaneously with data loads and saves, but it would still be cool. From what I see, I just don't believe the C2N would allow you to record music from the SID to cassette without some extra circuitry. Not that it couldn't be done, just that you'd have to add a part or two to make it happen.

BTW, though all four of the op-amps on the DM7414 are used, there's an unused and therefore available Schottky inverter on the LA6324. Just thought you'd like to know. Data sheets for both are widely available on the Intertubes.

Most surprising of all, there is a 'test port' on the C2N's circuit board that is physically identical to the cassette port on the C128. Physically, not functionally. It was intended for testing purposes, not expansion, so the signals aren't the same. You could make use of the signals that ARE there do to some interesting stuff, or you could do what this guy did and rewire it to make a cassette expansion port for duplicating tapes. No extra parts required, just cutting traces and adding jumpers then cutting an access hole in the case. (This is a really, really cool hack!)



If you want to play with this yourself, here are the pinouts for the two connectors:

CBM       Test
1 (GND) -  4 (GND)
2 (IN ) -    3 (IN )
3 (OUT) -  2 (OUT)
4 (SWD) - X (NC )
5 (VCC) - 1 (VCC)
6 (VSS) - X (NC )
X (NC ) -  5 (H10)
X (NC ) -  6 (H9 )

GND = ground
VCC = +5v regulated
VSS = +6v unregulated
IN  = data from CBM
OUT = data to CBM
SWD = switch detect
H9  = read/write head pin 9
H10 = read/write head pin 10
NC = no connection

Needless to say, these things open up all kinds of possibilities for using the cassette port for control functions and more. You've got a sensed switch and a computer-controlled power source right out of the gate. You've got lots of spots where you can jumper in additions. With a little rewiring, you've got a Datasette expansion port. And we haven't even scratched the surface of what you could do with a TTL latch and control codes from and to the C128. There are a million possibilities.

Late thought: Could you replace the read/write head with an IR transmitter/receiver pair? Would that let two similarly-equipped C= machines communicate across the room using only LOAD, SAVE, and file commands?

Read More About It: The C2N/1530 Technical Manual is online at: http://www.devili.iki.fi/Computers/Commodore/C2N/Service_Manual/front_page.html
Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

smf

Quote from: airship on October 18, 2007, 05:14 AM
(2) I've read that the best tape fastloaders could load programs as quickly as an unaccelerated 1541 disk drive. But cassette tape only runs at 1 7/8" per second. What if the cassette was running faster? Say 3 3/4 ips? would you be able to save and load twice as fast as a standard Datasette?

IIRC tape loaders wait for a pulse, a 1 bit takes longer than a 0 ( or the other way round ). The limit on speed comes down to accuracy of detecting the gaps between them. I'm not sure how fast the tape is moving will help much.

Andrew Sutton

On the A/V connector (8pin DIN), pin 5 is Audio In to the SID. Could you make a cable that would connect to a regular tape deck? Or is this input line for something completely different?
"We made machines for the masses, they made machines for the classes," Jack Tramiel

            telnet://commodorereloaded.servebbs.com

BigDumbDinosaur

So why didn't you guys think about all this 25 years ago???  <Grin>

My computer setup was in the living room, with the stereo speakers at my left and right, so I didn't need a cassette recorder attached to my computer to play music for me.  As for the Donna Summer tapes, never had any of those.  But I did have a couple of her LPs from the days when she really was the disco queen.  The pictures of her on the LP covers were much better than what could be squeezed on to a cassette case.
x86?  We ain't got no x86.  We don't need no stinking x86!

smf

Quote from: BigDumbDinosaur on January 17, 2008, 03:53 PM
My computer setup was in the living room, with the stereo speakers at my left and right, so I didn't need a cassette recorder attached to my computer to play music for me.

I was the other way round, I had a portable tape player but the speakers in my tv were better.
I used to hook it up to the audio input.

I also discovered that plugging an econet terminator into the av port cleaned up the samples. I think someone else figured that out as well as since then I've seen people putting resistors across the audio input.

airship

Andrew, yes. Back in the day, I had a cassette deck hooked up to both the input and output of the SID. All you  have to do to playback through the SID is to poke a non-zero volume value into the volume register.
Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

BigDumbDinosaur

Quote from: smf on January 17, 2008, 06:29 PM
Quote from: BigDumbDinosaur on January 17, 2008, 03:53 PM
My computer setup was in the living room, with the stereo speakers at my left and right, so I didn't need a cassette recorder attached to my computer to play music for me.

I was the other way round, I had a portable tape player but the speakers in my tv were better.
I used to hook it up to the audio input.

I also discovered that plugging an econet terminator into the av port cleaned up the samples. I think someone else figured that out as well as since then I've seen people putting resistors across the audio input.

Forgot to mention that I did have a patch from the SID's output to the stereo so I could get the full effect of SID music when I was playing it.  Nothing like a C-64 hooked up to a system with 15 inch Altec Studio Monitor speakers backed by 100 watts RMS of tube power per channel.  <Grin>
x86?  We ain't got no x86.  We don't need no stinking x86!

airship

I hope you had a 2nd SID in there for stereo. :)
Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

BigDumbDinosaur

Quote from: airship on January 19, 2008, 02:22 AM
I hope you had a 2nd SID in there for stereo. :)
Naw...was well before anyone had tried that little trick.
x86?  We ain't got no x86.  We don't need no stinking x86!

Andrew Wiskow

Quote from: BigDumbDinosaur on January 19, 2008, 10:15 AMNaw...was well before anyone had tried that little trick.

Well before 1987?  You really are "old school".  I salute you, sir!  :)

-Andrew
Cottonwood BBS & Cottonwood II
http://cottonwood.servebbs.com

Blacklord

Quote from: Andrew Wiskow on January 19, 2008, 11:43 AM
Quote from: BigDumbDinosaur on January 19, 2008, 10:15 AMNaw...was well before anyone had tried that little trick.

Well before 1987?  You really are "old school".  I salute you, sir!  :)

-Andrew

Ok, you're making me feel old, I got my first computer (Exidy Sorcerer) in 1978.....

Lance

Andrew Wiskow

Quote from: Blacklord on January 19, 2008, 12:07 PMOk, you're making me feel old, I got my first computer (Exidy Sorcerer) in 1978.....

Lance

Sorry, Lance...  Not trying to make you feel old...  More like trying to make myself feel young.  ;)

Today is my 33rd birthday...  :)

I got my first computer (a breadbox C64) for Christmas 1986.

-Andrew
Cottonwood BBS & Cottonwood II
http://cottonwood.servebbs.com

Blacklord

Quote from: Andrew Wiskow on January 19, 2008, 01:36 PM
Quote from: Blacklord on January 19, 2008, 12:07 PMOk, you're making me feel old, I got my first computer (Exidy Sorcerer) in 1978.....

Lance

Sorry, Lance...  Not trying to make you feel old...  More like trying to make myself feel young.  ;)

Today is my 33rd birthday...  :)

I got my first computer (a breadbox C64) for Christmas 1986.

Happy birthday :) I'm 9 years, 11 months & 4 days older than you :)

Lance

-Andrew

airship

I built my first computer in 1978 - a Netronics ELF II. Hex keypad, 2-digit LED display, video 'capability', and 256 bytes of RAM, which I expanded by adding a 1K dynamic RAM daughter board I designed myself. I found a broken calculator on the sidewalk by the junior high school and hacked the display into it so I could play Wumpus with scrolling messages on the LED display, just like my buddy who had a KIM I. He was impressed. I later traded it for an IBM Selectric typewriter (the one with the cool rotating ball).

Needless to say, I'm older than dirt, so you two can feel like young bucks.
Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

BigDumbDinosaur

Quote from: Blacklord on January 19, 2008, 12:07 PM
Quote from: Andrew Wiskow on January 19, 2008, 11:43 AM
Quote from: BigDumbDinosaur on January 19, 2008, 10:15 AMNaw...was well before anyone had tried that little trick.

Well before 1987?  You really are "old school".  I salute you, sir!  :)

-Andrew

Ok, you're making me feel old, I got my first computer (Exidy Sorcerer) in 1978.....

Lance
Just to give you an idea as to just how creaky and dinosaurish I am, I used to fix Tele-Type machines.
x86?  We ain't got no x86.  We don't need no stinking x86!

RobertB

Quote from: BigDumbDinosaur on January 20, 2008, 04:21 PM...I used to fix Tele-Type machines.
Very nice.  At each Vintage Computer Festival, there is usually a tele-type machine on exhibit.

Back from the CAN and FCUG meetings,
Robert Bernardo
Fresno Commodore User Group
http://videocam.net.au/fcug
The Other Group of Amigoids
http://www.calweb.com/~rabel1/

BigDumbDinosaur

Quote from: RobertB on January 22, 2008, 05:52 AM
Quote from: BigDumbDinosaur on January 20, 2008, 04:21 PM...I used to fix Tele-Type machines.
Very nice.  At each Vintage Computer Festival, there is usually a tele-type machine on exhibit.

Back from the CAN and FCUG meetings,
Robert Bernardo
Fresno Commodore User Group
http://videocam.net.au/fcug
The Other Group of Amigoids
http://www.calweb.com/~rabel1/

Is anyone able to hold a conversation while the TTYS are running?  <Grin>
x86?  We ain't got no x86.  We don't need no stinking x86!

airship

QuoteJust to give you an idea as to just how creaky and dinosaurish I am, I used to fix Tele-Type machines.

I missed this comment somehow. Good grief, man, just how old ARE you?!?  ???

Of course, I used to be a DJ and at the station we got our AP newsfeed over a teletype. :)
Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

gsteemso

The only teletype I ever got my mitts on belonged to a museum, so they wouldn't let me pull it apart to see how it worked. The innards that I did get to see were fascinating though — it was completely electromechanical, with emphasis on the mechanical! Seeing ASCII in the form of little sliding contacts was very bizarre, but did go some way to explaining why the standard used 7 bit characters rather than 8.

It strikes me we've drifted rather far off topic, but alas, I have never owned a program on cassette, or a cassette drive to play one on. The first computer in my family's home was an SX-64 (the only C64, to my knowledge, that didn't include a cassette port) that my dad bought for the then-huge sum of about C$1000 in 1985 or thereabouts, when I was around 8. (I still have it.) I personally, however, did not get a computer of my own until 10 years later; in 1995 I was given a used Mac SE/30 as a high-school graduation present. (It committed suicide with internal lightning bolts within a year. I was heartbroken.)

If my math is right Andrew got his first computer at the age of 11, which means Lance got his at 12 or probably 13. I wonder if everyone here got their first machine around that age? If so, do I get to feel extra geeky for getting access to Dad's at the young age of 8? ;¬)

G.
The world's only gsteemso

Blacklord

Quote from: gsteemso on August 20, 2008, 01:55 PM

If my math is right Andrew got his first computer at the age of 11, which means Lance got his at 12 or probably 13. I wonder if everyone here got their first machine around that age? If so, do I get to feel extra geeky for getting access to Dad's at the young age of 8? ;¬)

G.

Yup - 13 it was. Back in '78!

Lance