15

When I was working for a foundry consultancy, we did the following

  1. Download routines to add delays when writing certain tracks. This was a security feature. When the program started, it would try to read that track normally. If it could, it failed the security check and stopped running. If it couldn't, it downloaded the delay and checked again. If it couldn't then it failed security again.
  2. Download routines to do database searches and return the results. This was amazingly fast. 4 seconds to search the entire floppy. This was before SQL was invented so it was a home brew pattern match written in 6502 assembler.
  3. Make the LED flash different colours when computations were running

What other obscure tasks were the 8050/1541 drives used for?

  • I knew the disks were programmable, but didn't realize there was enough RAM to do useful stuff like that. Cool! – RichF Sep 9 '17 at 4:40
  • Tricks for enabling and breaking anti-piracy were even cooler but that is another topic. – cup Sep 9 '17 at 5:23
  • 1
    I am concerned this question will get closed as unanswerable. It's a shame, since I am curious about this very topic – Wilson Sep 9 '17 at 7:11
  • 1
    @mnem faster than the C64 if you're a PAL user, where the C64 runs at only 985 kHz. Almost 12% slower than the Vic-20 by clock speed — even more if you factor in bad lines. Thank goodness for that Vic-II! – Tommy Sep 9 '17 at 14:04
  • 1
    @RichF: the earlyest microcomputers had about the same amount of RAM (1 to 4 KB). You could do a lot with careful assembly coding. Having direct access to 170 KBytes of directly available background storage helped too, any disk sector could be loaded with a simple ROM function call. – berendi Sep 12 '17 at 9:24
11

There were a number of programs that used the 6502 in the 1541 as a coprocessor.

An obvious application was for calculating fractals, because that doesn't need a lot of RAM. An example is the Mandelbrot Construction Set (German article).

This thread also mentions some more recently written games which used the 1541 as coprocessor, namely The Masque, Panta Rhei, Altered States and Digital Worlds.

And of course all the Turbo Loaders had a part that needed to run on the 1541, but these were not really obscure.

8
  • Playing music with the drive heads, of course. I've tried that too, wrecking the drive in the process.

  • Dimming the drive LED, by flashing it very fast, with a variable duty cycle.

  • Printing a file on disk directly to a daisy-chained printer, freeing up the computer to do something else.

  • Direct disk-to disk copy between two 1541 units, similarly to the one above.

  • I've tried playing music with the drives too - I don't know whether it was the drive heads that changed the sound or a voice coil that was used to change the speed. Didn't do it too often because it was a work machine. – cup Sep 12 '17 at 13:06
  • Assuming its presence, a loaded head is in contact with the disk, so you'd expect slightly different speeds even on tracks for which the 1541 has selected the same motor speed, because the head being at a different position from the centre gives different moments of inertia. Possibly not audible though, alas. Definitely not up there with ramming the head against the track 0 stop for percussion. – Tommy Sep 12 '17 at 14:03
  • Head movement was controlled by the two least significant bits of the interface adapter port at $1C00. Incrementing them as a two bit counter moved the head a half-track inwards, decrementing outwards. Each step must be followed by some delay (maybe 20ms) to allow the hardware to reach the desired position.Toggling bit 0 repeatedly moved the head one step inwards, then one step outwards, effectively vibrating it. Then change the delay between steps to a value that gives the desired frequency. – berendi Sep 13 '17 at 10:15
  • 2
    @Tommy in short: completely intentional. The disk drive user's manual tells you how to do it. I agree — make a question so we can write an answer detailing it :) – hobbs Oct 11 '17 at 7:31
  • 1
    @Tommy Actually, there is a point to asking something that's already well documented: stackexchange aims to be a canonical repository of questions and answers, even those that exist elsewhere on the web. "RTFM" or "STFW" are not supposed to be a phenomenon here. – Wayne Conrad Feb 22 '18 at 9:30
7

Reposting slightly, but this (German-language) page provides software for networking C64s via the serial bus, with the simplest intended power-on state being two C64s connected to the two inputs of a 1541, having one set to ignore the drive while the other loads, then reversing that, then having them talk to each other and to the drive through negotiation.

I think arbitration is decentralised for a flexible topology, so the mildly askew use of the drive is as a networking hub. One can imagine it becoming a more powerful server on such a network, e.g. being responsible for authoritative state in a multiplayer game, but I don't think the page goes that far.

  • I just had a look at the translation - this is amazing. You can connect up to 6 C64s together. Pity I haven't got the hardware otherwise I'd give it a go. – cup Sep 12 '17 at 16:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.