Home cassette taping is killing the software industry

From SkullSpace Wiki
Jump to: navigation, search
Info.png This page has been archived. All information in this article is historical.

A level under development for the Skullspace_Hardware_Programming_Challenge.

  • Platform: Atmel AVR micro controller
  • IO: AVR analogue to digital converter connected to an old, regular cassette deck
  • Level master: Mark Jenkins
  • Difficulty: medium

A secret message has been stored on a cassette tape encoded digitally in the Kansas City standard.

Connected to the audio outputs of the tape deck is at a simple circuit with an Atmel AVR micro controller (specific model not yet selected) with analogue with a analogue to digital unit. Your mission is to write a Atmel AVR program that can decode the Kansas city standard and output the message in over an RS-232 serial output in final form.

The entire setup is in a locked cabinet to keep you from stealing the tape or otherwise grabbing the audio signal and decoding it elsewhere -- programming the AVR micro controller is the only acceptable means of completing the challenge. The tape deck controls are exposed so you can rewind.

This level is still under development, we haven't actually created a secret cassette tape yet, the proof of concept program, or assembled all the hardware together as one locked cabinet.

Working Development Tools

Tools needing further development

  • Bootloader so AVR can be re-flashed over serial. (Similar to the style of the AVR butterfly). This saves the need for a programmer board or having to connect to the programing pins.
  • Programmer to work with bootloader (or, make bootloader compatible with other system programmers)

Circuits needing development

  • Power connector
 (it would be really cool if this could just steel and convert power from the tape deck so that the whole system could have one plug)
  • RS-232 connector and appropriate handling for PC RS-232 voltages

(a single circuit is useful both for re-programing via a bootloader and as a source of output for tape programs)

  • Connection between AVR analogue to digital converter and audio output connector of tape deck

Hardware needing development

  • Secret enclosure to hold both tape deck and AVR circuits to prevent players from ejecting and stealing cassette and also from accessing audio out connectors. Only interfaces to outside world are: power plug, tape deck controls, and RS-232 connector.

Hardware to assist level development

Mark has a full-blown development board (|STK500) to lend for developing and loaded the permenent bootloader

Working Documentation

  • AVR microcontrollers have a detailed datasheet, will link to once a specific AVR is selected

Documentation needing development

  • Description of bootloader protocol and what things the bootloader does to the hardware before you take over
  • Links to resources on the Kansas City standard

Future enhancements

Once the original design from above is done, we can enhance this system even more by:

  • Ability to write to tape as well (I think most AVR's don't have a DAC so you would have to do PWM.) Perhaps a different level could even
  • Ability for AVR microcontoller to control the tape deck motor -- and tape deck controls could be hidden from. We'd leave the tape at the end and the user would have to take control and rewind the tape before they could play and decode the message. (perhaps we'd add one button to fast forward so they can put the tape back)