Jump to content

A8 MMS sync to PO-33


k-Pack

300 views

I've watched a bunch of youTube videos on how to sync the PO-33 with other Pocket Operators and the Korg NTS-1.   Along with those were many explaining the problems with syncing different manufacture's equipment.  Not one was for syncing an Atari 8bit to the PO-33….. until now.

 

 

Better Recording 

 

 

MIDI Music System for the Atari has two options for syncing other equipment.  MMS sends a Timing Clock system command, 248($F8), to the MIDI interface 24 times per quarter note . AND. It sends out a pulse signal (5V-0V) from the Joystick port 2 - pin 3 at the same rate of 24/quarter note.

 

1712251888_AtariSyncPulseQnoteat125BPM.jpg.48bfc10974d10e918b97809d6722800b.jpg

 

The PO-33 does not have a MIDI input.  It receives the timing pulses on the input audio channel.

 

1473437768_PO33SyncPulseat120BPM.jpg.1ff48f4216c3ac50db5c3a57b5877ad1.jpg

 

I found that if I read the pulses sent out from the joystick port and then send a pulse every 12th pulse to the audio input jack on the PO-33 that, when the proper sync mode is set, the PO-33 stays in sync with the Atari.

 

 

 

Build the Arduino interface.

 

My interface is built for use with an Arduino UNO.  An optocoupler has been placed between the Atari and the Arduino input on pin 2.  To maintain a reliable pulse count, a system interrupt is used to count the pulses as they are received.  The count is reset in the main loop.  Simple program but effective.

 

391083571_Atari8synchardware.thumb.jpg.2d318cb501a239fb3d7b995feb9084b4.jpg

 

The output from pin 12 is sent to the PO-33 uses a 1/8" mono jack and is plugged into the tip of a stereo splitter.  The splitter is then plugged into the stereo input jack.  The PO-33 sync mode will need to be set to the proper sync mode.  (SY4 worked for me.)  Don't forget to press PLAY on the PO-33 before starting the MMS.

 

The tip of the jack can be connected to point A or B.  The resisters are a voltage divider. Point A to ground provides a 5V drop and B to ground is about 1.5V. The PO-33 sheet says a 5 volt is the maximum voltage. I used both points and had no problem using either. I just wanted a safety factor when I began my experimentation.

 

Having access to the reset button is vital.  You can use the button on the Arduino Uno if it is accessible.

 

2025438640_PhotoScan(2).thumb.jpg.6c6f9b3b567ebbd26308e4448028c861.jpg

 

/*Atari's Midi Music System software will output a timing pulse on

 * joystick port 2 - pin 3.  An Arduino will modify the pulse stream

 * to make it compatible with the PO33.

 *

 * Set PO#33 to desired sync mode then press play

 *

 * Before each MMS Playing :

 *  Press reset on Arduino to reset counter.

 *  Press play on PO33 to turn off and then again to reset

 *

 *Kevin Packard - 9/5/2022

 */

 

volatile int pulsesPerNoteDuration = 12; // pulses per 1/16 note step;

volatile byte pulseCount = pulsesPerNoteDuration - 1; //counts pulses from atari

const int atariPin = 2; //interupt 0 pin , input

int syncPulsePin = 12; // output to sequencer,



void setup() {

  pinMode(syncPulsePin,OUTPUT);

  digitalWrite(syncPulsePin,LOW);

  pinMode(atariPin,INPUT);

  attachInterrupt(0,isrPulseCount,FALLING); //interrupt 0

}



void loop() {

  if(pulseCount >= pulsesPerNoteDuration){ //check count

    digitalWrite(syncPulsePin,HIGH);          // send when pulsesPerNoteDuration reached

    pulseCount = 0;                        // reset counter

    delay(15);                              // wait

    digitalWrite(syncPulsePin,LOW);           // sync pulse ended

   

   }

}



void isrPulseCount(){                     // interrupt counter. adds 1 for each atari pulse

  pulseCount++;

}

 

 

It is quite simple.  The main loop checks to see if the pulse count is = to the pulsesPerNoteDuration and then sets the output pin12 to go high for 15 milliseconds.  The count is updated by a system interrupt when a pulse from the Atari goes low. (Remember that the normal state of a joystick pin is high.)

 

 

Before each MMS play back the following should be done to reset the Arduino counter and the PO-33.

 *  Press reset on Arduino to reset counter.

 *  Press play on PO33 to turn off sequencer and then again to reset

 

It is my hope that this project gives you a head start when you find the need to use the Atari to sync your Pocket operator. Luckly this project was shelved only 2X but, started 3X.

  • Like 2

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...