Skip to content

Commit

Permalink
Release 0.3.2 from Google Code.
Browse files Browse the repository at this point in the history
  • Loading branch information
trash80 committed Jul 26, 2015
1 parent fb34314 commit ccfcf69
Showing 1 changed file with 19 additions and 22 deletions.
41 changes: 19 additions & 22 deletions Arduinoboy/Arduinoboy.ino
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,11 @@ int mode = 0; //Mode 0: Midi Input to LSDJ Sync, Mode 1: LSDJ MASTER to Midi ou
/***************************************************************************
* Lets Assign our Arduino Pins .....
***************************************************************************/
int gbClockOut = 12; // clock out to gameboy
int gbClockLine = 12; // clock out to gameboy
int gbSerialOut = 11; // serial data to gameboy
int gbSerialIn = 10; // serial data from gameboy

int gbClockIn = 2; // clock in from gameboy
int gbSerialIn = 3; // serial data from gameboy

int midiInputPower = 10; // power pin for midi input opto-isolator
int midiInputPower = 2; // power pin for midi input opto-isolator

int ledSequencerStop = 8; // stopped light pin
int ledSequencerStart = 9; // start light pin
Expand All @@ -58,7 +56,7 @@ int countIncommingMidiByte =0;
* Inbound Data Placeholders
***************************************************************************/
byte incomingMidiByte; //incomming midi message
byte readGbClockIn;
byte readgbClockLine;
byte readGbSerialIn;

int incomingMidiNote = 0;
Expand All @@ -67,20 +65,19 @@ int incomingMidiVel = 0;

void setup() {
/*
Init Output Pins
Init Pins
*/
pinMode(ledSequencerStop,OUTPUT);
pinMode(ledSequencerStart,OUTPUT);
pinMode(gbClockOut,OUTPUT);
pinMode(gbSerialOut,OUTPUT);
pinMode(midiInputPower,OUTPUT);

/*
Init Input Pins
*/
pinMode(gbClockIn,INPUT);
pinMode(gbSerialIn,INPUT);

if(mode==0) {
pinMode(gbClockLine,OUTPUT);
pinMode(gbSerialOut,OUTPUT);
pinMode(midiInputPower,OUTPUT);
} else if (mode==1) {
pinMode(gbClockLine,INPUT);
pinMode(gbSerialIn,INPUT);
}
/*
Set MIDI Serial Rate
*/
Expand All @@ -90,7 +87,7 @@ void setup() {
Set Pin States
*/
digitalWrite(midiInputPower, HIGH); // turn on the optoisolator
digitalWrite(gbClockOut, HIGH); // gameboy wants a HIGH line
digitalWrite(gbClockLine, HIGH); // gameboy wants a HIGH line
digitalWrite(gbSerialOut, LOW); // no data to send
digitalWrite(ledSequencerStop, HIGH); // then turn it on

Expand All @@ -114,16 +111,16 @@ void loop () {
void modeGameboyMasterSync()
{
while(1){
readGbClockIn = digitalRead(gbClockIn); //Read gameboy's clock line
if(readGbClockIn) {
while(readGbClockIn) {
readgbClockLine = digitalRead(gbClockLine); //Read gameboy's clock line
if(readgbClockLine) {
while(readgbClockLine) {
countClockPause++;
if(sequencerStarted && countClockPause > 8000) {
Serial.print(0xFC, BYTE);
countClockPause = 0;
sequencerStop();
}
readGbClockIn = digitalRead(gbClockIn);
readgbClockLine = digitalRead(gbClockLine);
}
countClockPause = 0;
countGbClockTicks++;
Expand Down Expand Up @@ -189,7 +186,7 @@ void sequencerStop()
void sendClockTickToLSDJ()
{
for(countLSDJTicks=0;countLSDJTicks<8;countLSDJTicks++) {
digitalWrite(gbClockOut,LOW);digitalWrite(gbClockOut,HIGH);
digitalWrite(gbClockLine,LOW);digitalWrite(gbClockLine,HIGH);
}
}

Expand Down

0 comments on commit ccfcf69

Please sign in to comment.