DS touchscreen, non capisto questo codice.........

Ciao a tutti, facendo un po' di ricerche ho trovato del codice già pronto per far funzionare il touchscreen della nintendo ds.
Il tutto funziona, però non riesco a capire bene la logica del codice scritto:

  pinMode(xLow,OUTPUT);
  pinMode(xHigh,OUTPUT);

  digitalWrite(xLow,LOW);
  digitalWrite(xHigh,HIGH);
 
  digitalWrite(yLow,LOW);
  digitalWrite(yHigh,LOW);
 
  pinMode(yLow,INPUT);
  pinMode(yHigh,INPUT);
  delay(10);
 
  //xLow has analog port -14 !!
  int x=analogRead(yLow -14);
 
  pinMode(yLow,OUTPUT);
  pinMode(yHigh,OUTPUT);
  digitalWrite(yLow,LOW);
  digitalWrite(yHigh,HIGH);
 
  digitalWrite(xLow,LOW);
  digitalWrite(xHigh,LOW);
 
  pinMode(xLow,INPUT);
  pinMode(xHigh,INPUT);
  delay(10);
 
  //xLow has analog port -14 !!
  int y=analogRead(xLow - 14)
 
  delay(200);

Per esempio, a cosa servono queste righe di codice:

  pinMode(xLow,OUTPUT);
  pinMode(xHigh,OUTPUT);

  digitalWrite(xLow,LOW);
  digitalWrite(xHigh,HIGH);

io deduco servano per creare una differenza di potenziale e quindi dare una sorta di alimentazione al touchscreen, però vorrei esserne sicuro.

poi, le righe subito successive:

  digitalWrite(yLow,LOW);
  digitalWrite(yHigh,LOW);

scrive un valore sulla porta yLow e yHigh, però senza aver dichiarato da nessuna parte (nemmeno sulla sezione setup) che quelle 2 porte devono essere in output.
Forse il codice è un po' incasinato?

Poi, altro punto oscuro:

  //xLow has analog port -14 !!
  int x=analogRead(yLow -14);

.......

  //xLow has analog port -14 !!
  int y=analogRead(xLow - 14)

Perchè legge sia x che y dallo stesso piedino?

Voi che ne pensate?
Secondo me questo codice andrebbe un po' rivisto, ma non sapendo bene come funziona il touchscreen, magari mi sbaglio :-[