From bb567ae644b3a2ebbf228e83802a5e7411a1e8eb Mon Sep 17 00:00:00 2001
From: Niklas Mischkulnig <niklas@mischkulnig.de>
Date: Wed, 7 Sep 2016 19:02:48 +0200
Subject: Requested changes to not change code for non ATtinyX5s

---
 cores/arduino/Arduino.h       | 8 ++++----
 cores/arduino/wiring_analog.c | 6 +++++-
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/cores/arduino/Arduino.h b/cores/arduino/Arduino.h
index e71c9c3..09c1448 100644
--- a/cores/arduino/Arduino.h
+++ b/cores/arduino/Arduino.h
@@ -68,11 +68,11 @@ void yield(void);
   #define INTERNAL INTERNAL1V1
 #elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)
   #define DEFAULT 0
-  #define EXTERNAL 1
-  #define INTERNAL1V1 2
+  #define EXTERNAL 4
+  #define INTERNAL1V1 8
   #define INTERNAL INTERNAL1V1
-  #define INTERNAL2V56 6
-  #define INTERNAL2V56_EXTCAP 7
+  #define INTERNAL2V56 9
+  #define INTERNAL2V56_EXTCAP 13
 #else  
 #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)
 #define INTERNAL1V1 2
diff --git a/cores/arduino/wiring_analog.c b/cores/arduino/wiring_analog.c
index c545e6d..967c2b9 100644
--- a/cores/arduino/wiring_analog.c
+++ b/cores/arduino/wiring_analog.c
@@ -64,7 +64,11 @@ int analogRead(uint8_t pin)
 	// channel (low 4 bits).  this also sets ADLAR (left-adjust result)
 	// to 0 (the default).
 #if defined(ADMUX)
-	ADMUX = ((analog_reference & 0x3) << 6) | ((analog_reference & 0x4) ? 0x10 : 0) | (pin & 0x07);
+#if defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)
+	ADMUX = (analog_reference << 4) | (pin & 0x07);
+#else
+	ADMUX = (analog_reference << 6) | (pin & 0x07);
+#endif
 #endif
 
 	// without a delay, we seem to read from the wrong channel
-- 
cgit v1.2.3-18-g5258