Thursday, November 01, 2007

Protocol 0.01a

I have been working on ways of getting more data into the Vectrex by extending how data is mapped from the computer to the buttons and thus to RAM location $C807.

The main structure of this protocol is as follows:
  • Single 8 bit byte
  • Bits 2 - 7 form the data part of the byte
    • This holds the range of data that should be mapped to some parameter as shown in the command part of the byte
  • Bits 0 - 1 form the command part of the byte
    • This indicates which parameter the data part of the byte should control
  • The range of data and types of parameters are listed in the table below

This method of data transfer is a little more dangerous than my previous attempts in that more can go wrong in the transmission. However, the rewards far outshine the negative aspects at this point.
  • Monophonic ie. only one note can be played at a time (unchanged)
  • Choice of 16 steps of volume (unchanged)
  • Choice of 1024 different pitches (up from 16 previously)
  • Choice of noise or tone (no choice previously)
  • Choice of 32 different noise-shaping steps (up from 16 previously)
Of course, this protocol requires a different Max/MSP patch in order to convert generic contrl information into the custom protocol 0.01a. This can be seen below.

Below, you can see a video of the protocol 0.01a in use.