diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index efc5972325f6..b40d881a7524 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -100,7 +100,7 @@ body:
   - type: input
     attributes:
       label: Printer model
-      description: Creality Ender 3, Prusa mini, or Kossel Delta?
+      description: Creality Ender-3, Prusa mini, or Kossel Delta?
 
   - type: input
     attributes:
diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 33d98f49a2e0..730300d790a0 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -63,26 +63,6 @@
 //#define STRING_CONFIG_H_AUTHOR "DMYCO V1.0 (Mike Bignell)" // Who made the changes.
 //#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
 
-/**
- * *** VENDORS PLEASE READ ***
- *
- * Marlin allows you to add a custom boot image for Graphical LCDs.
- * With this option Marlin will first show your custom screen followed
- * by the standard Marlin logo with version number and web URL.
- *
- * We encourage you to take advantage of this new feature and we also
- * respectfully request that you retain the unmodified Marlin boot screen.
- */
-
-// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION **
-#define SHOW_BOOTSCREEN
-
-// Show the bitmap in Marlin/_Bootscreen.h on startup.
-//#define SHOW_CUSTOM_BOOTSCREEN
-
-// Show the bitmap in Marlin/_Statusscreen.h on the status screen.
-#define CUSTOM_STATUS_SCREEN_IMAGE
-
 // @section machine
 
 // Choose the name from boards.h that matches your setup
@@ -2544,7 +2524,7 @@
   #define PASSWORD_ON_STARTUP
   #define PASSWORD_UNLOCK_GCODE             // Unlock with the M511 P<password> command. Disable to prevent brute-force attack.
   #define PASSWORD_CHANGE_GCODE             // Change the password with M512 P<old> S<new>.
-  //#define PASSWORD_ON_SD_PRINT_MENU       // This does not prevent gcodes from running
+  //#define PASSWORD_ON_SD_PRINT_MENU       // This does not prevent G-codes from running
   //#define PASSWORD_AFTER_SD_PRINT_END
   //#define PASSWORD_AFTER_SD_PRINT_ABORT
   //#include "Configuration_Secure.h"       // External file with PASSWORD_DEFAULT_VALUE
@@ -3293,9 +3273,9 @@
   /**
    * TFT Font for Color_UI. Choose one of the following:
    *
-   * NOTOSANS  - Default font with antialiasing. Supports Latin Extended and non-Latin characters.
-   * UNIFONT   - Lightweight font, no antialiasing. Supports Latin Extended and non-Latin characters.
-   * HELVETICA - Lightweight font, no antialiasing. Supports Basic Latin (0x0020-0x007F) and Latin-1 Supplement (0x0080-0x00FF) characters only.
+   * NOTOSANS  - Default font with anti-aliasing. Supports Latin Extended and non-Latin characters.
+   * UNIFONT   - Lightweight font, no anti-aliasing. Supports Latin Extended and non-Latin characters.
+   * HELVETICA - Lightweight font, no anti-aliasing. Supports Basic Latin (0x0020-0x007F) and Latin-1 Supplement (0x0080-0x00FF) characters only.
    */
   #define TFT_FONT  NOTOSANS
 
diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index 1068e4b94eec..1663e2002e7f 100644
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -372,7 +372,7 @@
    * Thermal Protection Variance Monitor - EXPERIMENTAL
    * Kill the machine on a stuck temperature sensor.
    *
-   * This feature may cause some thermally-stable systems to halt. Be sure to test it throughly under
+   * This feature may cause some thermally-stable systems to halt. Be sure to test it thoroughly under
    * a variety of conditions. Disable if you get false positives.
    *
    * This feature ensures that temperature sensors are updating regularly. If sensors die or get "stuck",
@@ -415,7 +415,7 @@
    * You can either just add a constant compensation with the DEFAULT_Kf value
    * or follow the instruction below to get speed-dependent compensation.
    *
-   * Constant compensation (use only with fanspeeds of 0% and 100%)
+   * Constant compensation (use only with fan speeds of 0% and 100%)
    * ---------------------------------------------------------------------
    * A good starting point for the Kf-value comes from the calculation:
    *   kf = (power_fan * eff_fan) / power_heater * 255
@@ -442,7 +442,7 @@
     //#define PID_FAN_SCALING_ALTERNATIVE_DEFINITION
     #if ENABLED(PID_FAN_SCALING_ALTERNATIVE_DEFINITION)
       // The alternative definition is used for an easier configuration.
-      // Just figure out Kf at fullspeed (255) and PID_FAN_SCALING_MIN_SPEED.
+      // Just figure out Kf at full speed (255) and PID_FAN_SCALING_MIN_SPEED.
       // DEFAULT_Kf and PID_FAN_SCALING_LIN_FACTOR are calculated accordingly.
 
       #define PID_FAN_SCALING_AT_FULL_SPEED 13.0        //=PID_FAN_SCALING_LIN_FACTOR*255+DEFAULT_Kf
@@ -621,7 +621,7 @@
  * FAST_PWM_FAN_FREQUENCY
  *   Set this to your desired frequency.
  *   For AVR, if left undefined this defaults to F = F_CPU/(2*255*1)
- *            i.e., F = 31.4kHz on 16MHz microcontrollers or F = 39.2kHz on 20MHz microcontrollers.
+ *            i.e., F = 31.4kHz on 16MHz micro-controllers or F = 39.2kHz on 20MHz micro-controllers.
  *   For non AVR, if left undefined this defaults to F = 1Khz.
  *   This F value is only to protect the hardware from an absence of configuration
  *   and not to complete it when users are not aware that the frequency must be specifically set to support the target board.
@@ -960,12 +960,15 @@
    * Danger: Don't activate 5V mode unless attached to a 5V-tolerant controller!
    * V3.0 or 3.1: Set default mode to 5V mode at Marlin startup.
    * If disabled, OD mode is the hard-coded default on 3.0
-   * On startup, Marlin will compare its eeprom to this value. If the selected mode
-   * differs, a mode set eeprom write will be completed at initialization.
-   * Use the option below to force an eeprom write to a V3.1 probe regardless.
+   * On startup, Marlin will compare its EEPROM to this value. If the selected mode
+   * differs, a mode set EEPROM write will be completed at initialization.
+   * Use the option below to force an EEPROM write to a V3.1 probe regardless.
    */
   //#define BLTOUCH_SET_5V_MODE
 
+  // Safety: Enable voltage mode settings in the LCD menu.
+  //#define BLTOUCH_LCD_VOLTAGE_MENU
+
   /**
    * Safety: Activate if connecting a probe with an unknown voltage mode.
    * V3.0: Set a probe into mode selected above at Marlin startup. Required for 5V mode on 3.0
@@ -984,12 +987,16 @@
    */
   //#define BLTOUCH_HS_MODE true
 
-  // Safety: Enable voltage mode settings in the LCD menu.
-  //#define BLTOUCH_LCD_VOLTAGE_MENU
+  #ifdef BLTOUCH_HS_MODE
+    // The probe Z offset (M851 Z) is the height at which the probe triggers.
+    // This must be large enough to keep the probe pin off the bed and prevent
+    // it from snagging on the bed clips.
+    #define BLTOUCH_HS_EXTRA_CLEARANCE    7 // Extra Z Clearance
+  #endif
 
 #endif // BLTOUCH
 
-// @section extras
+// @section calibration
 
 /**
  * Z Steppers Auto-Alignment
@@ -1328,7 +1335,7 @@
   //#define CALIBRATION_MEASURE_WMAX
 
   // Probing at the exact top center only works if the center is flat. If
-  // probing on a screwhead or hollow washer, probe near the edges.
+  // probing on a screw head or hollow washer, probe near the edges.
   //#define CALIBRATION_MEASURE_AT_TOP_EDGES
 
   // Define the pin to read during calibration
@@ -1508,19 +1515,36 @@
 #endif // HAS_MARLINUI_MENU
 
 #if HAS_DISPLAY
+  /**
+   * *** VENDORS PLEASE READ ***
+   *
+   * Marlin allows you to add a custom boot image for Graphical LCDs.
+   * With this option Marlin will first show your custom screen followed
+   * by the standard Marlin logo with version number and web URL.
+   *
+   * We encourage you to take advantage of this new feature and we also
+   * respectfully request that you retain the unmodified Marlin boot screen.
+   */
+  #if ANY(HAS_MARLINUI_U8GLIB, TOUCH_UI_FTDI_EVE, IS_DWIN_MARLINUI)
+    #define SHOW_BOOTSCREEN                 // Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION **
+    #if ENABLED(SHOW_BOOTSCREEN)
+      #define BOOTSCREEN_TIMEOUT 2000       // (ms) Total Duration to display the boot screen(s)
+      #if EITHER(HAS_MARLINUI_U8GLIB, TFT_COLOR_UI)
+        #define BOOT_MARLIN_LOGO_SMALL      // Show a smaller Marlin logo on the Boot Screen (saving lots of flash)
+      #endif
+      #define SHOW_CUSTOM_BOOTSCREEN      // Show the bitmap in Marlin/_Bootscreen.h on startup.
+    #endif
+    #if HAS_MARLINUI_U8GLIB
+      #define CUSTOM_STATUS_SCREEN_IMAGE  // Show the bitmap in Marlin/_Statusscreen.h on the status screen.
+    #endif
+  #endif
+
   //#define SOUND_MENU_ITEM   // Add a mute option to the LCD menu
   #define SOUND_ON_DEFAULT    // Buzzer/speaker default enabled state
 
   // The timeout to return to the status screen from sub-menus
   //#define LCD_TIMEOUT_TO_STATUS 15000   // (ms)
 
-  #if ENABLED(SHOW_BOOTSCREEN)
-    #define BOOTSCREEN_TIMEOUT 2000       // (ms) Total Duration to display the boot screen(s)
-    #if EITHER(HAS_MARLINUI_U8GLIB, TFT_COLOR_UI)
-      #define BOOT_MARLIN_LOGO_SMALL      // Show a smaller Marlin logo on the Boot Screen (saving lots of flash)
-    #endif
-  #endif
-
   // Scroll a longer status message into view
   #define STATUS_MESSAGE_SCROLLING
 
@@ -1906,7 +1930,7 @@
   #endif
 
   /**
-   * Status (Info) Screen customizations
+   * Status (Info) Screen customization
    * These options may affect code size and screen render time.
    * Custom status screens can forcibly override these settings.
    */
@@ -2159,7 +2183,7 @@
   #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
     #define DOUBLECLICK_MAX_INTERVAL 1250   // Maximum interval between clicks, in milliseconds.
                                             // Note: Extra time may be added to mitigate controller latency.
-    //#define MOVE_Z_WHEN_IDLE              // Jump to the move Z menu on doubleclick when printer is idle.
+    //#define MOVE_Z_WHEN_IDLE              // Jump to the move Z menu on double-click when printer is idle.
     #if ENABLED(MOVE_Z_WHEN_IDLE)
       #define MOVE_Z_IDLE_MULTIPLICATOR 1   // Multiply 1mm by this factor for the move step size.
     #endif
@@ -3522,7 +3546,7 @@
      * Feed rates are set by the F parameter of a move command e.g. G1 X0 Y10 F6000
      * Laser power would be calculated by bit shifting off 8 LSB's. In binary this is div 256.
      * The calculation gives us ocr values from 0 to 255, values over F65535 will be set as 255 .
-     * More refined power control such as compesation for accell/decell will be addressed in future releases.
+     * More refined power control such as compensation for accel/decel will be addressed in future releases.
      *
      * M5 I clears inline mode and set power to 0, M5 sets the power output to 0 but leaves inline mode on.
      */
@@ -3530,8 +3554,8 @@
     /**
      * Enable M3 commands for laser mode inline power planner syncing.
      * This feature enables any M3 S-value to be injected into the block buffers while in
-     * CUTTER_MODE_CONTINUOUS. The option allows M3 laser power to be commited without waiting
-     * for a planner syncronization
+     * CUTTER_MODE_CONTINUOUS. The option allows M3 laser power to be committed without waiting
+     * for a planner synchronization
      */
     //#define LASER_POWER_SYNC
 
@@ -4130,7 +4154,7 @@
   #define MAX7219_DEBUG_PROFILE       6   // Display the fraction of CPU time spent in profiled code on this LED matrix
                                           // row. By default idle() is profiled so this shows how "idle" the processor is.
                                           // See class CodeProfiler.
-  //#define MAX7219_DEBUG_MULTISTEPPING 6 // Show multistepping 1 to 128 on this LED matrix row.
+  //#define MAX7219_DEBUG_MULTISTEPPING 6 // Show multi-stepping 1 to 128 on this LED matrix row.
 #endif
 
 /**
diff --git a/Marlin/Version.h b/Marlin/Version.h
index f3b75ea6b4ec..268a35584bf3 100644
--- a/Marlin/Version.h
+++ b/Marlin/Version.h
@@ -41,7 +41,7 @@
  * here we define this default string as the date where the latest release
  * version was tagged.
  */
-//#define STRING_DISTRIBUTION_DATE "2023-04-01"
+//#define STRING_DISTRIBUTION_DATE "2023-04-12"
 
 /**
  * Defines a generic printer name to be output to the LCD after booting Marlin.
diff --git a/Marlin/src/HAL/AVR/fastio/fastio_1280.h b/Marlin/src/HAL/AVR/fastio/fastio_1280.h
index e6ecbabb800f..6f074cf91124 100644
--- a/Marlin/src/HAL/AVR/fastio/fastio_1280.h
+++ b/Marlin/src/HAL/AVR/fastio/fastio_1280.h
@@ -27,6 +27,7 @@
  *   Hardware Pin  : 02 03 06 07 01 05 15 16 17 18 23 24 25 26 64 63 13 12 46 45 44 43 78 77 76 75 74 73 72 71 60 59 58 57 56 55 54 53 50 70 52 51 42 41 40 39 38 37 36 35 22 21 20 19 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 | 04 08 09 10 11 14 27 28 29 30 31 32 33 34 47 48 49 61 62 65 66 67 68 69 79 80 81 98 99 100
  *   Port          : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 | E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx
  *   Logical Pin   : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 78 79 80 xx xx 84 85 71 70 xx xx xx xx xx 81 82 83 xx xx 72 73 75 76 77 74 xx xx xx xx xx
+ *   Analog Input  :                                                                                                                                                                    0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
  *
  * Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
  * AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
diff --git a/Marlin/src/HAL/AVR/inc/Conditionals_LCD.h b/Marlin/src/HAL/AVR/inc/Conditionals_LCD.h
index a611ccd7c4a9..5f1c4b16019d 100644
--- a/Marlin/src/HAL/AVR/inc/Conditionals_LCD.h
+++ b/Marlin/src/HAL/AVR/inc/Conditionals_LCD.h
@@ -20,7 +20,3 @@
  *
  */
 #pragma once
-
-#if HAS_SPI_TFT || HAS_FSMC_TFT
-  #error "Sorry! TFT displays are not available for HAL/AVR."
-#endif
diff --git a/Marlin/src/HAL/AVR/inc/SanityCheck.h b/Marlin/src/HAL/AVR/inc/SanityCheck.h
index 45aa3a50b967..665e68043a85 100644
--- a/Marlin/src/HAL/AVR/inc/SanityCheck.h
+++ b/Marlin/src/HAL/AVR/inc/SanityCheck.h
@@ -25,6 +25,10 @@
  * Test AVR-specific configuration values for errors at compile-time.
  */
 
+#if HAS_SPI_TFT || HAS_FSMC_TFT
+  #error "Sorry! TFT displays are not available for HAL/AVR."
+#endif
+
 /**
  * Check for common serial pin conflicts
  */
diff --git a/Marlin/src/HAL/AVR/pinsDebug.h b/Marlin/src/HAL/AVR/pinsDebug.h
index dab4e4471524..b91bde182d35 100644
--- a/Marlin/src/HAL/AVR/pinsDebug.h
+++ b/Marlin/src/HAL/AVR/pinsDebug.h
@@ -64,11 +64,13 @@
 
 #define VALID_PIN(pin) (pin >= 0 && pin < NUM_DIGITAL_PINS ? 1 : 0)
 #if AVR_ATmega1284_FAMILY
-  #define DIGITAL_PIN_TO_ANALOG_PIN(P) int(analogInputToDigitalPin(0) - (P))
-  #define IS_ANALOG(P) ((P) >= analogInputToDigitalPin(7) && (P) <= analogInputToDigitalPin(0))
+  #define IS_ANALOG(P) WITHIN(P, analogInputToDigitalPin(7), analogInputToDigitalPin(0))
+  #define DIGITAL_PIN_TO_ANALOG_PIN(P) int(IS_ANALOG(P) ? (P) - analogInputToDigitalPin(7) : -1)
 #else
-  #define DIGITAL_PIN_TO_ANALOG_PIN(P) int((P) - analogInputToDigitalPin(0))
-  #define IS_ANALOG(P) ((P) >= analogInputToDigitalPin(0) && ((P) <= analogInputToDigitalPin(15) || (P) <= analogInputToDigitalPin(7)))
+  #define _ANALOG1(P) WITHIN(P, analogInputToDigitalPin(0), analogInputToDigitalPin(7))
+  #define _ANALOG2(P) WITHIN(P, analogInputToDigitalPin(8), analogInputToDigitalPin(15))
+  #define IS_ANALOG(P) (_ANALOG1(P) || _ANALOG2(P))
+  #define DIGITAL_PIN_TO_ANALOG_PIN(P) int(_ANALOG1(P) ? (P) - analogInputToDigitalPin(0) : _ANALOG2(P) ? (P) - analogInputToDigitalPin(8) + 8 : -1)
 #endif
 #define GET_ARRAY_PIN(p) pgm_read_byte(&pin_array[p].pin)
 #define MULTI_NAME_PAD 26 // space needed to be pretty if not first name assigned to a pin
diff --git a/Marlin/src/HAL/DUE/inc/Conditionals_LCD.h b/Marlin/src/HAL/DUE/inc/Conditionals_LCD.h
index 58674144470c..5f1c4b16019d 100644
--- a/Marlin/src/HAL/DUE/inc/Conditionals_LCD.h
+++ b/Marlin/src/HAL/DUE/inc/Conditionals_LCD.h
@@ -20,7 +20,3 @@
  *
  */
 #pragma once
-
-#if HAS_SPI_TFT || HAS_FSMC_TFT
-  #error "Sorry! TFT displays are not available for HAL/DUE."
-#endif
diff --git a/Marlin/src/HAL/DUE/inc/SanityCheck.h b/Marlin/src/HAL/DUE/inc/SanityCheck.h
index 996404a7d04c..6bbf04a0acbb 100644
--- a/Marlin/src/HAL/DUE/inc/SanityCheck.h
+++ b/Marlin/src/HAL/DUE/inc/SanityCheck.h
@@ -25,6 +25,10 @@
  * Test Arduino Due specific configuration values for errors at compile-time.
  */
 
+#if HAS_SPI_TFT || HAS_FSMC_TFT
+  #error "Sorry! TFT displays are not available for HAL/DUE."
+#endif
+
 /**
  * Check for common serial pin conflicts
  */
@@ -77,7 +81,7 @@
 #endif
 
 #if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY
-  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on DUE."
+  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported for HAL/DUE."
 #endif
 
 #if HAS_TMC_SW_SERIAL
diff --git a/Marlin/src/HAL/ESP32/inc/Conditionals_LCD.h b/Marlin/src/HAL/ESP32/inc/Conditionals_LCD.h
index 4da600179d6c..5f1c4b16019d 100644
--- a/Marlin/src/HAL/ESP32/inc/Conditionals_LCD.h
+++ b/Marlin/src/HAL/ESP32/inc/Conditionals_LCD.h
@@ -20,7 +20,3 @@
  *
  */
 #pragma once
-
-#if HAS_SPI_TFT || HAS_FSMC_TFT
-  #error "Sorry! TFT displays are not available for HAL/ESP32."
-#endif
diff --git a/Marlin/src/HAL/ESP32/inc/SanityCheck.h b/Marlin/src/HAL/ESP32/inc/SanityCheck.h
index 2d1b85033090..910918b9ea47 100644
--- a/Marlin/src/HAL/ESP32/inc/SanityCheck.h
+++ b/Marlin/src/HAL/ESP32/inc/SanityCheck.h
@@ -21,12 +21,19 @@
  */
 #pragma once
 
+#if HAS_SPI_TFT || HAS_FSMC_TFT
+  #error "Sorry! TFT displays are not available for HAL/ESP32."
+#endif
+
 #if ENABLED(EMERGENCY_PARSER)
   #error "EMERGENCY_PARSER is not yet implemented for ESP32. Disable EMERGENCY_PARSER to continue."
 #endif
 
-#if (ENABLED(SPINDLE_LASER_USE_PWM) && SPINDLE_LASER_FREQUENCY > 78125) || (ENABLED(FAST_PWM_FAN_FREQUENCY) && FAST_PWM_FAN_FREQUENCY > 78125)
-  #error "SPINDLE_LASER_FREQUENCY and FAST_PWM_FREQUENCY maximum value is 78125Hz for ESP32."
+#if ENABLED(SPINDLE_LASER_USE_PWM) && SPINDLE_LASER_FREQUENCY > 78125
+  #error "SPINDLE_LASER_FREQUENCY maximum value is 78125Hz for ESP32."
+#endif
+#if ENABLED(FAST_PWM_FAN) && FAST_PWM_FAN_FREQUENCY > 78125
+  #error "FAST_PWM_FREQUENCY maximum value is 78125Hz for ESP32."
 #endif
 
 #if HAS_TMC_SW_SERIAL
diff --git a/Marlin/src/HAL/LINUX/inc/Conditionals_LCD.h b/Marlin/src/HAL/LINUX/inc/Conditionals_LCD.h
index 99a6fc27534a..5f1c4b16019d 100644
--- a/Marlin/src/HAL/LINUX/inc/Conditionals_LCD.h
+++ b/Marlin/src/HAL/LINUX/inc/Conditionals_LCD.h
@@ -20,7 +20,3 @@
  *
  */
 #pragma once
-
-#if HAS_SPI_TFT || HAS_FSMC_TFT
-  #error "Sorry! TFT displays are not available for HAL/LINUX."
-#endif
diff --git a/Marlin/src/HAL/LINUX/inc/SanityCheck.h b/Marlin/src/HAL/LINUX/inc/SanityCheck.h
index 36d3190a3e08..861bade10ffd 100644
--- a/Marlin/src/HAL/LINUX/inc/SanityCheck.h
+++ b/Marlin/src/HAL/LINUX/inc/SanityCheck.h
@@ -31,13 +31,17 @@
 #endif
 
 #if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY
-  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on LINUX."
+  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported for HAL/LINUX."
+#endif
+
+#if HAS_SPI_TFT || HAS_FSMC_TFT
+  #error "Sorry! TFT displays are not available for HAL/LINUX."
 #endif
 
 #if HAS_TMC_SW_SERIAL
-  #error "TMC220x Software Serial is not supported on LINUX."
+  #error "TMC220x Software Serial is not supported for HAL/LINUX."
 #endif
 
 #if ENABLED(POSTMORTEM_DEBUGGING)
-  #error "POSTMORTEM_DEBUGGING is not yet supported on LINUX."
+  #error "POSTMORTEM_DEBUGGING is not yet supported for HAL/LINUX."
 #endif
diff --git a/Marlin/src/HAL/LINUX/spi_pins.h b/Marlin/src/HAL/LINUX/spi_pins.h
index 9b406518738c..9ecbb0498787 100644
--- a/Marlin/src/HAL/LINUX/spi_pins.h
+++ b/Marlin/src/HAL/LINUX/spi_pins.h
@@ -24,7 +24,7 @@
 #include "../../core/macros.h"
 #include "../../inc/MarlinConfigPre.h"
 
-#if BOTH(HAS_MARLINUI_U8GLIB, SDSUPPORT) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_ENABLE == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
+#if BOTH(HAS_MARLINUI_U8GLIB, SDSUPPORT) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_EN == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
   #define SOFTWARE_SPI  // If the SD card and LCD adapter share the same SPI pins, then software SPI is currently
                         // needed due to the speed and mode required for communicating with each device being different.
                         // This requirement can be removed if the SPI access to these devices is updated to use
diff --git a/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h b/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h
index 32ef908d633c..5f1c4b16019d 100644
--- a/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h
+++ b/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h
@@ -20,7 +20,3 @@
  *
  */
 #pragma once
-
-#if HAS_FSMC_TFT
-  #error "Sorry! FSMC TFT displays are not current available for HAL/LPC1768."
-#endif
diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h
index b9a336066818..9f78f2a70d19 100644
--- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h
+++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h
@@ -77,6 +77,10 @@ static_assert(!(NUM_SERVOS && ENABLED(FAST_PWM_FAN)), "BLTOUCH and Servos are in
   #endif
 #endif
 
+#if HAS_FSMC_TFT
+  #error "Sorry! FSMC TFT displays are not current available for HAL/LPC1768."
+#endif
+
 static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported on LPC176x.");
 
 /**
diff --git a/Marlin/src/HAL/LPC1768/spi_pins.h b/Marlin/src/HAL/LPC1768/spi_pins.h
index a82b21dda91f..e716d00fb094 100644
--- a/Marlin/src/HAL/LPC1768/spi_pins.h
+++ b/Marlin/src/HAL/LPC1768/spi_pins.h
@@ -23,7 +23,7 @@
 
 #include "../../core/macros.h"
 
-#if BOTH(SDSUPPORT, HAS_MARLINUI_U8GLIB) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_ENABLE == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
+#if BOTH(SDSUPPORT, HAS_MARLINUI_U8GLIB) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_EN == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
   #define SOFTWARE_SPI  // If the SD card and LCD adapter share the same SPI pins, then software SPI is currently
                         // needed due to the speed and mode required for communicating with each device being different.
                         // This requirement can be removed if the SPI access to these devices is updated to use
diff --git a/Marlin/src/HAL/NATIVE_SIM/inc/SanityCheck.h b/Marlin/src/HAL/NATIVE_SIM/inc/SanityCheck.h
index 2d7bef23a36d..615e5254c95b 100644
--- a/Marlin/src/HAL/NATIVE_SIM/inc/SanityCheck.h
+++ b/Marlin/src/HAL/NATIVE_SIM/inc/SanityCheck.h
@@ -31,7 +31,7 @@
 #endif
 
 #if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY
-  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on LINUX."
+  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported for HAL/LINUX."
 #endif
 
 #if HAS_TMC_SW_SERIAL
diff --git a/Marlin/src/HAL/NATIVE_SIM/spi_pins.h b/Marlin/src/HAL/NATIVE_SIM/spi_pins.h
index fd3378b33759..eb20a21c56dd 100644
--- a/Marlin/src/HAL/NATIVE_SIM/spi_pins.h
+++ b/Marlin/src/HAL/NATIVE_SIM/spi_pins.h
@@ -24,7 +24,7 @@
 #include "../../core/macros.h"
 #include "../../inc/MarlinConfigPre.h"
 
-#if BOTH(HAS_MARLINUI_U8GLIB, SDSUPPORT) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_ENABLE == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
+#if BOTH(HAS_MARLINUI_U8GLIB, SDSUPPORT) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_EN == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
   #define SOFTWARE_SPI      // If the SD card and LCD adapter share the same SPI pins, then software SPI is currently
                             // needed due to the speed and mode required for communicating with each device being different.
                             // This requirement can be removed if the SPI access to these devices is updated to use
diff --git a/Marlin/src/HAL/SAMD21/inc/Conditionals_LCD.h b/Marlin/src/HAL/SAMD21/inc/Conditionals_LCD.h
index ca467937c3ca..9d58e454327f 100644
--- a/Marlin/src/HAL/SAMD21/inc/Conditionals_LCD.h
+++ b/Marlin/src/HAL/SAMD21/inc/Conditionals_LCD.h
@@ -20,12 +20,4 @@
  *
  */
 
-/**
- * SAMD21 HAL developed by Bart Meijer (brupje)
- * Based on SAMD51 HAL by Giuliano Zaro (AKA GMagician)
- */
 #pragma once
-
-#if HAS_SPI_TFT || HAS_FSMC_TFT
-  #error "Sorry! TFT displays are not available for HAL/SAMD21."
-#endif
diff --git a/Marlin/src/HAL/SAMD21/inc/SanityCheck.h b/Marlin/src/HAL/SAMD21/inc/SanityCheck.h
index 95fa5e594026..8bf052e3bb15 100644
--- a/Marlin/src/HAL/SAMD21/inc/SanityCheck.h
+++ b/Marlin/src/HAL/SAMD21/inc/SanityCheck.h
@@ -29,6 +29,10 @@
  * Test SAMD21 specific configuration values for errors at compile-time.
  */
 
+#if HAS_SPI_TFT || HAS_FSMC_TFT
+  #error "Sorry! TFT displays are not available for HAL/SAMD21."
+#endif
+
 #if SERVO_TC == MF_TIMER_RTC
   #error "Servos can't use RTC timer"
 #endif
@@ -42,7 +46,7 @@
 #endif
 
 #if ENABLED(FAST_PWM_FAN)
-  #error "Features requiring Hardware PWM (FAST_PWM_FAN) are not yet supported on SAMD21."
+  #error "Features requiring Hardware PWM (FAST_PWM_FAN) are not yet supported for HAL/SAMD21."
 #endif
 
 #if ENABLED(POSTMORTEM_DEBUGGING)
diff --git a/Marlin/src/HAL/SAMD51/inc/Conditionals_LCD.h b/Marlin/src/HAL/SAMD51/inc/Conditionals_LCD.h
index 932348c52f40..5f1c4b16019d 100644
--- a/Marlin/src/HAL/SAMD51/inc/Conditionals_LCD.h
+++ b/Marlin/src/HAL/SAMD51/inc/Conditionals_LCD.h
@@ -20,7 +20,3 @@
  *
  */
 #pragma once
-
-#if HAS_SPI_TFT || HAS_FSMC_TFT
-  #error "Sorry! TFT displays are not available for HAL/SAMD51."
-#endif
diff --git a/Marlin/src/HAL/SAMD51/inc/SanityCheck.h b/Marlin/src/HAL/SAMD51/inc/SanityCheck.h
index ae1bc2f3efd5..f9ff090f75ae 100644
--- a/Marlin/src/HAL/SAMD51/inc/SanityCheck.h
+++ b/Marlin/src/HAL/SAMD51/inc/SanityCheck.h
@@ -29,6 +29,10 @@
  * Test SAMD51 specific configuration values for errors at compile-time.
  */
 
+#if HAS_SPI_TFT || HAS_FSMC_TFT
+  #error "Sorry! TFT displays are not available for HAL/SAMD51."
+#endif
+
 #if ENABLED(FLASH_EEPROM_EMULATION)
   #warning "Did you activate the SmartEEPROM? See https://github.com/GMagician/SAMD51-SmartEEprom-Manager/releases"
 #endif
@@ -55,7 +59,7 @@
 #endif
 
 #if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY
-  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on SAMD51."
+  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported for HAL/SAMD51."
 #endif
 
 #if ENABLED(POSTMORTEM_DEBUGGING)
diff --git a/Marlin/src/HAL/TEENSY31_32/inc/Conditionals_LCD.h b/Marlin/src/HAL/TEENSY31_32/inc/Conditionals_LCD.h
index 54ec16664354..5f1c4b16019d 100644
--- a/Marlin/src/HAL/TEENSY31_32/inc/Conditionals_LCD.h
+++ b/Marlin/src/HAL/TEENSY31_32/inc/Conditionals_LCD.h
@@ -20,7 +20,3 @@
  *
  */
 #pragma once
-
-#if HAS_SPI_TFT || HAS_FSMC_TFT
-  #error "Sorry! TFT displays are not available for HAL/TEENSY31_32."
-#endif
diff --git a/Marlin/src/HAL/TEENSY31_32/inc/SanityCheck.h b/Marlin/src/HAL/TEENSY31_32/inc/SanityCheck.h
index dbce187673c9..c5b25f2cb51b 100644
--- a/Marlin/src/HAL/TEENSY31_32/inc/SanityCheck.h
+++ b/Marlin/src/HAL/TEENSY31_32/inc/SanityCheck.h
@@ -25,22 +25,26 @@
  * Test TEENSY35_36 specific configuration values for errors at compile-time.
  */
 
+#if HAS_SPI_TFT || HAS_FSMC_TFT
+  #error "Sorry! TFT displays are not available for Teensy 3.1/3.2."
+#endif
+
 #if ENABLED(EMERGENCY_PARSER)
   #error "EMERGENCY_PARSER is not yet implemented for Teensy 3.1/3.2. Disable EMERGENCY_PARSER to continue."
 #endif
 
 #if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY
-  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on Teensy 3.1/3.2."
+  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported for Teensy 3.1/3.2."
 #endif
 
 #if HAS_TMC_SW_SERIAL
-  #error "TMC220x Software Serial is not supported on Teensy 3.1/3.2."
+  #error "TMC220x Software Serial is not supported for Teensy 3.1/3.2."
 #endif
 
 #if ENABLED(POSTMORTEM_DEBUGGING)
-  #error "POSTMORTEM_DEBUGGING is not yet supported on Teensy 3.1/3.2."
+  #error "POSTMORTEM_DEBUGGING is not yet supported for Teensy 3.1/3.2."
 #endif
 
 #if USING_PULLDOWNS
-  #error "PULLDOWN pin mode is not available on Teensy 3.1/3.2 boards."
+  #error "PULLDOWN pin mode is not available for Teensy 3.1/3.2."
 #endif
diff --git a/Marlin/src/HAL/TEENSY35_36/inc/Conditionals_LCD.h b/Marlin/src/HAL/TEENSY35_36/inc/Conditionals_LCD.h
index 632ee533acac..5f1c4b16019d 100644
--- a/Marlin/src/HAL/TEENSY35_36/inc/Conditionals_LCD.h
+++ b/Marlin/src/HAL/TEENSY35_36/inc/Conditionals_LCD.h
@@ -20,7 +20,3 @@
  *
  */
 #pragma once
-
-#if HAS_SPI_TFT || HAS_FSMC_TFT
-  #error "Sorry! TFT displays are not available for HAL/TEENSY35_36."
-#endif
diff --git a/Marlin/src/HAL/TEENSY35_36/inc/SanityCheck.h b/Marlin/src/HAL/TEENSY35_36/inc/SanityCheck.h
index 330870737184..ff6d77241183 100644
--- a/Marlin/src/HAL/TEENSY35_36/inc/SanityCheck.h
+++ b/Marlin/src/HAL/TEENSY35_36/inc/SanityCheck.h
@@ -25,22 +25,26 @@
  * Test TEENSY35_36 specific configuration values for errors at compile-time.
  */
 
+#if HAS_SPI_TFT || HAS_FSMC_TFT
+  #error "Sorry! TFT displays are not available for Teensy 3.5/3.6.
+#endif
+
 #if ENABLED(EMERGENCY_PARSER)
   #error "EMERGENCY_PARSER is not yet implemented for Teensy 3.5/3.6. Disable EMERGENCY_PARSER to continue."
 #endif
 
 #if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY
-  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on Teensy 3.5/3.6."
+  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported for Teensy 3.5/3.6."
 #endif
 
 #if HAS_TMC_SW_SERIAL
-  #error "TMC220x Software Serial is not supported on Teensy 3.5/3.6."
+  #error "TMC220x Software Serial is not supported for Teensy 3.5/3.6."
 #endif
 
 #if ENABLED(POSTMORTEM_DEBUGGING)
-  #error "POSTMORTEM_DEBUGGING is not yet supported on Teensy 3.5/3.6."
+  #error "POSTMORTEM_DEBUGGING is not yet supported for Teensy 3.5/3.6."
 #endif
 
 #if USING_PULLDOWNS
-  #error "PULLDOWN pin mode is not available on Teensy 3.5/3.6 boards."
+  #error "PULLDOWN pin mode is not available for Teensy 3.5/3.6."
 #endif
diff --git a/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_LCD.h b/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_LCD.h
index 6a8540927b97..5f1c4b16019d 100644
--- a/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_LCD.h
+++ b/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_LCD.h
@@ -20,7 +20,3 @@
  *
  */
 #pragma once
-
-#if HAS_SPI_TFT || HAS_FSMC_TFT
-  #error "Sorry! TFT displays are not available for HAL/TEENSY40_41."
-#endif
diff --git a/Marlin/src/HAL/TEENSY40_41/inc/SanityCheck.h b/Marlin/src/HAL/TEENSY40_41/inc/SanityCheck.h
index 3d2668d749bc..731658b4a31c 100644
--- a/Marlin/src/HAL/TEENSY40_41/inc/SanityCheck.h
+++ b/Marlin/src/HAL/TEENSY40_41/inc/SanityCheck.h
@@ -25,18 +25,22 @@
  * Test TEENSY41 specific configuration values for errors at compile-time.
  */
 
+#if HAS_SPI_TFT || HAS_FSMC_TFT
+  #error "Sorry! TFT displays are not available for Teensy 4.0/4.1."
+#endif
+
 #if ENABLED(EMERGENCY_PARSER)
   #error "EMERGENCY_PARSER is not yet implemented for Teensy 4.0/4.1. Disable EMERGENCY_PARSER to continue."
 #endif
 
 #if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY
-  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on Teensy 4.0/4.1."
+  #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported for Teensy 4.0/4.1."
 #endif
 
 #if HAS_TMC_SW_SERIAL
-  #error "TMC220x Software Serial is not supported on Teensy 4.0/4.1."
+  #error "TMC220x Software Serial is not supported for Teensy 4.0/4.1."
 #endif
 
 #if ENABLED(POSTMORTEM_DEBUGGING)
-  #error "POSTMORTEM_DEBUGGING is not yet supported on Teensy 4.0/4.1."
+  #error "POSTMORTEM_DEBUGGING is not yet supported for Teensy 4.0/4.1."
 #endif
diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp
index 19aaedf7c65d..d2a9f395b706 100644
--- a/Marlin/src/MarlinCore.cpp
+++ b/Marlin/src/MarlinCore.cpp
@@ -782,7 +782,7 @@ inline void manage_inactivity(const bool no_stepper_sleep=false) {
  *  - Update the Průša MMU2
  *  - Handle Joystick jogging
  */
-void idle(bool no_stepper_sleep/*=false*/) {
+void idle(const bool no_stepper_sleep/*=false*/) {
   #ifdef MAX7219_DEBUG_PROFILE
     CodeProfiler idle_profiler;
   #endif
diff --git a/Marlin/src/MarlinCore.h b/Marlin/src/MarlinCore.h
index f80405a302ee..e9c63bb31f35 100644
--- a/Marlin/src/MarlinCore.h
+++ b/Marlin/src/MarlinCore.h
@@ -30,7 +30,7 @@
 void stop();
 
 // Pass true to keep steppers from timing out
-void idle(bool no_stepper_sleep=false);
+void idle(const bool no_stepper_sleep=false);
 inline void idle_no_sleep() { idle(true); }
 
 #if ENABLED(G38_PROBE_TARGET)
diff --git a/Marlin/src/feature/bedlevel/bdl/bdl.cpp b/Marlin/src/feature/bedlevel/bdl/bdl.cpp
index 1a27011a4b8f..e729022f213c 100644
--- a/Marlin/src/feature/bedlevel/bdl/bdl.cpp
+++ b/Marlin/src/feature/bedlevel/bdl/bdl.cpp
@@ -109,7 +109,7 @@ void BDS_Leveling::process() {
           #endif
         }
         else {
-          babystep.set_mm(Z_AXIS, 0);          //if (old_cur_z <= cur_z) Z_DIR_WRITE(!INVERT_Z_DIR);
+          babystep.set_mm(Z_AXIS, 0);          //if (old_cur_z <= cur_z) Z_DIR_WRITE(INVERT_DIR(Z, HIGH));
           stepper.set_directions();
         }
       #endif
diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
index d9205b757769..a6206b398e79 100644
--- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
+++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
@@ -916,15 +916,14 @@ void set_message_with_feedback(FSTR_P const fstr) {
     echo_and_take_a_measurement();
 
     const float z1 = measure_point_with_encoder();
-    do_blocking_move_to_z(current_position.z + SIZE_OF_LITTLE_RAISE);
-    planner.synchronize();
+    do_z_clearance_by(SIZE_OF_LITTLE_RAISE);
 
     SERIAL_ECHOPGM("Remove shim");
     LCD_MESSAGE(MSG_UBL_BC_REMOVE);
     echo_and_take_a_measurement();
 
     const float z2 = measure_point_with_encoder();
-    do_blocking_move_to_z(current_position.z + Z_CLEARANCE_BETWEEN_PROBES);
+    do_z_clearance_by(Z_CLEARANCE_BETWEEN_PROBES);
 
     const float thickness = ABS(z1 - z2);
 
diff --git a/Marlin/src/feature/bltouch.cpp b/Marlin/src/feature/bltouch.cpp
index fe56341a47ec..02f76c139243 100644
--- a/Marlin/src/feature/bltouch.cpp
+++ b/Marlin/src/feature/bltouch.cpp
@@ -29,7 +29,7 @@
 BLTouch bltouch;
 
 bool BLTouch::od_5v_mode;         // Initialized by settings.load, 0 = Open Drain; 1 = 5V Drain
-#ifdef BLTOUCH_HS_MODE
+#if HAS_BLTOUCH_HS_MODE
   bool BLTouch::high_speed_mode;  // Initialized by settings.load, 0 = Low Speed; 1 = High Speed
 #else
   constexpr bool BLTouch::high_speed_mode;
@@ -42,9 +42,14 @@ bool BLTouch::od_5v_mode;         // Initialized by settings.load, 0 = Open Drai
 #include "../core/debug_out.h"
 
 bool BLTouch::command(const BLTCommand cmd, const millis_t &ms) {
-  if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("BLTouch Command :", cmd);
-  servo[Z_PROBE_SERVO_NR].move(cmd);
-  safe_delay(_MAX(ms, (uint32_t)BLTOUCH_DELAY)); // BLTOUCH_DELAY is also the *minimum* delay
+  const BLTCommand current = servo[Z_PROBE_SERVO_NR].read();
+  if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("BLTouch from ", current, " to ", cmd);
+  // If the new command is the same, skip it (and the delay).
+  // The previous write should've already delayed to detect the alarm.
+  if (cmd != current) {
+    servo[Z_PROBE_SERVO_NR].move(cmd);
+    safe_delay(_MAX(ms, (uint32_t)BLTOUCH_DELAY)); // BLTOUCH_DELAY is also the *minimum* delay
+  }
   return triggered();
 }
 
diff --git a/Marlin/src/feature/bltouch.h b/Marlin/src/feature/bltouch.h
index fa857bb96ab6..0f9f2e68ba31 100644
--- a/Marlin/src/feature/bltouch.h
+++ b/Marlin/src/feature/bltouch.h
@@ -70,13 +70,13 @@ class BLTouch {
   static void init(const bool set_voltage=false);
   static bool od_5v_mode;         // Initialized by settings.load, 0 = Open Drain; 1 = 5V Drain
 
-  #ifdef BLTOUCH_HS_MODE
+  #if HAS_BLTOUCH_HS_MODE
     static bool high_speed_mode;  // Initialized by settings.load, 0 = Low Speed; 1 = High Speed
   #else
     static constexpr bool high_speed_mode = false;
   #endif
 
-  static float z_extra_clearance() { return high_speed_mode ? 7 : 0; }
+  static float z_extra_clearance() { return TERN0(HAS_BLTOUCH_HS_MODE, high_speed_mode ? BLTOUCH_HS_EXTRA_CLEARANCE : 0); }
 
   // DEPLOY and STOW are wrapped for error handling - these are used by homing and by probing
   static bool deploy()              { return deploy_proc(); }
diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp
index e279b90e338c..b5e7a1329549 100644
--- a/Marlin/src/gcode/calibrate/G28.cpp
+++ b/Marlin/src/gcode/calibrate/G28.cpp
@@ -408,17 +408,40 @@ void GcodeSuite::G28() {
       #endif
     #endif
 
+    // Z may home first, e.g., when homing away from the bed
     TERN_(HOME_Z_FIRST, if (doZ) homeaxis(Z_AXIS));
 
+    // 'R' to specify a specific raise. 'R0' indicates no raise, e.g., for recovery.resume
+    // When 'R0' is used, there should already be adequate clearance, e.g., from homing Z to max.
     const bool seenR = parser.seenval('R');
-    const float z_homing_height = seenR ? parser.value_linear_units() : Z_HOMING_HEIGHT;
 
-    if (z_homing_height && (seenR || NUM_AXIS_GANG(doX, || doY, || TERN0(Z_SAFE_HOMING, doZ), || doI, || doJ, || doK, || doU, || doV, || doW))) {
-      // Raise Z before homing any other axes and z is not already high enough (never lower z)
-      if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Raise Z (before homing) by ", z_homing_height);
-      do_z_clearance(z_homing_height);
-      TERN_(BLTOUCH, bltouch.init());
+    // Use raise given by 'R' or Z_HOMING_HEIGHT (above the probe trigger point)
+    float z_homing_height = seenR ? parser.value_linear_units() : Z_HOMING_HEIGHT;
+
+    // Check for any lateral motion that might require clearance
+    const bool may_skate = seenR || NUM_AXIS_GANG(doX, || doY, || TERN0(Z_SAFE_HOMING, doZ), || doI, || doJ, || doK, || doU, || doV, || doW);
+
+    if (seenR && z_homing_height == 0) {
+      if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("R0 = No Z raise");
     }
+    else {
+      bool with_probe = ENABLED(HOMING_Z_WITH_PROBE);
+      // Raise above the current Z (which should be synced in the planner)
+      // The "height" for Z is a coordinate. But if Z is not trusted/homed make it relative.
+      if (seenR || !TERN(HOME_AFTER_DEACTIVATE, axis_is_trusted, axis_was_homed)(Z_AXIS)) {
+        z_homing_height += current_position.z;
+        with_probe = false;
+      }
+
+      if (may_skate) {
+        // Apply Z clearance before doing any lateral motion
+        if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Raise Z before homing:");
+        do_z_clearance(z_homing_height, with_probe);
+      }
+    }
+
+    // Init BLTouch ahead of any lateral motion, even if not homing with the probe
+    TERN_(BLTOUCH, if (may_skate) bltouch.init());
 
     // Diagonal move first if both are homing
     TERN_(QUICK_HOME, if (doX && doY) quick_home_xy());
diff --git a/Marlin/src/gcode/calibrate/G34.cpp b/Marlin/src/gcode/calibrate/G34.cpp
index 7ae1e7765caa..9a0cb0054b72 100644
--- a/Marlin/src/gcode/calibrate/G34.cpp
+++ b/Marlin/src/gcode/calibrate/G34.cpp
@@ -39,6 +39,23 @@
 #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
 #include "../../core/debug_out.h"
 
+/**
+ * G34 - Align the ends of the X gantry. See https://youtu.be/3jAFQdTk8iw
+ *
+ * - The carriage moves to GANTRY_CALIBRATION_SAFE_POSITION, also called the “pounce” position.
+ * - If possible, the Z stepper current is reduced to the value specified by 'S'
+ *   (or GANTRY_CALIBRATION_CURRENT) to prevent damage to steppers and other parts.
+ *   The reduced current should be just high enough to move the Z axis when not blocked.
+ * - The Z axis is jogged past the Z limit, only as far as the specified Z distance
+ *   (or GANTRY_CALIBRATION_EXTRA_HEIGHT) at the GANTRY_CALIBRATION_FEEDRATE.
+ * - The Z axis is moved back to the working area (also at GANTRY_CALIBRATION_FEEDRATE).
+ * - Stepper current is restored back to normal.
+ * - The machine is re-homed, according to GANTRY_CALIBRATION_COMMANDS_POST.
+ *
+ * Parameters:
+ *  [S<mA>]     - Current value to use for the raise move. (Default: GANTRY_CALIBRATION_CURRENT)
+ *  [Z<linear>] - Extra distance past Z_MAX_POS to move the Z axis. (Default: GANTRY_CALIBRATION_EXTRA_HEIGHT)
+ */
 void GcodeSuite::G34() {
 
   // Home before the alignment procedure
diff --git a/Marlin/src/gcode/calibrate/G34_M422.cpp b/Marlin/src/gcode/calibrate/G34_M422.cpp
index 816e455b84c7..db6ef874d94b 100644
--- a/Marlin/src/gcode/calibrate/G34_M422.cpp
+++ b/Marlin/src/gcode/calibrate/G34_M422.cpp
@@ -153,7 +153,7 @@ void GcodeSuite::G34() {
         const xy_pos_t diff = z_stepper_align.xy[i] - z_stepper_align.xy[j];
         return HYPOT2(diff.x, diff.y);
       };
-      float z_probe = Z_PROBE_SAFE_CLEARANCE + (G34_MAX_GRADE) * 0.01f * SQRT(_MAX(0, magnitude2(0, 1)
+      float z_probe = (Z_PROBE_SAFE_CLEARANCE) + (G34_MAX_GRADE) * 0.01f * SQRT(_MAX(0, magnitude2(0, 1)
         #if TRIPLE_Z
           , magnitude2(2, 1), magnitude2(2, 0)
           #if QUAD_Z
@@ -234,7 +234,7 @@ void GcodeSuite::G34() {
 
           // Add height to each value, to provide a more useful target height for
           // the next iteration of probing. This allows adjustments to be made away from the bed.
-          z_measured[iprobe] = z_probed_height + Z_CLEARANCE_BETWEEN_PROBES;
+          z_measured[iprobe] = z_probed_height + (Z_CLEARANCE_BETWEEN_PROBES);
 
           if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("> Z", iprobe + 1, " measured position is ", z_measured[iprobe]);
 
@@ -248,7 +248,7 @@ void GcodeSuite::G34() {
         // Adapt the next probe clearance height based on the new measurements.
         // Safe_height = lowest distance to bed (= highest measurement) plus highest measured misalignment.
         z_maxdiff = z_measured_max - z_measured_min;
-        z_probe = Z_PROBE_SAFE_CLEARANCE + z_measured_max + z_maxdiff;
+        z_probe = (Z_PROBE_SAFE_CLEARANCE) + z_measured_max + z_maxdiff;
 
         #if HAS_Z_STEPPER_ALIGN_STEPPER_XY
           // Replace the initial values in z_measured with calculated heights at
@@ -436,7 +436,7 @@ void GcodeSuite::G34() {
         // Use the probed height from the last iteration to determine the Z height.
         // z_measured_min is used, because all steppers are aligned to z_measured_min.
         // Ideally, this would be equal to the 'z_probe * 0.5f' which was added earlier.
-        current_position.z -= z_measured_min - (float)Z_CLEARANCE_BETWEEN_PROBES;
+        current_position.z -= z_measured_min - float(Z_CLEARANCE_BETWEEN_PROBES);
         sync_plan_position();
       #endif
 
diff --git a/Marlin/src/gcode/config/M43.cpp b/Marlin/src/gcode/config/M43.cpp
index d408ded3ac9c..a3e837eb53b3 100644
--- a/Marlin/src/gcode/config/M43.cpp
+++ b/Marlin/src/gcode/config/M43.cpp
@@ -305,7 +305,7 @@ void GcodeSuite::M43() {
 
   // 'P' Get the range of pins to test or watch
   uint8_t first_pin = PARSED_PIN_INDEX('P', 0),
-          last_pin = parser.seenval('L') ? PARSED_PIN_INDEX('L', 0) : parser.seenval('P') ? first_pin : (NUMBER_PINS_TOTAL) - 1;
+          last_pin = parser.seenval('L') ? PARSED_PIN_INDEX('L', 0) : (parser.seenval('P') ? first_pin : (NUMBER_PINS_TOTAL) - 1);
 
   NOMORE(first_pin, (NUMBER_PINS_TOTAL) - 1);
   NOMORE(last_pin, (NUMBER_PINS_TOTAL) - 1);
@@ -321,15 +321,18 @@ void GcodeSuite::M43() {
 
   // 'W' Watch until click, M108, or reset
   if (parser.boolval('W')) {
-    SERIAL_ECHOLNPGM("Watching pins");
     #ifdef ARDUINO_ARCH_SAM
       NOLESS(first_pin, 2); // Don't hijack the UART pins
     #endif
-    uint8_t pin_state[last_pin - first_pin + 1];
+
+    const uint8_t pin_count = last_pin - first_pin + 1;
+    uint8_t pin_state[pin_count];
+    bool can_watch = false;
     LOOP_S_LE_N(i, first_pin, last_pin) {
       pin_t pin = GET_PIN_MAP_PIN_M43(i);
       if (!VALID_PIN(pin)) continue;
       if (M43_NEVER_TOUCH(i) || (!ignore_protection && pin_is_protected(pin))) continue;
+      can_watch = true;
       pinMode(pin, INPUT_PULLUP);
       delay(1);
       /*
@@ -340,11 +343,31 @@ void GcodeSuite::M43() {
         pin_state[i - first_pin] = extDigitalRead(pin);
     }
 
+    const bool multipin = (pin_count > 1);
+
+    if (!can_watch) {
+      SERIAL_ECHOPGM("Specified pin");
+      SERIAL_ECHOPGM_P(multipin ? PSTR("s are") : PSTR(" is"));
+      SERIAL_ECHOLNPGM(" protected. Use 'I' to override.");
+      return;
+    }
+
+    // "Watching pin(s) # - #"
+    SERIAL_ECHOPGM("Watching pin");
+    if (multipin) SERIAL_CHAR('s');
+    SERIAL_CHAR(' '); SERIAL_ECHO(first_pin);
+    if (multipin) SERIAL_ECHOPGM(" - ", last_pin);
+    SERIAL_EOL();
+
     #if HAS_RESUME_CONTINUE
       KEEPALIVE_STATE(PAUSED_FOR_USER);
       wait_for_user = true;
-      TERN_(HOST_PROMPT_SUPPORT, hostui.prompt_do(PROMPT_USER_CONTINUE, F("M43 Wait Called"), FPSTR(CONTINUE_STR)));
-      TERN_(EXTENSIBLE_UI, ExtUI::onUserConfirmRequired(F("M43 Wait Called")));
+      TERN_(HOST_PROMPT_SUPPORT, hostui.prompt_do(PROMPT_USER_CONTINUE, F("M43 Waiting..."), FPSTR(CONTINUE_STR)));
+      #if ENABLED(EXTENSIBLE_UI)
+        ExtUI::onUserConfirmRequired(F("M43 Waiting..."));
+      #else
+        LCD_MESSAGE(MSG_USERWAIT);
+      #endif
     #endif
 
     for (;;) {
@@ -372,6 +395,8 @@ void GcodeSuite::M43() {
 
       safe_delay(200);
     }
+
+    TERN_(HAS_RESUME_CONTINUE, ui.reset_status());
   }
   else {
     // Report current state of selected pin(s)
diff --git a/Marlin/src/gcode/feature/trinamic/M122.cpp b/Marlin/src/gcode/feature/trinamic/M122.cpp
index 07fe9e5bd82d..61786d51ada1 100644
--- a/Marlin/src/gcode/feature/trinamic/M122.cpp
+++ b/Marlin/src/gcode/feature/trinamic/M122.cpp
@@ -47,7 +47,7 @@ void GcodeSuite::M122() {
       if (sflag && !sval)
         tmc_set_report_interval(0);
       else if (parser.seenval('P'))
-        tmc_set_report_interval(_MAX(250, parser.value_ushort()));
+        tmc_set_report_interval(_MAX(uint16_t(250), parser.value_ushort()));
       else if (sval)
         tmc_set_report_interval(MONITOR_DRIVER_STATUS_INTERVAL_MS);
     #endif
diff --git a/Marlin/src/gcode/probe/G30.cpp b/Marlin/src/gcode/probe/G30.cpp
index 0a23e0981c49..a17ec367df72 100644
--- a/Marlin/src/gcode/probe/G30.cpp
+++ b/Marlin/src/gcode/probe/G30.cpp
@@ -42,7 +42,7 @@
 #endif
 
 /**
- * G30: Do a single Z probe at the current XY
+ * G30: Do a single Z probe at the given XY (default: current)
  *
  * Parameters:
  *
@@ -53,15 +53,21 @@
  */
 void GcodeSuite::G30() {
 
+  xy_pos_t old_pos = current_position,
+           probepos = current_position;
+
+  const bool seenX = parser.seenval('X');
+  if (seenX) probepos.x = RAW_X_POSITION(parser.value_linear_units());
+  const bool seenY = parser.seenval('Y');
+  if (seenY) probepos.y = RAW_Y_POSITION(parser.value_linear_units());
+
   probe.use_probing_tool();
 
-  // Convert the given logical position to native position
-  const xy_pos_t pos = {
-    parser.seenval('X') ? RAW_X_POSITION(parser.value_linear_units()) : current_position.x,
-    parser.seenval('Y') ? RAW_Y_POSITION(parser.value_linear_units()) : current_position.y
-  };
+  if (probe.can_reach(probepos)) {
+
+    if (seenX) old_pos.x = probepos.x;
+    if (seenY) old_pos.y = probepos.y;
 
-  if (probe.can_reach(pos)) {
     // Disable leveling so the planner won't mess with us
     TERN_(HAS_LEVELING, set_bed_leveling_enabled(false));
 
@@ -74,15 +80,15 @@ void GcodeSuite::G30() {
     const ProbePtRaise raise_after = parser.boolval('E', true) ? PROBE_PT_STOW : PROBE_PT_NONE;
 
     TERN_(HAS_PTC, ptc.set_enabled(!parser.seen('C') || parser.value_bool()));
-    const float measured_z = probe.probe_at_point(pos, raise_after, 1);
+    const float measured_z = probe.probe_at_point(probepos, raise_after, 1);
     TERN_(HAS_PTC, ptc.set_enabled(true));
     if (!isnan(measured_z)) {
-      SERIAL_ECHOLNPGM("Bed X: ", pos.asLogical().x, " Y: ", pos.asLogical().y, " Z: ", measured_z);
+      SERIAL_ECHOLNPGM("Bed X: ", probepos.asLogical().x, " Y: ", probepos.asLogical().y, " Z: ", measured_z);
       #if EITHER(DWIN_LCD_PROUI, DWIN_CREALITY_LCD_JYERSUI)
         char msg[31], str_1[6], str_2[6], str_3[6];
         sprintf_P(msg, PSTR("X:%s, Y:%s, Z:%s"),
-          dtostrf(pos.x, 1, 1, str_1),
-          dtostrf(pos.y, 1, 1, str_2),
+          dtostrf(probepos.x, 1, 1, str_1),
+          dtostrf(probepos.y, 1, 1, str_2),
           dtostrf(measured_z, 1, 2, str_3)
         );
         ui.set_status(msg);
@@ -91,6 +97,8 @@ void GcodeSuite::G30() {
 
     restore_feedrate_and_scaling();
 
+    do_blocking_move_to(old_pos);
+
     if (raise_after == PROBE_PT_STOW)
       probe.move_z_after_probing();
 
diff --git a/Marlin/src/gcode/probe/M401_M402.cpp b/Marlin/src/gcode/probe/M401_M402.cpp
index 7114cad9e8ca..05230e05ea68 100644
--- a/Marlin/src/gcode/probe/M401_M402.cpp
+++ b/Marlin/src/gcode/probe/M401_M402.cpp
@@ -28,7 +28,7 @@
 #include "../../module/motion.h"
 #include "../../module/probe.h"
 
-#ifdef BLTOUCH_HS_MODE
+#if HAS_BLTOUCH_HS_MODE
   #include "../../feature/bltouch.h"
 #endif
 
@@ -42,7 +42,7 @@
  *  R<bool> Remain in place after deploying (and before activating) the probe
  */
 void GcodeSuite::M401() {
-  #ifdef BLTOUCH_HS_MODE
+  #if HAS_BLTOUCH_HS_MODE
     const bool seenH = parser.seen_test('H'),
                seenS = parser.seen('S');
     if (seenH || seenS) {
@@ -65,7 +65,9 @@ void GcodeSuite::M401() {
  */
 void GcodeSuite::M402() {
   probe.stow(parser.boolval('R'));
-  probe.move_z_after_probing();
+  #ifdef Z_AFTER_PROBING
+    do_z_clearance(Z_AFTER_PROBING);
+  #endif
   report_current_position();
 }
 
diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h
index 329562672238..edee5e9bd245 100644
--- a/Marlin/src/inc/Conditionals_adv.h
+++ b/Marlin/src/inc/Conditionals_adv.h
@@ -76,9 +76,14 @@
 #endif // !defined(NUM_SERVOS)
 
 // Convenience override for a BLTouch alone
-#if ENABLED(BLTOUCH) && NUM_SERVOS == 1
-  #undef SERVO_DELAY
-  #define SERVO_DELAY { 50 }
+#if ENABLED(BLTOUCH)
+  #ifdef BLTOUCH_HS_MODE
+    #define HAS_BLTOUCH_HS_MODE 1
+  #endif
+  #if NUM_SERVOS == 1
+    #undef SERVO_DELAY
+    #define SERVO_DELAY { 50 }
+  #endif
 #endif
 
 #if !HAS_BED_PROBE
diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h
index ce657f24a63d..84118729a2de 100644
--- a/Marlin/src/inc/SanityCheck.h
+++ b/Marlin/src/inc/SanityCheck.h
@@ -700,6 +700,8 @@
   #error "DEFAULT_STEPPER_DEACTIVE_TIME is now DEFAULT_STEPPER_TIMEOUT_SEC."
 #elif defined(TFT_SHARED_SPI)
   #error "TFT_SHARED_SPI is now TFT_SHARED_IO."
+#elif defined(LCD_PINS_ENABLE)
+  #error "LCD_PINS_ENABLE is now LCD_PINS_EN."
 #endif
 
 // L64xx stepper drivers have been removed
@@ -1893,9 +1895,15 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
       #endif
     #endif
 
-    #if ENABLED(BLTOUCH_HS_MODE) && BLTOUCH_HS_MODE == 0
-      #error "BLTOUCH_HS_MODE must now be defined as true or false, indicating the default state."
+    #if HAS_BLTOUCH_HS_MODE
+      constexpr char hs[] = STRINGIFY(BLTOUCH_HS_MODE);
+      static_assert(!(strcmp(hs, "1") && strcmp(hs, "true") && strcmp(hs, "0") && strcmp(hs, "false")), \
+        "BLTOUCH_HS_MODE must now be defined as true or false, indicating the default state.");
+      #ifdef BLTOUCH_HS_EXTRA_CLEARANCE
+        static_assert(BLTOUCH_HS_EXTRA_CLEARANCE > 0, "BLTOUCH_HS_MODE requires a positive BLTOUCH_HS_EXTRA_CLEARANCE.");
+      #endif
     #endif
+
     #if BLTOUCH_DELAY < 200
       #error "BLTOUCH_DELAY less than 200 is unsafe and is not supported."
     #endif
@@ -2644,8 +2652,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
       #error "TEMP_SENSOR_2 is required with 3 or more HOTENDS."
     #elif !HAS_HEATER_2
       #error "HEATER_2_PIN not defined for this board."
-    #elif !PIN_EXISTS(TEMP_2) && !TEMP_SENSOR_2_IS_DUMMY
-      #error "TEMP_2_PIN not defined for this board."
+    #elif !ANY_PIN(TEMP_2, TEMP_2_CS) && !TEMP_SENSOR_2_IS_DUMMY
+      #error "TEMP_2_PIN or TEMP_2_CS_PIN not defined for this board."
     #endif
     #if HOTENDS > 3
       #if TEMP_SENSOR_3 == 0
@@ -3274,7 +3282,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
 #endif
 
 /**
- * Ender 3 V2 controller has some limitations
+ * Ender-3 V2 controller has some limitations
  */
 #if ENABLED(DWIN_CREALITY_LCD)
   #if DISABLED(SDSUPPORT)
diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h
index 2140a73690fb..050196ca9050 100644
--- a/Marlin/src/inc/Version.h
+++ b/Marlin/src/inc/Version.h
@@ -42,7 +42,7 @@
  * version was tagged.
  */
 #ifndef STRING_DISTRIBUTION_DATE
-  #define STRING_DISTRIBUTION_DATE "2023-04-01"
+  #define STRING_DISTRIBUTION_DATE "2023-04-12"
 #endif
 
 /**
diff --git a/Marlin/src/lcd/HD44780/marlinui_HD44780.cpp b/Marlin/src/lcd/HD44780/marlinui_HD44780.cpp
index 416c07c8f72b..e4c0317d1239 100644
--- a/Marlin/src/lcd/HD44780/marlinui_HD44780.cpp
+++ b/Marlin/src/lcd/HD44780/marlinui_HD44780.cpp
@@ -108,7 +108,7 @@
 #else
 
   // Standard direct-connected LCD implementations
-  LCD_CLASS lcd(LCD_PINS_RS, LCD_PINS_ENABLE, LCD_PINS_D4, LCD_PINS_D5, LCD_PINS_D6, LCD_PINS_D7);
+  LCD_CLASS lcd(LCD_PINS_RS, LCD_PINS_EN, LCD_PINS_D4, LCD_PINS_D5, LCD_PINS_D6, LCD_PINS_D7);
 
 #endif
 
diff --git a/Marlin/src/lcd/dogm/marlinui_DOGM.h b/Marlin/src/lcd/dogm/marlinui_DOGM.h
index f70621574c33..2b9eb64a57cc 100644
--- a/Marlin/src/lcd/dogm/marlinui_DOGM.h
+++ b/Marlin/src/lcd/dogm/marlinui_DOGM.h
@@ -36,17 +36,15 @@
 
   // RepRapWorld Graphical LCD
 
-
-  #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SD_SCK_PIN) && (LCD_PINS_ENABLE == SD_MOSI_PIN)
+  #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SD_SCK_PIN) && (LCD_PINS_EN == SD_MOSI_PIN)
     #define U8G_CLASS U8GLIB_ST7920_128X64_4X_HAL
     #define U8G_PARAM LCD_PINS_RS
   #elif ENABLED(SDSUPPORT) && __SAMD21__
-
     #define U8G_CLASS U8GLIB_ST7920_128X64_4X
     #define U8G_PARAM LCD_PINS_RS
   #else
     #define U8G_CLASS U8GLIB_ST7920_128X64_4X
-    #define U8G_PARAM LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS
+    #define U8G_PARAM LCD_PINS_D4, LCD_PINS_EN, LCD_PINS_RS
   #endif
 
 #elif IS_U8GLIB_ST7920
@@ -54,7 +52,7 @@
   // RepRap Discount Full Graphics Smart Controller
   // and other variant LCDs using ST7920
 
-  #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SD_SCK_PIN) && (LCD_PINS_ENABLE == SD_MOSI_PIN)
+  #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SD_SCK_PIN) && (LCD_PINS_EN == SD_MOSI_PIN)
     #define U8G_CLASS U8GLIB_ST7920_128X64_4X_HAL               // 2 stripes, HW SPI (Shared with SD card. Non-standard LCD adapter on AVR.)
     #define U8G_PARAM LCD_PINS_RS
   #else
@@ -63,7 +61,7 @@
     #else
       #define U8G_CLASS U8GLIB_ST7920_128X64_RRD                // Adjust stripes with PAGE_HEIGHT in ultralcd_st7920_u8glib_rrd.h
     #endif
-    #define U8G_PARAM LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS // AVR version ignores these pin settings
+    #define U8G_PARAM LCD_PINS_D4, LCD_PINS_EN, LCD_PINS_RS // AVR version ignores these pin settings
                                                                 // HAL version uses these pin settings
   #endif
 
diff --git a/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.h b/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.h
index 446bfcfd4212..9a565fc2efb9 100644
--- a/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.h
+++ b/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.h
@@ -28,7 +28,7 @@
 #include "../../HAL/shared/Delay.h"
 
 #define ST7920_CLK_PIN  LCD_PINS_D4
-#define ST7920_DAT_PIN  LCD_PINS_ENABLE
+#define ST7920_DAT_PIN  LCD_PINS_EN
 #define ST7920_CS_PIN   LCD_PINS_RS
 
 //#define PAGE_HEIGHT 8   // 128 byte framebuffer
diff --git a/Marlin/src/lcd/e3v2/README.md b/Marlin/src/lcd/e3v2/README.md
index 91f25e2433bf..09055d03a492 100644
--- a/Marlin/src/lcd/e3v2/README.md
+++ b/Marlin/src/lcd/e3v2/README.md
@@ -1,6 +1,6 @@
-# DWIN for Creality Ender 3 v2
+# DWIN for Creality Ender-3 v2
 
-Marlin's Ender 3 v2 support requires the `DWIN_SET` included with the Ender 3 V2 [example configuration](https://github.com/MarlinFirmware/Configurations/tree/bugfix-2.1.x/config/examples/Creality/Ender-3%20V2).
+Marlin's Ender-3 v2 support requires the `DWIN_SET` included with the Ender-3 V2 [example configuration](https://github.com/MarlinFirmware/Configurations/tree/bugfix-2.1.x/config/examples/Creality/Ender-3%20V2).
 
 ## Easy Install
 
diff --git a/Marlin/src/lcd/e3v2/creality/dwin.cpp b/Marlin/src/lcd/e3v2/creality/dwin.cpp
index 459b00ae1b1e..02bfa624fa30 100644
--- a/Marlin/src/lcd/e3v2/creality/dwin.cpp
+++ b/Marlin/src/lcd/e3v2/creality/dwin.cpp
@@ -2243,7 +2243,7 @@ void HMI_SelectFile() {
       card.openAndPrintFile(card.filename);
 
       #if HAS_FAN
-        // All fans on for Ender 3 v2 ?
+        // All fans on for Ender-3 v2 ?
         // The slicer should manage this for us.
         //for (uint8_t i = 0; i < FAN_COUNT; i++)
         //  thermalManager.fan_speed[i] = 255;
diff --git a/Marlin/src/lcd/e3v2/jyersui/README.md b/Marlin/src/lcd/e3v2/jyersui/README.md
index 91f25e2433bf..09055d03a492 100644
--- a/Marlin/src/lcd/e3v2/jyersui/README.md
+++ b/Marlin/src/lcd/e3v2/jyersui/README.md
@@ -1,6 +1,6 @@
-# DWIN for Creality Ender 3 v2
+# DWIN for Creality Ender-3 v2
 
-Marlin's Ender 3 v2 support requires the `DWIN_SET` included with the Ender 3 V2 [example configuration](https://github.com/MarlinFirmware/Configurations/tree/bugfix-2.1.x/config/examples/Creality/Ender-3%20V2).
+Marlin's Ender-3 v2 support requires the `DWIN_SET` included with the Ender-3 V2 [example configuration](https://github.com/MarlinFirmware/Configurations/tree/bugfix-2.1.x/config/examples/Creality/Ender-3%20V2).
 
 ## Easy Install
 
diff --git a/Marlin/src/lcd/e3v2/marlinui/ui_status_480x272.cpp b/Marlin/src/lcd/e3v2/marlinui/ui_status_480x272.cpp
index 680173bd12f7..5ec94b853f10 100644
--- a/Marlin/src/lcd/e3v2/marlinui/ui_status_480x272.cpp
+++ b/Marlin/src/lcd/e3v2/marlinui/ui_status_480x272.cpp
@@ -262,7 +262,7 @@ FORCE_INLINE void _draw_feedrate_status(const char *value, uint16_t x, uint16_t
 }
 
 /**
- * Draw the MarlinUI Status Screen for Ender 3 V2
+ * Draw the MarlinUI Status Screen for Ender-3 V2
  */
 void MarlinUI::draw_status_screen() {
   const bool blink = get_blink();
diff --git a/Marlin/src/lcd/e3v2/proui/base64.hpp b/Marlin/src/lcd/e3v2/proui/base64.hpp
index d82d0b27e8ac..a51cca7c52ec 100644
--- a/Marlin/src/lcd/e3v2/proui/base64.hpp
+++ b/Marlin/src/lcd/e3v2/proui/base64.hpp
@@ -5,7 +5,7 @@
  * Author: Densaugeo
  * Maintainer: Densaugeo
  * Version: 1.2.1.1
- * Changed unsigned int to uint16_t for use in the professional Ender 3V2/S1 firmware
+ * Changed unsigned int to uint16_t for use in the professional Ender-3V2/S1 firmware
  * Url: https://www.arduino.cc/reference/en/libraries/base64/
  */
 
diff --git a/Marlin/src/lcd/e3v2/proui/dwin.cpp b/Marlin/src/lcd/e3v2/proui/dwin.cpp
index adc6fca72aa6..af157921d511 100644
--- a/Marlin/src/lcd/e3v2/proui/dwin.cpp
+++ b/Marlin/src/lcd/e3v2/proui/dwin.cpp
@@ -2211,10 +2211,8 @@ void SetMoveZ() { HMI_value.axis = Z_AXIS; SetPFloatOnClick(Z_MIN_POS, Z_MAX_POS
   void ProbeStow() { probe.stow(); }
   void ProbeDeploy() { probe.deploy(); }
 
-  #if ENABLED(BLTOUCH_HS_MODE)
-    void SetHSMode() {
-      Toggle_Chkb_Line(bltouch.high_speed_mode);
-    }
+  #if HAS_BLTOUCH_HS_MODE
+    void SetHSMode() { Toggle_Chkb_Line(bltouch.high_speed_mode); }
   #endif
 
 #endif
@@ -3184,7 +3182,7 @@ void Draw_Move_Menu() {
         MENU_ITEM(ICON_ProbeStow, MSG_MANUAL_STOW, onDrawMenuItem, ProbeStow);
         MENU_ITEM(ICON_ProbeDeploy, MSG_MANUAL_DEPLOY, onDrawMenuItem, ProbeDeploy);
         MENU_ITEM(ICON_BltouchReset, MSG_BLTOUCH_RESET, onDrawMenuItem, bltouch._reset);
-        #if ENABLED(BLTOUCH_HS_MODE)
+        #if HAS_BLTOUCH_HS_MODE
           EDIT_ITEM(ICON_HSMode, MSG_ENABLE_HS_MODE, onDrawChkbMenu, SetHSMode, &bltouch.high_speed_mode);
         #endif
       #endif
diff --git a/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft.cpp b/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft.cpp
index e9e80101f6cf..81af2e6e2045 100644
--- a/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft.cpp
+++ b/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft.cpp
@@ -152,7 +152,7 @@ namespace Anycubic {
 
     // Enable levelling and Disable end stops during print
     // as Z home places nozzle above the bed so we need to allow it past the end stops
-    injectCommands_P(AC_cmnd_enable_levelling);
+    injectCommands(AC_cmnd_enable_leveling);
 
     // Startup tunes are defined in Tunes.h
     //PlayTune(BEEPER_PIN, Anycubic_PowerOn, 1);
@@ -1299,7 +1299,7 @@ namespace Anycubic {
             #if ENABLED(POWER_LOSS_RECOVERY)
               if (printer_state == AC_printer_resuming_from_power_outage) {
                 // Need to home here to restore the Z position
-                //injectCommands_P(AC_cmnd_power_loss_recovery);
+                //injectCommands(AC_cmnd_power_loss_recovery);
                 //SERIAL_ECHOLNPGM("start resuming from power outage: ", AC_cmnd_power_loss_recovery);
                 ChangePageOfTFT(PAGE_STATUS2);    // show pause
                 injectCommands(F("M1000"));       // home and start recovery
@@ -2280,11 +2280,11 @@ namespace Anycubic {
       if (!isPrinting()) {
         if (filament_status == 1) {
           if (canMove(E0) && !commandsInQueue())
-            injectCommands_P(AC_cmnd_manual_load_filament);
+            injectCommands(AC_cmnd_manual_load_filament);
         }
         else if (filament_status == 2) {
           if (canMove(E0) && !commandsInQueue())
-            injectCommands_P(AC_cmnd_manual_unload_filament);
+            injectCommands(AC_cmnd_manual_unload_filament);
         }
       }
     }
diff --git a/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft_defs.h b/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft_defs.h
index dc187690e387..72e812b965cb 100644
--- a/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft_defs.h
+++ b/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft_defs.h
@@ -104,13 +104,14 @@
 #define MARLIN_msg_filament_purging    PSTR("Filament Purging...")
 #define MARLIN_msg_media_removed       PSTR("Media Removed")
 #define MARLIN_msg_special_pause       PSTR("PB")
-#define AC_cmnd_auto_unload_filament   PSTR("M701")                    // Use Marlin unload routine
-#define AC_cmnd_auto_load_filament     PSTR("M702 M0 PB")              // Use Marlin load routing then pause for user to clean nozzle
 
-#define AC_cmnd_manual_load_filament   PSTR("M83\nG1 E50 F700\nM82")   // replace the manual panel commands with something a little faster
-#define AC_cmnd_manual_unload_filament PSTR("M83\nG1 E-50 F1200\nM82")
-#define AC_cmnd_enable_levelling       PSTR("M420 S1 V1")
-#define AC_cmnd_power_loss_recovery    PSTR("G28 R5 X Y\nG28 Z")       // Lift, home X and Y then home Z when in 'safe' position
+#define AC_cmnd_auto_unload_filament   F("M701")                    // Use Marlin unload routine
+#define AC_cmnd_auto_load_filament     F("M702 M0 PB")              // Use Marlin load routing then pause for user to clean nozzle
+
+#define AC_cmnd_manual_load_filament   F("M83\nG1 E50 F700\nM82")   // replace the manual panel commands with something a little faster
+#define AC_cmnd_manual_unload_filament F("M83\nG1 E-50 F1200\nM82")
+#define AC_cmnd_enable_leveling        F("M420SV")
+#define AC_cmnd_power_loss_recovery    F("G28XYR5\nG28Z")           // Lift, home X and Y then home Z when in 'safe' position
 
 namespace Anycubic {
   enum heater_state_t : uint8_t {
diff --git a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/pin_mappings.h b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/pin_mappings.h
index 34026f4a26e6..167ea9d7cf17 100644
--- a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/pin_mappings.h
+++ b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/pin_mappings.h
@@ -42,13 +42,13 @@
 #elif ENABLED(CR10_TFT_PINMAP)          // FYSETC S6 - STM32F4 - with TOUCH_UI_ULTIPANEL
 
   #define CLCD_USE_SOFT_SPI
-  #define CLCD_SOFT_SPI_SCLK             LCD_PINS_D4      // PORTA1               Pin 6
-  #define CLCD_SOFT_SPI_MOSI             LCD_PINS_ENABLE  // PORTC1               Pin 8
-  #define CLCD_SPI_CS                    LCD_PINS_RS      // PORTA3               Pin 7
-  #define CLCD_SOFT_SPI_MISO             16               // PORTC0   BTN_ENC     Pin 2
-  #define CLCD_MOD_RESET                 11               // PORTD3   BTN_EN1     Pin 3
-  #define CLCD_AUX_0                     10               // PORTD2   BTN_EN2     Pin 5
-  #define CLCD_AUX_1                     BEEPER_PIN       // PORTA4               Pin 1
+  #define CLCD_SOFT_SPI_SCLK             LCD_PINS_D4  // PORTA1               Pin 6
+  #define CLCD_SOFT_SPI_MOSI             LCD_PINS_EN  // PORTC1               Pin 8
+  #define CLCD_SPI_CS                    LCD_PINS_RS  // PORTA3               Pin 7
+  #define CLCD_SOFT_SPI_MISO             16           // PORTC0   BTN_ENC     Pin 2
+  #define CLCD_MOD_RESET                 11           // PORTD3   BTN_EN1     Pin 3
+  #define CLCD_AUX_0                     10           // PORTD2   BTN_EN2     Pin 5
+  #define CLCD_AUX_1                     BEEPER_PIN   // PORTA4               Pin 1
 
 #elif ENABLED(AO_EXP1_DEPRECATED_PINMAP)
 
@@ -60,7 +60,7 @@
   #define CLCD_MOD_RESET                 LCD_PINS_D4
   #define CLCD_SPI_CS                    LCD_PINS_D5
 
-  #define CLCD_AUX_0                     LCD_PINS_ENABLE
+  #define CLCD_AUX_0                     LCD_PINS_EN
   #define CLCD_AUX_1                     BTN_ENC
   #define CLCD_AUX_2                     BEEPER_PIN
 
@@ -93,7 +93,7 @@
    *         functionality over software SPI.
    */
 
-  #define CLCD_MOD_RESET                 LCD_PINS_ENABLE
+  #define CLCD_MOD_RESET                 LCD_PINS_EN
   #define CLCD_SPI_CS                    LCD_PINS_D4
 
   #define CLCD_USE_SOFT_SPI
diff --git a/Marlin/src/lcd/extui/mks_ui/SPIFlashStorage.cpp b/Marlin/src/lcd/extui/mks_ui/SPIFlashStorage.cpp
index 6508f6f02473..43149dc60c58 100644
--- a/Marlin/src/lcd/extui/mks_ui/SPIFlashStorage.cpp
+++ b/Marlin/src/lcd/extui/mks_ui/SPIFlashStorage.cpp
@@ -148,7 +148,7 @@ uint32_t SPIFlashStorage::m_startAddress;
 
 #endif // HAS_SPI_FLASH_COMPRESSION
 
-void SPIFlashStorage::beginWrite(uint32_t startAddress) {
+void SPIFlashStorage::beginWrite(const uint32_t startAddress) {
   m_pageDataUsed = 0;
   m_currentPage = 0;
   m_startAddress = startAddress;
@@ -171,7 +171,7 @@ void SPIFlashStorage::endWrite() {
   #endif
 }
 
-void SPIFlashStorage::savePage(uint8_t *buffer) {
+void SPIFlashStorage::savePage(uint8_t * const buffer) {
   W25QXX.SPI_FLASH_BufferWrite(buffer, m_startAddress + (SPI_FLASH_PageSize * m_currentPage), SPI_FLASH_PageSize);
   // Test env
   // char fname[256];
@@ -181,7 +181,7 @@ void SPIFlashStorage::savePage(uint8_t *buffer) {
   // fclose(fp);
 }
 
-void SPIFlashStorage::loadPage(uint8_t *buffer) {
+void SPIFlashStorage::loadPage(uint8_t * const buffer) {
   W25QXX.SPI_FLASH_BufferRead(buffer, m_startAddress + (SPI_FLASH_PageSize * m_currentPage), SPI_FLASH_PageSize);
   // Test env
   // char fname[256];
@@ -260,7 +260,7 @@ void SPIFlashStorage::readPage() {
   #endif
 }
 
-uint16_t SPIFlashStorage::inData(uint8_t *data, uint16_t size) {
+uint16_t SPIFlashStorage::inData(const uint8_t * const data, uint16_t size) {
   // Don't write more than we can
   NOMORE(size, pageDataFree());
   memcpy(m_pageData + m_pageDataUsed, data, size);
@@ -268,12 +268,12 @@ uint16_t SPIFlashStorage::inData(uint8_t *data, uint16_t size) {
   return size;
 }
 
-void SPIFlashStorage::writeData(uint8_t *data, uint16_t size) {
+void SPIFlashStorage::writeData(const uint8_t *data, uint16_t size) {
   // Flush a page if needed
   if (pageDataFree() == 0) flushPage();
 
   while (size > 0) {
-    uint16_t written = inData(data, size);
+    const uint16_t written = inData(data, size);
     size -= written;
     // Need to write more? Flush page and continue!
     if (size > 0) {
@@ -283,7 +283,7 @@ void SPIFlashStorage::writeData(uint8_t *data, uint16_t size) {
   }
 }
 
-void SPIFlashStorage::beginRead(uint32_t startAddress) {
+void SPIFlashStorage::beginRead(const uint32_t startAddress) {
   m_startAddress = startAddress;
   m_currentPage = 0;
   // Nothing in memory now
@@ -293,7 +293,7 @@ void SPIFlashStorage::beginRead(uint32_t startAddress) {
   #endif
 }
 
-uint16_t SPIFlashStorage::outData(uint8_t *data, uint16_t size) {
+uint16_t SPIFlashStorage::outData(uint8_t * const data, uint16_t size) {
   // Don't read more than we have
   NOMORE(size, pageDataFree());
   memcpy(data, m_pageData + m_pageDataUsed, size);
@@ -306,7 +306,7 @@ void SPIFlashStorage::readData(uint8_t *data, uint16_t size) {
   if (pageDataFree() == 0) readPage();
 
   while (size > 0) {
-    uint16_t read = outData(data, size);
+    const uint16_t read = outData(data, size);
     size -= read;
     // Need to write more? Flush page and continue!
     if (size > 0) {
diff --git a/Marlin/src/lcd/extui/mks_ui/SPIFlashStorage.h b/Marlin/src/lcd/extui/mks_ui/SPIFlashStorage.h
index 72394286ac58..bd7109b7acbd 100644
--- a/Marlin/src/lcd/extui/mks_ui/SPIFlashStorage.h
+++ b/Marlin/src/lcd/extui/mks_ui/SPIFlashStorage.h
@@ -75,23 +75,23 @@
 class SPIFlashStorage {
 public:
   // Write operation
-  static void beginWrite(uint32_t startAddress);
+  static void beginWrite(const uint32_t startAddress);
   static void endWrite();
-  static void writeData(uint8_t *data, uint16_t size);
+  static void writeData(const uint8_t *data, uint16_t size);
 
   // Read operation
-  static void beginRead(uint32_t startAddress);
+  static void beginRead(const uint32_t startAddress);
   static void readData(uint8_t *data, uint16_t size);
 
   static uint32_t getCurrentPage() { return m_currentPage; }
 
 private:
   static void flushPage();
-  static void savePage(uint8_t *buffer);
-  static void loadPage(uint8_t *buffer);
+  static void savePage(uint8_t * const buffer);
+  static void loadPage(uint8_t * const buffer);
   static void readPage();
-  static uint16_t inData(uint8_t *data, uint16_t size);
-  static uint16_t outData(uint8_t *data, uint16_t size);
+  static uint16_t inData(const uint8_t * const data, uint16_t size);
+  static uint16_t outData(uint8_t * const data, uint16_t size);
 
   static uint8_t m_pageData[SPI_FLASH_PageSize];
   static uint32_t m_currentPage;
diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp
index e50cd69f6302..4dce109b4277 100644
--- a/Marlin/src/lcd/menu/menu_configuration.cpp
+++ b/Marlin/src/lcd/menu/menu_configuration.cpp
@@ -243,7 +243,7 @@ void menu_advanced_settings();
     ACTION_ITEM(MSG_BLTOUCH_DEPLOY, bltouch._deploy);
     ACTION_ITEM(MSG_BLTOUCH_STOW, bltouch._stow);
     ACTION_ITEM(MSG_BLTOUCH_SW_MODE, bltouch._set_SW_mode);
-    #ifdef BLTOUCH_HS_MODE
+    #if HAS_BLTOUCH_HS_MODE
       EDIT_ITEM(bool, MSG_BLTOUCH_SPEED_MODE, &bltouch.high_speed_mode);
     #endif
     #if ENABLED(BLTOUCH_LCD_VOLTAGE_MENU)
diff --git a/Marlin/src/libs/BL24CXX.h b/Marlin/src/libs/BL24CXX.h
index b069c196c035..654ceffc3e54 100644
--- a/Marlin/src/libs/BL24CXX.h
+++ b/Marlin/src/libs/BL24CXX.h
@@ -23,7 +23,7 @@
 
 /********************************************************************************
  * @file     BL24CXX.h
- * @brief    i2c EEPROM for Ender 3 v2 board (4.2.2)
+ * @brief    i2c EEPROM for Ender-3 v2 board (4.2.2)
  ********************************************************************************/
 
 /******************** IIC ********************/
diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp
index 61cbef068e2d..d5d9ca8d346f 100644
--- a/Marlin/src/module/motion.cpp
+++ b/Marlin/src/module/motion.cpp
@@ -792,12 +792,19 @@ void do_blocking_move_to_x(const_float_t rx, const_feedRate_t fr_mm_s/*=0.0*/) {
       fr_mm_s
     );
   }
-  void do_z_clearance(const_float_t zclear, const bool lower_allowed/*=false*/) {
-    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("do_z_clearance(", zclear, ", ", lower_allowed, ")");
-    const float zdest = _MIN(zclear, Z_MAX_POS);
-    if (zdest == current_position.z || (!lower_allowed && zdest < current_position.z)) return;
+  void do_z_clearance(const_float_t zclear, const bool with_probe/*=true*/, const bool lower_allowed/*=false*/) {
+    UNUSED(with_probe);
+    float zdest = zclear;
+    TERN_(HAS_BED_PROBE, if (with_probe && probe.offset.z < 0) zdest -= probe.offset.z);
+    NOMORE(zdest, Z_MAX_POS);
+    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("do_z_clearance(", zclear, " [", current_position.z, " to ", zdest, "], ", lower_allowed, ")");
+    if ((!lower_allowed && zdest < current_position.z) || zdest == current_position.z) return;
     do_blocking_move_to_z(zdest, TERN(HAS_BED_PROBE, z_probe_fast_mm_s, homing_feedrate(Z_AXIS)));
   }
+  void do_z_clearance_by(const_float_t zclear) {
+    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("do_z_clearance_by(", zclear, ")");
+    do_z_clearance(current_position.z + zclear, false);
+  }
 #endif
 
 //
@@ -807,6 +814,7 @@ void do_blocking_move_to_x(const_float_t rx, const_feedRate_t fr_mm_s/*=0.0*/) {
 static float saved_feedrate_mm_s;
 static int16_t saved_feedrate_percentage;
 void remember_feedrate_and_scaling() {
+  if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("remember_feedrate_and_scaling: fr=", feedrate_mm_s, " ", feedrate_percentage, "%");
   saved_feedrate_mm_s = feedrate_mm_s;
   saved_feedrate_percentage = feedrate_percentage;
 }
@@ -817,6 +825,7 @@ void remember_feedrate_scaling_off() {
 void restore_feedrate_and_scaling() {
   feedrate_mm_s = saved_feedrate_mm_s;
   feedrate_percentage = saved_feedrate_percentage;
+  if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("restore_feedrate_and_scaling: fr=", feedrate_mm_s, " ", feedrate_percentage, "%");
 }
 
 #if HAS_SOFTWARE_ENDSTOPS
@@ -1952,72 +1961,72 @@ void prepare_line_to_destination() {
           case X_AXIS:
             phasePerUStep = PHASE_PER_MICROSTEP(X);
             phaseCurrent = stepperX.get_microstep_counter();
-            effectorBackoutDir = -X_HOME_DIR;
-            stepperBackoutDir = IF_DISABLED(INVERT_X_DIR, -)effectorBackoutDir;
+            effectorBackoutDir = -(X_HOME_DIR);
+            stepperBackoutDir = TERN_(INVERT_X_DIR, -)(-effectorBackoutDir);
             break;
         #endif
         #ifdef Y_MICROSTEPS
           case Y_AXIS:
             phasePerUStep = PHASE_PER_MICROSTEP(Y);
             phaseCurrent = stepperY.get_microstep_counter();
-            effectorBackoutDir = -Y_HOME_DIR;
-            stepperBackoutDir = IF_DISABLED(INVERT_Y_DIR, -)effectorBackoutDir;
+            effectorBackoutDir = -(Y_HOME_DIR);
+            stepperBackoutDir = TERN_(INVERT_Y_DIR, -)(-effectorBackoutDir);
             break;
         #endif
         #ifdef Z_MICROSTEPS
           case Z_AXIS:
             phasePerUStep = PHASE_PER_MICROSTEP(Z);
             phaseCurrent = stepperZ.get_microstep_counter();
-            effectorBackoutDir = -Z_HOME_DIR;
-            stepperBackoutDir = IF_DISABLED(INVERT_Z_DIR, -)effectorBackoutDir;
+            effectorBackoutDir = -(Z_HOME_DIR);
+            stepperBackoutDir = TERN_(INVERT_Z_DIR, -)(-effectorBackoutDir);
             break;
         #endif
         #ifdef I_MICROSTEPS
           case I_AXIS:
             phasePerUStep = PHASE_PER_MICROSTEP(I);
             phaseCurrent = stepperI.get_microstep_counter();
-            effectorBackoutDir = -I_HOME_DIR;
-            stepperBackoutDir = IF_DISABLED(INVERT_I_DIR, -)effectorBackoutDir;
+            effectorBackoutDir = -(I_HOME_DIR);
+            stepperBackoutDir = TERN_(INVERT_I_DIR, -)(-effectorBackoutDir);
             break;
         #endif
         #ifdef J_MICROSTEPS
           case J_AXIS:
             phasePerUStep = PHASE_PER_MICROSTEP(J);
             phaseCurrent = stepperJ.get_microstep_counter();
-            effectorBackoutDir = -J_HOME_DIR;
-            stepperBackoutDir = IF_DISABLED(INVERT_J_DIR, -)effectorBackoutDir;
+            effectorBackoutDir = -(J_HOME_DIR);
+            stepperBackoutDir = TERN_(INVERT_J_DIR, -)(-effectorBackoutDir);
             break;
         #endif
         #ifdef K_MICROSTEPS
           case K_AXIS:
             phasePerUStep = PHASE_PER_MICROSTEP(K);
             phaseCurrent = stepperK.get_microstep_counter();
-            effectorBackoutDir = -K_HOME_DIR;
-            stepperBackoutDir = IF_DISABLED(INVERT_K_DIR, -)effectorBackoutDir;
+            effectorBackoutDir = -(K_HOME_DIR);
+            stepperBackoutDir = TERN_(INVERT_K_DIR, -)(-effectorBackoutDir);
             break;
         #endif
         #ifdef U_MICROSTEPS
           case U_AXIS:
             phasePerUStep = PHASE_PER_MICROSTEP(U);
             phaseCurrent = stepperU.get_microstep_counter();
-            effectorBackoutDir = -U_HOME_DIR;
-            stepperBackoutDir = IF_DISABLED(INVERT_U_DIR, -)effectorBackoutDir;
+            effectorBackoutDir = -(U_HOME_DIR);
+            stepperBackoutDir = TERN_(INVERT_U_DIR, -)(-effectorBackoutDir);
             break;
         #endif
         #ifdef V_MICROSTEPS
           case V_AXIS:
             phasePerUStep = PHASE_PER_MICROSTEP(V);
             phaseCurrent = stepperV.get_microstep_counter();
-            effectorBackoutDir = -V_HOME_DIR;
-            stepperBackoutDir = IF_DISABLED(INVERT_V_DIR, -)effectorBackoutDir;
+            effectorBackoutDir = -(V_HOME_DIR);
+            stepperBackoutDir = TERN_(INVERT_V_DIR, -)(-effectorBackoutDir);
             break;
         #endif
         #ifdef W_MICROSTEPS
           case W_AXIS:
             phasePerUStep = PHASE_PER_MICROSTEP(W);
             phaseCurrent = stepperW.get_microstep_counter();
-            effectorBackoutDir = -W_HOME_DIR;
-            stepperBackoutDir = IF_DISABLED(INVERT_W_DIR, -)effectorBackoutDir;
+            effectorBackoutDir = -(W_HOME_DIR);
+            stepperBackoutDir = TERN_(INVERT_W_DIR, -)(-effectorBackoutDir);
             break;
         #endif
         default: return;
@@ -2149,12 +2158,12 @@ void prepare_line_to_destination() {
     if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Home Fast: ", move_length, "mm");
     do_homing_move(axis, move_length, 0.0, !use_probe_bump);
 
-    #if BOTH(HOMING_Z_WITH_PROBE, BLTOUCH)
-      if (axis == Z_AXIS && !bltouch.high_speed_mode) bltouch.stow(); // Intermediate STOW (in LOW SPEED MODE)
-    #endif
-
     // If a second homing move is configured...
     if (bump) {
+      #if BOTH(HOMING_Z_WITH_PROBE, BLTOUCH)
+        if (axis == Z_AXIS && !bltouch.high_speed_mode) bltouch.stow(); // Intermediate STOW (in LOW SPEED MODE)
+      #endif
+
       // Move away from the endstop by the axis HOMING_BUMP_MM
       if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Move Away: ", -bump, "mm");
       do_homing_move(axis, -bump, TERN(HOMING_Z_WITH_PROBE, (axis == Z_AXIS ? z_probe_fast_mm_s : 0), 0), false);
@@ -2205,12 +2214,12 @@ void prepare_line_to_destination() {
       const float rebump = bump * 2;
       if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Re-bump: ", rebump, "mm");
       do_homing_move(axis, rebump, get_homing_bump_feedrate(axis), true);
-
-      #if BOTH(HOMING_Z_WITH_PROBE, BLTOUCH)
-        if (axis == Z_AXIS) bltouch.stow(); // The final STOW
-      #endif
     }
 
+    #if BOTH(HOMING_Z_WITH_PROBE, BLTOUCH)
+      if (axis == Z_AXIS) bltouch.stow(); // The final STOW
+    #endif
+
     #if HAS_EXTRA_ENDSTOPS
       const bool pos_dir = axis_home_dir > 0;
       #if ENABLED(X_DUAL_ENDSTOPS)
@@ -2458,15 +2467,10 @@ void set_axis_is_at_home(const AxisEnum axis) {
   #if HAS_BED_PROBE && Z_HOME_TO_MIN
     if (axis == Z_AXIS) {
       #if HOMING_Z_WITH_PROBE
-
         current_position.z -= probe.offset.z;
-
         if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("*** Z HOMED WITH PROBE (Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) ***\n> probe.offset.z = ", probe.offset.z);
-
       #else
-
         if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("*** Z HOMED TO ENDSTOP ***");
-
       #endif
     }
   #endif
diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h
index 611d3a17bdca..c93b1ef205e2 100644
--- a/Marlin/src/module/motion.h
+++ b/Marlin/src/module/motion.h
@@ -403,9 +403,11 @@ void remember_feedrate_scaling_off();
 void restore_feedrate_and_scaling();
 
 #if HAS_Z_AXIS
-  void do_z_clearance(const_float_t zclear, const bool lower_allowed=false);
+  void do_z_clearance(const_float_t zclear, const bool with_probe=true, const bool lower_allowed=false);
+  void do_z_clearance_by(const_float_t zclear);
 #else
-  inline void do_z_clearance(float, bool=false) {}
+  inline void do_z_clearance(float, bool=true, bool=false) {}
+  inline void do_z_clearance_by(float) {}
 #endif
 
 /**
@@ -434,26 +436,21 @@ void set_axis_is_at_home(const AxisEnum axis);
   void set_axis_never_homed(const AxisEnum axis);
   main_axes_bits_t axes_should_home(main_axes_bits_t axes_mask=main_axes_mask);
   bool homing_needed_error(main_axes_bits_t axes_mask=main_axes_mask);
-  inline void set_axis_unhomed(const AxisEnum axis)   { CBI(axes_homed, axis); }
-  inline void set_axis_untrusted(const AxisEnum axis) { CBI(axes_trusted, axis); }
-  inline void set_all_unhomed()                       { axes_homed = axes_trusted = 0; }
-  inline void set_axis_homed(const AxisEnum axis)     { SBI(axes_homed, axis); }
-  inline void set_axis_trusted(const AxisEnum axis)   { SBI(axes_trusted, axis); }
-  inline void set_all_homed()                         { axes_homed = axes_trusted = main_axes_mask; }
 #else
   constexpr main_axes_bits_t axes_homed = main_axes_mask, axes_trusted = main_axes_mask; // Zero-endstop machines are always homed and trusted
   inline void homeaxis(const AxisEnum axis)           {}
   inline void set_axis_never_homed(const AxisEnum)    {}
   inline main_axes_bits_t axes_should_home(main_axes_bits_t=main_axes_mask) { return 0; }
   inline bool homing_needed_error(main_axes_bits_t=main_axes_mask) { return false; }
-  inline void set_axis_unhomed(const AxisEnum axis)   {}
-  inline void set_axis_untrusted(const AxisEnum axis) {}
-  inline void set_all_unhomed()                       {}
-  inline void set_axis_homed(const AxisEnum axis)     {}
-  inline void set_axis_trusted(const AxisEnum axis)   {}
-  inline void set_all_homed()                         {}
 #endif
 
+inline void set_axis_unhomed(const AxisEnum axis)     { TERN_(HAS_ENDSTOPS, CBI(axes_homed, axis)); }
+inline void set_axis_untrusted(const AxisEnum axis)   { TERN_(HAS_ENDSTOPS, CBI(axes_trusted, axis)); }
+inline void set_all_unhomed()                         { TERN_(HAS_ENDSTOPS, axes_homed = axes_trusted = 0); }
+inline void set_axis_homed(const AxisEnum axis)       { TERN_(HAS_ENDSTOPS, SBI(axes_homed, axis)); }
+inline void set_axis_trusted(const AxisEnum axis)     { TERN_(HAS_ENDSTOPS, SBI(axes_trusted, axis)); }
+inline void set_all_homed()                           { TERN_(HAS_ENDSTOPS, axes_homed = axes_trusted = main_axes_mask); }
+
 inline bool axis_was_homed(const AxisEnum axis)       { return TEST(axes_homed, axis); }
 inline bool axis_is_trusted(const AxisEnum axis)      { return TEST(axes_trusted, axis); }
 inline bool axis_should_home(const AxisEnum axis)     { return (axes_should_home() & _BV(axis)) != 0; }
diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp
index dadb22fbde9c..ccf27a502ac1 100644
--- a/Marlin/src/module/planner.cpp
+++ b/Marlin/src/module/planner.cpp
@@ -1972,7 +1972,7 @@ bool Planner::_populate_block(
   #if ANY(CORE_IS_XY, MARKFORGED_XY, MARKFORGED_YX)
     if (da < 0) SBI(dm, X_HEAD);                  // Save the toolhead's true direction in X
     if (db < 0) SBI(dm, Y_HEAD);                  // ...and Y
-    if (dc < 0) SBI(dm, Z_AXIS);
+    TERN_(HAS_Z_AXIS, if (dc < 0) SBI(dm, Z_AXIS));
   #endif
   #if IS_CORE
     #if CORE_IS_XY
@@ -2096,7 +2096,7 @@ bool Planner::_populate_block(
   #if ANY(CORE_IS_XY, MARKFORGED_XY, MARKFORGED_YX)
     steps_dist_mm.head.x = da * mm_per_step[A_AXIS];
     steps_dist_mm.head.y = db * mm_per_step[B_AXIS];
-    steps_dist_mm.z      = dc * mm_per_step[Z_AXIS];
+    TERN_(HAS_Z_AXIS, steps_dist_mm.z = dc * mm_per_step[Z_AXIS]);
   #endif
   #if IS_CORE
     #if CORE_IS_XY
@@ -2244,7 +2244,7 @@ bool Planner::_populate_block(
       stepper.enable_axis(X_AXIS);
       stepper.enable_axis(Y_AXIS);
     }
-    #if DISABLED(Z_LATE_ENABLE)
+    #if HAS_Z_AXIS && DISABLED(Z_LATE_ENABLE)
       if (block->steps.z) stepper.enable_axis(Z_AXIS);
     #endif
   #elif CORE_IS_XZ
diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp
index 230fc30db195..0f2fca119c6d 100644
--- a/Marlin/src/module/probe.cpp
+++ b/Marlin/src/module/probe.cpp
@@ -349,17 +349,6 @@ xyz_pos_t Probe::offset; // Initialized by settings.load()
 
 #endif // HAS_QUIET_PROBING
 
-/**
- * Raise Z to a minimum height to make room for a probe to move
- */
-void Probe::do_z_raise(const float z_raise) {
-  if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Probe::do_z_raise(", z_raise, ")");
-  float z_dest = z_raise;
-  const float zoffs = DIFF_TERN(HAS_HOTEND_OFFSET, offset.z, hotend_offset[active_extruder].z);
-  if (zoffs < 0) z_dest -= zoffs;
-  do_z_clearance(z_dest);
-}
-
 FORCE_INLINE void probe_specific_action(const bool deploy) {
   DEBUG_SECTION(log_psa, "Probe::probe_specific_action", DEBUGGING(LEVELING));
   #if ENABLED(PAUSE_BEFORE_DEPLOY_STOW)
@@ -522,8 +511,11 @@ bool Probe::set_deployed(const bool deploy, const bool no_return/*=false*/) {
     constexpr bool z_raise_wanted = true;
   #endif
 
-  if (z_raise_wanted)
-    do_z_raise(_MAX(Z_CLEARANCE_BETWEEN_PROBES, Z_CLEARANCE_DEPLOY_PROBE));
+  if (z_raise_wanted) {
+    const float zdest = DIFF_TERN(HAS_HOTEND_OFFSET, _MAX(Z_CLEARANCE_BETWEEN_PROBES, Z_CLEARANCE_DEPLOY_PROBE), hotend_offset[active_extruder].z);
+    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Raise Z to ", zdest);
+    do_z_clearance(zdest);
+  }
 
   #if EITHER(Z_PROBE_SLED, Z_PROBE_ALLEN_KEY)
     if (homing_needed_error(TERN_(Z_PROBE_SLED, _BV(X_AXIS)))) {
@@ -710,6 +702,10 @@ bool Probe::probe_down_to_z(const_float_t z, const_feedRate_t fr_mm_s) {
  * @details Used by probe_at_point to get the bed Z height at the current XY.
  *          Leaves current_position.z at the height where the probe triggered.
  *
+ * @param sanity_check Flag to compare the probe result with the expected result
+ *                     based on the probe Z offset. If the result is too far away
+ *                     (more than 2mm too early) then consider it an error.
+ *
  * @return The Z position of the bed at the current XY or NAN on error.
  */
 float Probe::run_z_probe(const bool sanity_check/*=true*/) {
@@ -717,22 +713,24 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
 
   const float zoffs = SUM_TERN(HAS_HOTEND_OFFSET, -offset.z, hotend_offset[active_extruder].z);
 
-  auto try_to_probe = [&](PGM_P const plbl, const_float_t z_probe_low_point, const feedRate_t fr_mm_s, const bool scheck, const float clearance) -> bool {
-    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("try_to_probe(..., ", z_probe_low_point, ", ", fr_mm_s, ", ", scheck, ", ", clearance);
+  auto try_to_probe = [&](PGM_P const plbl, const_float_t z_probe_low_point, const feedRate_t fr_mm_s, const bool scheck) -> bool {
+    constexpr float error_tolerance = 2.0f;
+    if (DEBUGGING(LEVELING)) {
+      DEBUG_ECHOPGM_P(plbl);
+      DEBUG_ECHOLNPGM("> try_to_probe(..., ", z_probe_low_point, ", ", fr_mm_s, ", ...)");
+    }
 
     // Tare the probe, if supported
     if (TERN0(PROBE_TARE, tare())) return true;
 
     // Do a first probe at the fast speed
-    const bool probe_fail = probe_down_to_z(z_probe_low_point, fr_mm_s),          // No probe trigger?
-               early_fail = (scheck && current_position.z > zoffs + clearance);   // Probe triggered too high?
+    const bool probe_fail = probe_down_to_z(z_probe_low_point, fr_mm_s),              // No probe trigger?
+               early_fail = (scheck && current_position.z > zoffs + error_tolerance); // Probe triggered too high?
     #if ENABLED(DEBUG_LEVELING_FEATURE)
       if (DEBUGGING(LEVELING) && (probe_fail || early_fail)) {
-        DEBUG_ECHOPGM_P(plbl);
-        DEBUG_ECHOPGM(" Probe fail! -");
-        if (probe_fail) DEBUG_ECHOPGM(" No trigger.");
-        if (early_fail) DEBUG_ECHOPGM(" Triggered early.");
-        DEBUG_EOL();
+        DEBUG_ECHOPGM(" Probe fail! - ");
+        if (probe_fail) DEBUG_ECHOLNPGM("No trigger.");
+        if (early_fail) DEBUG_ECHOLNPGM("Triggered early (above ", zoffs + error_tolerance, "mm)");
       }
     #else
       UNUSED(plbl);
@@ -741,7 +739,7 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
   };
 
   // Stop the probe before it goes too low to prevent damage.
-  // If Z isn't known then probe to -10mm.
+  // For known Z probe below the expected trigger point, otherwise -10mm.
   const float z_probe_low_point = axis_is_trusted(Z_AXIS) ? zoffs + Z_PROBE_LOW_POINT : -10.0f;
 
   if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Probe Low Point: ", z_probe_low_point);
@@ -753,12 +751,10 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
     if (TERN0(PROBE_TARE, tare())) return NAN;
 
     // Do a first probe at the fast speed
-    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Fast Probe:");
-    if (try_to_probe(PSTR("FAST"), z_probe_low_point, z_probe_fast_mm_s,
-                     sanity_check, Z_CLEARANCE_BETWEEN_PROBES) ) return NAN;
+    if (try_to_probe(PSTR("FAST"), z_probe_low_point, z_probe_fast_mm_s, sanity_check)) return NAN;
 
-    const float first_probe_z = DIFF_TERN(HAS_DELTA_SENSORLESS_PROBING, current_position.z, largest_sensorless_adj);
-    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("1st Probe Z:", first_probe_z);
+    const float z1 = DIFF_TERN(HAS_DELTA_SENSORLESS_PROBING, current_position.z, largest_sensorless_adj);
+    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("1st Probe Z:", z1);
 
     // Raise to give the probe clearance
     do_z_clearance(Z_CLEARANCE_MULTI_PROBE);
@@ -767,11 +763,11 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
 
     // If the nozzle is well over the travel height then
     // move down quickly before doing the slow probe
-    const float z = Z_CLEARANCE_DEPLOY_PROBE + 5.0f + _MAX(zoffs, 0.0f);
+    const float z = (Z_CLEARANCE_DEPLOY_PROBE) + 5.0f + _MAX(zoffs, 0.0f);
     if (current_position.z > z) {
       // Probe down fast. If the probe never triggered, raise for probe clearance
       if (!probe_down_to_z(z, z_probe_fast_mm_s))
-        do_z_clearance(Z_CLEARANCE_BETWEEN_PROBES);
+        do_z_clearance(Z_PROBE_SAFE_CLEARANCE);
     }
   #endif
 
@@ -795,8 +791,7 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
 
       // Probe downward slowly to find the bed
       if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Slow Probe:");
-      if (try_to_probe(PSTR("SLOW"), z_probe_low_point, MMM_TO_MMS(Z_PROBE_FEEDRATE_SLOW),
-                       sanity_check, Z_CLEARANCE_MULTI_PROBE) ) return NAN;
+      if (try_to_probe(PSTR("SLOW"), z_probe_low_point, MMM_TO_MMS(Z_PROBE_FEEDRATE_SLOW), sanity_check)) return NAN;
 
       TERN_(MEASURE_BACKLASH_WHEN_PROBING, backlash.measure_with_probe());
 
@@ -823,7 +818,7 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
           #if EXTRA_PROBING > 0
             < TOTAL_PROBING - 1
           #endif
-        ) do_z_clearance(Z_CLEARANCE_MULTI_PROBE);
+        ) do_z_clearance(z + (Z_CLEARANCE_MULTI_PROBE), false);
       #endif
     }
 
@@ -853,10 +848,10 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
 
     const float z2 = DIFF_TERN(HAS_DELTA_SENSORLESS_PROBING, current_position.z, largest_sensorless_adj);
 
-    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("2nd Probe Z:", z2, " Discrepancy:", first_probe_z - z2);
+    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("2nd Probe Z:", z2, " Discrepancy:", z1 - z2);
 
     // Return a weighted average of the fast and slow probes
-    const float measured_z = (z2 * 3.0f + first_probe_z * 2.0f) * 0.2f;
+    const float measured_z = (z2 * 3.0f + z1 * 2.0f) * 0.2f;
 
   #else
 
@@ -891,7 +886,6 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
 #endif
 
 /**
- * - Switch to PROBING_TOOL if necessary
  * - Move to the given XY
  * - Deploy the probe, if not already deployed
  * - Probe the bed, get the Z position
@@ -949,45 +943,45 @@ float Probe::probe_at_point(const_float_t rx, const_float_t ry, const ProbePtRai
   do_blocking_move_to(npos, feedRate_t(XY_PROBE_FEEDRATE_MM_S));
 
   #if ENABLED(BD_SENSOR)
-    return current_position.z - bdl.read(); // Difference between Z-home-relative Z and sensor reading
-  #endif
 
-  float measured_z = NAN;
-  if (!deploy()) {
-    measured_z = run_z_probe(sanity_check) + offset.z;
-    TERN_(HAS_PTC, ptc.apply_compensation(measured_z));
-    TERN_(X_AXIS_TWIST_COMPENSATION, measured_z += xatc.compensation(npos + offset_xy));
-  }
+    return current_position.z - bdl.read(); // Difference between Z-home-relative Z and sensor reading
 
-  // Deploy succeeded and a successful measurement was done.
-  // Raise and/or stow the probe depending on 'raise_after' and settings.
-  if (!isnan(measured_z)) {
-    const ProbePtRaise raise_type = (TERN0(BLTOUCH, !bltouch.high_speed_mode) && raise_after == PROBE_PT_RAISE) ? PROBE_PT_STOW : raise_after;
-    switch (raise_type) {
-      default: break;
-      case PROBE_PT_RAISE:
-        do_z_clearance(Z_CLEARANCE_BETWEEN_PROBES);
-        break;
-      case PROBE_PT_STOW: case PROBE_PT_LAST_STOW:
-        if (stow()) measured_z = NAN;   // Error on stow?
-        break;
+  #else // !BD_SENSOR
+
+    float measured_z = deploy() ? NAN : run_z_probe(sanity_check) + offset.z;
+
+    // Deploy succeeded and a successful measurement was done.
+    // Raise and/or stow the probe depending on 'raise_after' and settings.
+    if (!isnan(measured_z)) {
+      switch (raise_after) {
+        default: break;
+        case PROBE_PT_RAISE:
+          do_z_clearance(Z_PROBE_SAFE_CLEARANCE);
+          break;
+        case PROBE_PT_STOW: case PROBE_PT_LAST_STOW:
+          if (stow()) measured_z = NAN;   // Error on stow?
+          break;
+      }
     }
 
-    if (verbose_level > 2)
-      SERIAL_ECHOLNPGM("Bed X: ", LOGICAL_X_POSITION(rx), " Y: ", LOGICAL_Y_POSITION(ry), " Z: ", measured_z);
-  }
+    // If any error occurred stow the probe and set an alert
+    if (isnan(measured_z)) {
+      stow();
+      LCD_MESSAGE(MSG_LCD_PROBING_FAILED);
+      #if DISABLED(G29_RETRY_AND_RECOVER)
+        SERIAL_ERROR_MSG(STR_ERR_PROBING_FAILED);
+      #endif
+    }
+    else {
+      TERN_(HAS_PTC, ptc.apply_compensation(measured_z));
+      TERN_(X_AXIS_TWIST_COMPENSATION, measured_z += xatc.compensation(npos + offset_xy));
+      if (verbose_level > 2 || DEBUGGING(LEVELING))
+        SERIAL_ECHOLNPGM("Bed X: ", LOGICAL_X_POSITION(rx), " Y: ", LOGICAL_Y_POSITION(ry), " Z: ", measured_z);
+    }
 
-  // If any error occurred stow the probe and set an alert
-  if (isnan(measured_z)) {
-    stow();
-    LCD_MESSAGE(MSG_LCD_PROBING_FAILED);
-    #if DISABLED(G29_RETRY_AND_RECOVER)
-      SERIAL_ERROR_MSG(STR_ERR_PROBING_FAILED);
-    #endif
-  }
-  DEBUG_ECHOLNPGM("measured_z: ", measured_z);
+    return measured_z;
 
-  return measured_z;
+  #endif // !BD_SENSOR
 }
 
 #if HAS_Z_SERVO_PROBE
diff --git a/Marlin/src/module/probe.h b/Marlin/src/module/probe.h
index 069e505ea000..ebae929439a5 100644
--- a/Marlin/src/module/probe.h
+++ b/Marlin/src/module/probe.h
@@ -33,6 +33,9 @@
   #include "../lcd/e3v2/proui/dwin.h"
 #endif
 
+#define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
+#include "../core/debug_out.h"
+
 #if HAS_BED_PROBE
   enum ProbePtRaise : uint8_t {
     PROBE_PT_NONE,      // No raise or stow after run_z_probe
@@ -170,11 +173,6 @@ class Probe {
 
     #endif // !IS_KINEMATIC
 
-    static void move_z_after_probing() {
-      #ifdef Z_AFTER_PROBING
-        do_z_clearance(Z_AFTER_PROBING, true); // Move down still permitted
-      #endif
-    }
     static float probe_at_point(const_float_t rx, const_float_t ry, const ProbePtRaise raise_after=PROBE_PT_NONE, const uint8_t verbose_level=0, const bool probe_relative=true, const bool sanity_check=true);
     static float probe_at_point(const xy_pos_t &pos, const ProbePtRaise raise_after=PROBE_PT_NONE, const uint8_t verbose_level=0, const bool probe_relative=true, const bool sanity_check=true) {
       return probe_at_point(pos.x, pos.y, raise_after, verbose_level, probe_relative, sanity_check);
@@ -192,9 +190,17 @@ class Probe {
 
   static void use_probing_tool(const bool=true) IF_DISABLED(DO_TOOLCHANGE_FOR_PROBING, {});
 
+  #ifndef Z_AFTER_PROBING
+    #define Z_AFTER_PROBING 0
+  #endif
+  static void move_z_after_probing(const float z=Z_AFTER_PROBING) {
+    DEBUG_SECTION(mzah, "move_z_after_probing", DEBUGGING(LEVELING));
+    if (z != 0) do_z_clearance(z, true, true); // Move down still permitted
+  }
   static void move_z_after_homing() {
-    #if ALL(DWIN_LCD_PROUI, INDIVIDUAL_AXIS_HOMING_SUBMENU, MESH_BED_LEVELING) || defined(Z_AFTER_HOMING)
-      do_z_clearance(Z_POST_CLEARANCE, true);
+    DEBUG_SECTION(mzah, "move_z_after_homing", DEBUGGING(LEVELING));
+    #if defined(Z_AFTER_HOMING) || ALL(DWIN_LCD_PROUI, INDIVIDUAL_AXIS_HOMING_SUBMENU, MESH_BED_LEVELING)
+      move_z_after_probing(Z_POST_CLEARANCE);
     #elif HAS_BED_PROBE
       move_z_after_probing();
     #endif
@@ -347,7 +353,6 @@ class Probe {
 
 private:
   static bool probe_down_to_z(const_float_t z, const_feedRate_t fr_mm_s);
-  static void do_z_raise(const float z_raise);
   static float run_z_probe(const bool sanity_check=true);
 };
 
diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp
index 0be7f965a484..ca5b940c5d18 100644
--- a/Marlin/src/module/settings.cpp
+++ b/Marlin/src/module/settings.cpp
@@ -322,7 +322,7 @@ typedef struct SettingsDataStruct {
   // BLTOUCH
   //
   bool bltouch_od_5v_mode;
-  #ifdef BLTOUCH_HS_MODE
+  #if HAS_BLTOUCH_HS_MODE
     bool bltouch_high_speed_mode;                       // M401 S
   #endif
 
@@ -1016,7 +1016,7 @@ void MarlinSettings::postprocess() {
       const bool bltouch_od_5v_mode = TERN0(BLTOUCH, bltouch.od_5v_mode);
       EEPROM_WRITE(bltouch_od_5v_mode);
 
-      #ifdef BLTOUCH_HS_MODE
+      #if HAS_BLTOUCH_HS_MODE
         _FIELD_TEST(bltouch_high_speed_mode);
         const bool bltouch_high_speed_mode = TERN0(BLTOUCH, bltouch.high_speed_mode);
         EEPROM_WRITE(bltouch_high_speed_mode);
@@ -1976,7 +1976,7 @@ void MarlinSettings::postprocess() {
         #endif
         EEPROM_READ(bltouch_od_5v_mode);
 
-        #ifdef BLTOUCH_HS_MODE
+        #if HAS_BLTOUCH_HS_MODE
           _FIELD_TEST(bltouch_high_speed_mode);
           #if ENABLED(BLTOUCH)
             const bool &bltouch_high_speed_mode = bltouch.high_speed_mode;
@@ -3075,9 +3075,7 @@ void MarlinSettings::reset() {
   //
   // BLTouch
   //
-  #ifdef BLTOUCH_HS_MODE
-    bltouch.high_speed_mode = ENABLED(BLTOUCH_HS_MODE);
-  #endif
+  TERN_(HAS_BLTOUCH_HS_MODE, bltouch.high_speed_mode = BLTOUCH_HS_MODE);
 
   //
   // Kinematic Settings (Delta, SCARA, TPARA, Polargraph...)
diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp
index f40afc6191a7..7bf50e557fcd 100644
--- a/Marlin/src/module/stepper.cpp
+++ b/Marlin/src/module/stepper.cpp
@@ -382,7 +382,7 @@ xyze_int8_t Stepper::count_direction{0};
   }
 
 #if HAS_DUAL_X_STEPPERS
-  #define X_APPLY_DIR(v,Q) do{ X_DIR_WRITE(v); X2_DIR_WRITE((v) ^ ENABLED(INVERT_X2_VS_X_DIR)); }while(0)
+  #define X_APPLY_DIR(v,Q) do{ X_DIR_WRITE(v); X2_DIR_WRITE(INVERT_DIR(X2_VS_X, v)); }while(0)
   #if ENABLED(X_DUAL_ENDSTOPS)
     #define X_APPLY_STEP(v,Q) DUAL_ENDSTOP_APPLY_STEP(X,v)
   #else
@@ -403,7 +403,7 @@ xyze_int8_t Stepper::count_direction{0};
 #endif
 
 #if HAS_DUAL_Y_STEPPERS
-  #define Y_APPLY_DIR(v,Q) do{ Y_DIR_WRITE(v); Y2_DIR_WRITE((v) ^ ENABLED(INVERT_Y2_VS_Y_DIR)); }while(0)
+  #define Y_APPLY_DIR(v,Q) do{ Y_DIR_WRITE(v); Y2_DIR_WRITE(INVERT_DIR(Y2_VS_Y, v)); }while(0)
   #if ENABLED(Y_DUAL_ENDSTOPS)
     #define Y_APPLY_STEP(v,Q) DUAL_ENDSTOP_APPLY_STEP(Y,v)
   #else
@@ -416,8 +416,8 @@ xyze_int8_t Stepper::count_direction{0};
 
 #if NUM_Z_STEPPERS == 4
   #define Z_APPLY_DIR(v,Q) do{ \
-    Z_DIR_WRITE(v); Z2_DIR_WRITE((v) ^ ENABLED(INVERT_Z2_VS_Z_DIR)); \
-    Z3_DIR_WRITE((v) ^ ENABLED(INVERT_Z3_VS_Z_DIR)); Z4_DIR_WRITE((v) ^ ENABLED(INVERT_Z4_VS_Z_DIR)); \
+    Z_DIR_WRITE(v); Z2_DIR_WRITE(INVERT_DIR(Z2_VS_Z, v)); \
+    Z3_DIR_WRITE(INVERT_DIR(Z3_VS_Z, v)); Z4_DIR_WRITE(INVERT_DIR(Z4_VS_Z, v)); \
   }while(0)
   #if ENABLED(Z_MULTI_ENDSTOPS)
     #define Z_APPLY_STEP(v,Q) QUAD_ENDSTOP_APPLY_STEP(Z,v)
@@ -428,7 +428,7 @@ xyze_int8_t Stepper::count_direction{0};
   #endif
 #elif NUM_Z_STEPPERS == 3
   #define Z_APPLY_DIR(v,Q) do{ \
-    Z_DIR_WRITE(v); Z2_DIR_WRITE((v) ^ ENABLED(INVERT_Z2_VS_Z_DIR)); Z3_DIR_WRITE((v) ^ ENABLED(INVERT_Z3_VS_Z_DIR)); \
+    Z_DIR_WRITE(v); Z2_DIR_WRITE(INVERT_DIR(Z2_VS_Z, v)); Z3_DIR_WRITE(INVERT_DIR(Z3_VS_Z, v)); \
   }while(0)
   #if ENABLED(Z_MULTI_ENDSTOPS)
     #define Z_APPLY_STEP(v,Q) TRIPLE_ENDSTOP_APPLY_STEP(Z,v)
@@ -438,7 +438,7 @@ xyze_int8_t Stepper::count_direction{0};
     #define Z_APPLY_STEP(v,Q) do{ Z_STEP_WRITE(v); Z2_STEP_WRITE(v); Z3_STEP_WRITE(v); }while(0)
   #endif
 #elif NUM_Z_STEPPERS == 2
-  #define Z_APPLY_DIR(v,Q) do{ Z_DIR_WRITE(v); Z2_DIR_WRITE((v) ^ ENABLED(INVERT_Z2_VS_Z_DIR)); }while(0)
+  #define Z_APPLY_DIR(v,Q) do{ Z_DIR_WRITE(v); Z2_DIR_WRITE(INVERT_DIR(Z2_VS_Z, v)); }while(0)
   #if ENABLED(Z_MULTI_ENDSTOPS)
     #define Z_APPLY_STEP(v,Q) DUAL_ENDSTOP_APPLY_STEP(Z,v)
   #elif ENABLED(Z_STEPPER_AUTO_ALIGN)
@@ -3276,7 +3276,7 @@ void Stepper::_set_position(const abce_long_t &spos) {
     #if CORE_IS_XY
       // corexy positioning
       // these equations follow the form of the dA and dB equations on https://www.corexy.com/theory.html
-      count_position.set(spos.a + spos.b, CORESIGN(spos.a - spos.b), spos.c);
+      count_position.set(spos.a + spos.b, CORESIGN(spos.a - spos.b) OPTARG(HAS_Z_AXIS, spos.c));
     #elif CORE_IS_XZ
       // corexz planning
       count_position.set(spos.a + spos.c, spos.b, CORESIGN(spos.a - spos.c));
@@ -3470,14 +3470,14 @@ void Stepper::report_positions() {
     #endif
 
     if (applyDir) {
-      X_DIR_WRITE(TEST(command, FT_BIT_DIR_X));
-      TERN_(HAS_Y_AXIS, Y_DIR_WRITE(TEST(command, FT_BIT_DIR_Y)));
-      TERN_(HAS_Z_AXIS, Z_DIR_WRITE(z_dir));
-      TERN_(HAS_EXTRUDERS, E0_DIR_WRITE(TEST(command, FT_BIT_DIR_E)));
+      TERN_(HAS_X_AXIS, X_DIR_WRITE(INVERT_DIR(X, TEST(command, FT_BIT_DIR_X))));
+      TERN_(HAS_Y_AXIS, Y_DIR_WRITE(INVERT_DIR(Y, TEST(command, FT_BIT_DIR_Y))));
+      TERN_(HAS_Z_AXIS, Z_DIR_WRITE(INVERT_DIR(Z, z_dir)));
+      TERN_(HAS_EXTRUDERS, E0_DIR_WRITE(INVERT_DIR(E0, TEST(command, FT_BIT_DIR_E))));
       DIR_WAIT_AFTER();
     }
 
-    X_STEP_WRITE(TEST(command, FT_BIT_STEP_X));
+    TERN_(HAS_X_AXIS, X_STEP_WRITE(TEST(command, FT_BIT_STEP_X)));
     TERN_(HAS_Y_AXIS, Y_STEP_WRITE(TEST(command, FT_BIT_STEP_Y)));
     TERN_(HAS_Z_AXIS, Z_STEP_WRITE(z_step));
     TERN_(HAS_EXTRUDERS, E0_STEP_WRITE(TEST(command, FT_BIT_STEP_E)));
@@ -3580,7 +3580,6 @@ void Stepper::report_positions() {
 
   #define _ENABLE_AXIS(A) enable_axis(_AXIS(A))
   #define _READ_DIR(AXIS) AXIS ##_DIR_READ()
-  #define _INVERT_DIR(AXIS) ENABLED(INVERT_## AXIS ##_DIR)
   #define _APPLY_DIR(AXIS, INVERT) AXIS ##_APPLY_DIR(INVERT, true)
 
   #if MINIMUM_STEPPER_PULSE
@@ -3627,19 +3626,19 @@ void Stepper::report_positions() {
 
   #if DISABLED(DELTA)
 
-    #define BABYSTEP_AXIS(AXIS, INV, DIR) do{      \
-      const uint8_t old_dir = _READ_DIR(AXIS);     \
-      _ENABLE_AXIS(AXIS);                          \
-      DIR_WAIT_BEFORE();                           \
-      _APPLY_DIR(AXIS, _INVERT_DIR(AXIS)^DIR^INV); \
-      DIR_WAIT_AFTER();                            \
-      _SAVE_START();                               \
-      _APPLY_STEP(AXIS, _STEP_STATE(AXIS), true);  \
-      _PULSE_WAIT();                               \
-      _APPLY_STEP(AXIS, !_STEP_STATE(AXIS), true); \
-      EXTRA_DIR_WAIT_BEFORE();                     \
-      _APPLY_DIR(AXIS, old_dir);                   \
-      EXTRA_DIR_WAIT_AFTER();                      \
+    #define BABYSTEP_AXIS(AXIS, INV, DIR) do{           \
+      const uint8_t old_dir = _READ_DIR(AXIS);          \
+      _ENABLE_AXIS(AXIS);                               \
+      DIR_WAIT_BEFORE();                                \
+      _APPLY_DIR(AXIS, INVERT_DIR(AXIS, (DIR)^(INV)));  \
+      DIR_WAIT_AFTER();                                 \
+      _SAVE_START();                                    \
+      _APPLY_STEP(AXIS, _STEP_STATE(AXIS), true);       \
+      _PULSE_WAIT();                                    \
+      _APPLY_STEP(AXIS, !_STEP_STATE(AXIS), true);      \
+      EXTRA_DIR_WAIT_BEFORE();                          \
+      _APPLY_DIR(AXIS, old_dir);                        \
+      EXTRA_DIR_WAIT_AFTER();                           \
     }while(0)
 
   #endif
@@ -3650,8 +3649,8 @@ void Stepper::report_positions() {
       const xy_byte_t old_dir = { _READ_DIR(A), _READ_DIR(B) }; \
       _ENABLE_AXIS(A); _ENABLE_AXIS(B);                         \
       DIR_WAIT_BEFORE();                                        \
-      _APPLY_DIR(A, _INVERT_DIR(A)^DIR^INV);                    \
-      _APPLY_DIR(B, _INVERT_DIR(B)^DIR^INV^ALT);                \
+      _APPLY_DIR(A, INVERT_DIR(A, (DIR)^(INV));                 \
+      _APPLY_DIR(B, INVERT_DIR(B, (DIR)^(INV)^(ALT));           \
       DIR_WAIT_AFTER();                                         \
       _SAVE_START();                                            \
       _APPLY_STEP(A, _STEP_STATE(A), true);                     \
@@ -3725,19 +3724,23 @@ void Stepper::report_positions() {
             U_DIR_READ(), V_DIR_READ(), W_DIR_READ()
           );
 
-          X_DIR_WRITE(ENABLED(INVERT_X_DIR) ^ z_direction);
+          #ifdef X_DIR_WRITE
+            X_DIR_WRITE(INVERT_DIR(X, z_direction));
+          #endif
           #ifdef Y_DIR_WRITE
-            Y_DIR_WRITE(ENABLED(INVERT_Y_DIR) ^ z_direction);
+            Y_DIR_WRITE(INVERT_DIR(Y, z_direction));
           #endif
           #ifdef Z_DIR_WRITE
-            Z_DIR_WRITE(ENABLED(INVERT_Z_DIR) ^ z_direction);
+            Z_DIR_WRITE(INVERT_DIR(Z, z_direction));
           #endif
 
           DIR_WAIT_AFTER();
 
           _SAVE_START();
 
-          X_STEP_WRITE(STEP_STATE_X);
+          #ifdef X_STEP_WRITE
+            X_STEP_WRITE(STEP_STATE_X);
+          #endif
           #ifdef Y_STEP_WRITE
             Y_STEP_WRITE(STEP_STATE_Y);
           #endif
@@ -3747,7 +3750,9 @@ void Stepper::report_positions() {
 
           _PULSE_WAIT();
 
-          X_STEP_WRITE(!STEP_STATE_X);
+          #ifdef X_STEP_WRITE
+            X_STEP_WRITE(!STEP_STATE_X);
+          #endif
           #ifdef Y_STEP_WRITE
             Y_STEP_WRITE(!STEP_STATE_Y);
           #endif
@@ -3758,7 +3763,9 @@ void Stepper::report_positions() {
           // Restore direction bits
           EXTRA_DIR_WAIT_BEFORE();
 
-          X_DIR_WRITE(old_dir.x);
+          #ifdef X_DIR_WRITE
+            X_DIR_WRITE(old_dir.x);
+          #endif
           #ifdef Y_DIR_WRITE
             Y_DIR_WRITE(old_dir.y);
           #endif
diff --git a/Marlin/src/module/stepper/indirection.h b/Marlin/src/module/stepper/indirection.h
index 81a1377cef41..806826b7fce5 100644
--- a/Marlin/src/module/stepper/indirection.h
+++ b/Marlin/src/module/stepper/indirection.h
@@ -451,6 +451,8 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
 #endif
 #define E7_STEP_READ() bool(READ(E7_STEP_PIN))
 
+#define INVERT_DIR(AXIS, D) (TERN_(INVERT_## AXIS ##_DIR, !)(D))
+
 /**
  * Extruder indirection for the single E axis
  */
@@ -458,91 +460,91 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
   #if EXTRUDERS > 7
     #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else if (E < 4) { E1_STEP_WRITE(V); } else if (E < 6) { E2_STEP_WRITE(V); } else { E3_STEP_WRITE(V); } }while(0)
     #define   NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; case 3: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
-        case 4: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; case 5: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; \
-        case 6: E3_DIR_WRITE( ENABLED(INVERT_E3_DIR)); break; case 7: E3_DIR_WRITE( ENABLED(INVERT_E3_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; case 3: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
+        case 4: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; case 5: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; \
+        case 6: E3_DIR_WRITE(INVERT_DIR(E3, HIGH)); break; case 7: E3_DIR_WRITE(INVERT_DIR(E3, LOW )); break; \
       } }while(0)
     #define    REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; case 3: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
-        case 4: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; case 5: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; \
-        case 6: E3_DIR_WRITE(DISABLED(INVERT_E3_DIR)); break; case 7: E3_DIR_WRITE(DISABLED(INVERT_E3_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; case 3: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
+        case 4: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; case 5: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; \
+        case 6: E3_DIR_WRITE(INVERT_DIR(E3, LOW )); break; case 7: E3_DIR_WRITE(INVERT_DIR(E3, HIGH)); break; \
       } }while(0)
   #elif EXTRUDERS > 6
     #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else if (E < 4) { E1_STEP_WRITE(V); } else if (E < 6) { E2_STEP_WRITE(V); } else { E3_STEP_WRITE(V); } }while(0)
     #define   NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; case 3: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
-        case 4: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; case 5: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; \
-        case 6: E3_DIR_WRITE( ENABLED(INVERT_E3_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; case 3: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
+        case 4: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; case 5: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; \
+        case 6: E3_DIR_WRITE(INVERT_DIR(E3, HIGH)); break; \
       } }while(0)
     #define    REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; case 3: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
-        case 4: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; case 5: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; \
-        case 6: E3_DIR_WRITE(DISABLED(INVERT_E3_DIR)); } }while(0)
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; case 3: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
+        case 4: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; case 5: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; \
+        case 6: E3_DIR_WRITE(INVERT_DIR(E3, LOW )); } }while(0)
   #elif EXTRUDERS > 5
     #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else if (E < 4) { E1_STEP_WRITE(V); } else { E2_STEP_WRITE(V); } }while(0)
     #define   NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; case 3: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
-        case 4: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; case 5: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; case 3: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
+        case 4: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; case 5: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; \
       } }while(0)
     #define    REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; case 3: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
-        case 4: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; case 5: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; case 3: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
+        case 4: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; case 5: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; \
       } }while(0)
   #elif EXTRUDERS > 4
     #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else if (E < 4) { E1_STEP_WRITE(V); } else { E2_STEP_WRITE(V); } }while(0)
     #define   NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; case 3: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
-        case 4: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; case 3: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
+        case 4: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; \
       } }while(0)
     #define    REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; case 3: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
-        case 4: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; case 3: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
+        case 4: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; \
       } }while(0)
   #elif EXTRUDERS > 3
     #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else { E1_STEP_WRITE(V); } }while(0)
     #define   NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; case 3: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; case 3: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
       } }while(0)
     #define    REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; case 3: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; case 3: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
       } }while(0)
   #elif EXTRUDERS > 2
     #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else { E1_STEP_WRITE(V); } }while(0)
     #define   NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
       } }while(0)
     #define    REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; \
-        case 2: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; \
+        case 2: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
       } }while(0)
   #else
     #define E_STEP_WRITE(E,V) E0_STEP_WRITE(V)
-    #define   NORM_E_DIR(E)   do{ E0_DIR_WRITE(E ?  ENABLED(INVERT_E0_DIR) : DISABLED(INVERT_E0_DIR)); }while(0)
-    #define    REV_E_DIR(E)   do{ E0_DIR_WRITE(E ? DISABLED(INVERT_E0_DIR) :  ENABLED(INVERT_E0_DIR)); }while(0)
+    #define   NORM_E_DIR(E)   do{ E0_DIR_WRITE(INVERT_DIR(E0, (E) ? LOW  : HIGH)); }while(0)
+    #define    REV_E_DIR(E)   do{ E0_DIR_WRITE(INVERT_DIR(E0, (E) ? HIGH : LOW )); }while(0)
   #endif
 
 #elif HAS_PRUSA_MMU2  // One multiplexed stepper driver
 
   #define E_STEP_WRITE(E,V) E0_STEP_WRITE(V)
-  #define   NORM_E_DIR(E)   E0_DIR_WRITE(DISABLED(INVERT_E0_DIR))
-  #define    REV_E_DIR(E)   E0_DIR_WRITE( ENABLED(INVERT_E0_DIR))
+  #define   NORM_E_DIR(E)   E0_DIR_WRITE(INVERT_DIR(E0, HIGH))
+  #define    REV_E_DIR(E)   E0_DIR_WRITE(INVERT_DIR(E0, LOW ))
 
 #elif HAS_PRUSA_MMU1  // One multiplexed stepper driver, reversed on odd index
 
   #define E_STEP_WRITE(E,V) E0_STEP_WRITE(V)
-  #define   NORM_E_DIR(E)   do{ E0_DIR_WRITE(TEST(E, 0) ? DISABLED(INVERT_E0_DIR):  ENABLED(INVERT_E0_DIR)); }while(0)
-  #define    REV_E_DIR(E)   do{ E0_DIR_WRITE(TEST(E, 0) ?  ENABLED(INVERT_E0_DIR): DISABLED(INVERT_E0_DIR)); }while(0)
+  #define   NORM_E_DIR(E)   do{ E0_DIR_WRITE(INVERT_DIR(E0, TEST(E, 0) ? HIGH : LOW )); }while(0)
+  #define    REV_E_DIR(E)   do{ E0_DIR_WRITE(INVERT_DIR(E0, TEST(E, 0) ? LOW  : HIGH)); }while(0)
 
 #elif E_STEPPERS > 1
 
@@ -553,16 +555,16 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
         case 4: E4_STEP_WRITE(V); break; case 5: E5_STEP_WRITE(V); break; case 6: E6_STEP_WRITE(V); break; case 7: E7_STEP_WRITE(V); break; \
       } }while(0)
     #define   _NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
-        case 2: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; case 3: E3_DIR_WRITE(DISABLED(INVERT_E3_DIR)); break; \
-        case 4: E4_DIR_WRITE(DISABLED(INVERT_E4_DIR)); break; case 5: E5_DIR_WRITE(DISABLED(INVERT_E5_DIR)); break; \
-        case 6: E6_DIR_WRITE(DISABLED(INVERT_E6_DIR)); break; case 7: E7_DIR_WRITE(DISABLED(INVERT_E7_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
+        case 2: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; case 3: E3_DIR_WRITE(INVERT_DIR(E3, HIGH)); break; \
+        case 4: E4_DIR_WRITE(INVERT_DIR(E4, HIGH)); break; case 5: E5_DIR_WRITE(INVERT_DIR(E5, HIGH)); break; \
+        case 6: E6_DIR_WRITE(INVERT_DIR(E6, HIGH)); break; case 7: E7_DIR_WRITE(INVERT_DIR(E7, HIGH)); break; \
       } }while(0)
     #define    _REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
-        case 2: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; case 3: E3_DIR_WRITE( ENABLED(INVERT_E3_DIR)); break; \
-        case 4: E4_DIR_WRITE( ENABLED(INVERT_E4_DIR)); break; case 5: E5_DIR_WRITE( ENABLED(INVERT_E5_DIR)); break; \
-        case 6: E6_DIR_WRITE( ENABLED(INVERT_E6_DIR)); break; case 7: E7_DIR_WRITE( ENABLED(INVERT_E7_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
+        case 2: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; case 3: E3_DIR_WRITE(INVERT_DIR(E3, LOW )); break; \
+        case 4: E4_DIR_WRITE(INVERT_DIR(E4, LOW )); break; case 5: E5_DIR_WRITE(INVERT_DIR(E5, LOW )); break; \
+        case 6: E6_DIR_WRITE(INVERT_DIR(E6, LOW )); break; case 7: E7_DIR_WRITE(INVERT_DIR(E7, LOW )); break; \
       } }while(0)
 
   #elif E_STEPPERS > 6
@@ -572,16 +574,16 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
         case 4: E4_STEP_WRITE(V); break; case 5: E5_STEP_WRITE(V); break; case 6: E6_STEP_WRITE(V); break; \
       } }while(0)
     #define   _NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
-        case 2: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; case 3: E3_DIR_WRITE(DISABLED(INVERT_E3_DIR)); break; \
-        case 4: E4_DIR_WRITE(DISABLED(INVERT_E4_DIR)); break; case 5: E5_DIR_WRITE(DISABLED(INVERT_E5_DIR)); break; \
-        case 6: E6_DIR_WRITE(DISABLED(INVERT_E6_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
+        case 2: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; case 3: E3_DIR_WRITE(INVERT_DIR(E3, HIGH)); break; \
+        case 4: E4_DIR_WRITE(INVERT_DIR(E4, HIGH)); break; case 5: E5_DIR_WRITE(INVERT_DIR(E5, HIGH)); break; \
+        case 6: E6_DIR_WRITE(INVERT_DIR(E6, HIGH)); break; \
       } }while(0)
     #define    _REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
-        case 2: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; case 3: E3_DIR_WRITE( ENABLED(INVERT_E3_DIR)); break; \
-        case 4: E4_DIR_WRITE( ENABLED(INVERT_E4_DIR)); break; case 5: E5_DIR_WRITE( ENABLED(INVERT_E5_DIR)); break; \
-        case 6: E6_DIR_WRITE( ENABLED(INVERT_E6_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
+        case 2: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; case 3: E3_DIR_WRITE(INVERT_DIR(E3, LOW )); break; \
+        case 4: E4_DIR_WRITE(INVERT_DIR(E4, LOW )); break; case 5: E5_DIR_WRITE(INVERT_DIR(E5, LOW )); break; \
+        case 6: E6_DIR_WRITE(INVERT_DIR(E6, LOW )); break; \
       } }while(0)
 
   #elif E_STEPPERS > 5
@@ -591,14 +593,14 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
         case 4: E4_STEP_WRITE(V); break; case 5: E5_STEP_WRITE(V); break; \
       } }while(0)
     #define   _NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
-        case 2: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; case 3: E3_DIR_WRITE(DISABLED(INVERT_E3_DIR)); break; \
-        case 4: E4_DIR_WRITE(DISABLED(INVERT_E4_DIR)); break; case 5: E5_DIR_WRITE(DISABLED(INVERT_E5_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
+        case 2: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; case 3: E3_DIR_WRITE(INVERT_DIR(E3, HIGH)); break; \
+        case 4: E4_DIR_WRITE(INVERT_DIR(E4, HIGH)); break; case 5: E5_DIR_WRITE(INVERT_DIR(E5, HIGH)); break; \
       } }while(0)
     #define    _REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
-        case 2: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; case 3: E3_DIR_WRITE( ENABLED(INVERT_E3_DIR)); break; \
-        case 4: E4_DIR_WRITE( ENABLED(INVERT_E4_DIR)); break; case 5: E5_DIR_WRITE( ENABLED(INVERT_E5_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
+        case 2: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; case 3: E3_DIR_WRITE(INVERT_DIR(E3, LOW )); break; \
+        case 4: E4_DIR_WRITE(INVERT_DIR(E4, LOW )); break; case 5: E5_DIR_WRITE(INVERT_DIR(E5, LOW )); break; \
       } }while(0)
 
   #elif E_STEPPERS > 4
@@ -608,14 +610,14 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
         case 4: E4_STEP_WRITE(V); break; \
       } }while(0)
     #define   _NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
-        case 2: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; case 3: E3_DIR_WRITE(DISABLED(INVERT_E3_DIR)); break; \
-        case 4: E4_DIR_WRITE(DISABLED(INVERT_E4_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
+        case 2: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; case 3: E3_DIR_WRITE(INVERT_DIR(E3, HIGH)); break; \
+        case 4: E4_DIR_WRITE(INVERT_DIR(E4, HIGH)); break; \
       } }while(0)
     #define    _REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
-        case 2: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; case 3: E3_DIR_WRITE( ENABLED(INVERT_E3_DIR)); break; \
-        case 4: E4_DIR_WRITE( ENABLED(INVERT_E4_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
+        case 2: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; case 3: E3_DIR_WRITE(INVERT_DIR(E3, LOW )); break; \
+        case 4: E4_DIR_WRITE(INVERT_DIR(E4, LOW )); break; \
       } }while(0)
 
   #elif E_STEPPERS > 3
@@ -624,71 +626,41 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
         case 0: E0_STEP_WRITE(V); break; case 1: E1_STEP_WRITE(V); break; case 2: E2_STEP_WRITE(V); break; case 3: E3_STEP_WRITE(V); break; \
       } }while(0)
     #define   _NORM_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; \
-        case 2: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); break; case 3: E3_DIR_WRITE(DISABLED(INVERT_E3_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; \
+        case 2: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); break; case 3: E3_DIR_WRITE(INVERT_DIR(E3, HIGH)); break; \
       } }while(0)
     #define    _REV_E_DIR(E)   do{ switch (E) { \
-        case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; \
-        case 2: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); break; case 3: E3_DIR_WRITE( ENABLED(INVERT_E3_DIR)); break; \
+        case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; \
+        case 2: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); break; case 3: E3_DIR_WRITE(INVERT_DIR(E3, LOW )); break; \
       } }while(0)
 
   #elif E_STEPPERS > 2
 
     #define _E_STEP_WRITE(E,V) do{ switch (E) { case 0: E0_STEP_WRITE(V); break; case 1: E1_STEP_WRITE(V); break; case 2: E2_STEP_WRITE(V); } }while(0)
-    #define   _NORM_E_DIR(E)   do{ switch (E) { case 0: E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); break; case 2: E2_DIR_WRITE(DISABLED(INVERT_E2_DIR)); } }while(0)
-    #define    _REV_E_DIR(E)   do{ switch (E) { case 0: E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); break; case 1: E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); break; case 2: E2_DIR_WRITE( ENABLED(INVERT_E2_DIR)); } }while(0)
+    #define   _NORM_E_DIR(E)   do{ switch (E) { case 0: E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); break; case 2: E2_DIR_WRITE(INVERT_DIR(E2, HIGH)); } }while(0)
+    #define    _REV_E_DIR(E)   do{ switch (E) { case 0: E0_DIR_WRITE(INVERT_DIR(E0, LOW )); break; case 1: E1_DIR_WRITE(INVERT_DIR(E1, LOW )); break; case 2: E2_DIR_WRITE(INVERT_DIR(E2, LOW )); } }while(0)
 
   #else
 
     #define _E_STEP_WRITE(E,V) do{ if (E == 0) { E0_STEP_WRITE(V); } else { E1_STEP_WRITE(V); } }while(0)
-    #define   _NORM_E_DIR(E)   do{ if (E == 0) { E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); } else { E1_DIR_WRITE(DISABLED(INVERT_E1_DIR)); } }while(0)
-    #define    _REV_E_DIR(E)   do{ if (E == 0) { E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); } else { E1_DIR_WRITE( ENABLED(INVERT_E1_DIR)); } }while(0)
+    #define   _NORM_E_DIR(E)   do{ if (E == 0) { E0_DIR_WRITE(INVERT_DIR(E0, HIGH)); } else { E1_DIR_WRITE(INVERT_DIR(E1, HIGH)); } }while(0)
+    #define    _REV_E_DIR(E)   do{ if (E == 0) { E0_DIR_WRITE(INVERT_DIR(E0, LOW )); } else { E1_DIR_WRITE(INVERT_DIR(E1, LOW )); } }while(0)
   #endif
 
   #if HAS_DUPLICATION_MODE
 
     #if ENABLED(MULTI_NOZZLE_DUPLICATION)
-      #define _DUPE(N,T,V)  do{ if (TEST(duplication_e_mask, N)) E##N##_##T##_WRITE(V); }while(0)
+      #define DUPE(N,T,V) do{ if (TEST(duplication_e_mask, N)) E##N##_##T##_WRITE(V); }while(0);
     #else
-      #define _DUPE(N,T,V)  E##N##_##T##_WRITE(V)
+      #define DUPE(N,T,V) E##N##_##T##_WRITE(V);
     #endif
 
-    #define NDIR(N) _DUPE(N,DIR,DISABLED(INVERT_E##N##_DIR))
-    #define RDIR(N) _DUPE(N,DIR, ENABLED(INVERT_E##N##_DIR))
-
-    #define E_STEP_WRITE(E,V) do{ if (extruder_duplication_enabled) { DUPE(STEP,V); } else _E_STEP_WRITE(E,V); }while(0)
-
-    #if E_STEPPERS > 2
-      #if E_STEPPERS > 7
-        #define DUPE(T,V)     do{ _DUPE(0,T,V); _DUPE(1,T,V); _DUPE(2,T,V); _DUPE(3,T,V); _DUPE(4,T,V); _DUPE(5,T,V); _DUPE(6,T,V); _DUPE(7,T,V); }while(0)
-        #define NORM_E_DIR(E) do{ if (extruder_duplication_enabled) { NDIR(0); NDIR(1); NDIR(2); NDIR(3); NDIR(4); NDIR(5); NDIR(6); NDIR(7); } else _NORM_E_DIR(E); }while(0)
-        #define REV_E_DIR(E)  do{ if (extruder_duplication_enabled) { RDIR(0); RDIR(1); RDIR(2); RDIR(3); RDIR(4); RDIR(5); RDIR(6); RDIR(7); } else  _REV_E_DIR(E); }while(0)
-      #elif E_STEPPERS > 6
-        #define DUPE(T,V)     do{ _DUPE(0,T,V); _DUPE(1,T,V); _DUPE(2,T,V); _DUPE(3,T,V); _DUPE(4,T,V); _DUPE(5,T,V); _DUPE(6,T,V); }while(0)
-        #define NORM_E_DIR(E) do{ if (extruder_duplication_enabled) { NDIR(0); NDIR(1); NDIR(2); NDIR(3); NDIR(4); NDIR(5); NDIR(6); } else _NORM_E_DIR(E); }while(0)
-        #define REV_E_DIR(E)  do{ if (extruder_duplication_enabled) { RDIR(0); RDIR(1); RDIR(2); RDIR(3); RDIR(4); RDIR(5); RDIR(6); } else  _REV_E_DIR(E); }while(0)
-      #elif E_STEPPERS > 5
-        #define DUPE(T,V)     do{ _DUPE(0,T,V); _DUPE(1,T,V); _DUPE(2,T,V); _DUPE(3,T,V); _DUPE(4,T,V); _DUPE(5,T,V); }while(0)
-        #define NORM_E_DIR(E) do{ if (extruder_duplication_enabled) { NDIR(0); NDIR(1); NDIR(2); NDIR(3); NDIR(4); NDIR(5); } else _NORM_E_DIR(E); }while(0)
-        #define REV_E_DIR(E)  do{ if (extruder_duplication_enabled) { RDIR(0); RDIR(1); RDIR(2); RDIR(3); RDIR(4); RDIR(5); } else  _REV_E_DIR(E); }while(0)
-      #elif E_STEPPERS > 4
-        #define DUPE(T,V)     do{ _DUPE(0,T,V); _DUPE(1,T,V); _DUPE(2,T,V); _DUPE(3,T,V); _DUPE(4,T,V); }while(0)
-        #define NORM_E_DIR(E) do{ if (extruder_duplication_enabled) { NDIR(0); NDIR(1); NDIR(2); NDIR(3); NDIR(4); } else _NORM_E_DIR(E); }while(0)
-        #define REV_E_DIR(E)  do{ if (extruder_duplication_enabled) { RDIR(0); RDIR(1); RDIR(2); RDIR(3); RDIR(4); } else  _REV_E_DIR(E); }while(0)
-      #elif E_STEPPERS > 3
-        #define DUPE(T,V)     do{ _DUPE(0,T,V); _DUPE(1,T,V); _DUPE(2,T,V); _DUPE(3,T,V); }while(0)
-        #define NORM_E_DIR(E) do{ if (extruder_duplication_enabled) { NDIR(0); NDIR(1); NDIR(2); NDIR(3); } else _NORM_E_DIR(E); }while(0)
-        #define REV_E_DIR(E)  do{ if (extruder_duplication_enabled) { RDIR(0); RDIR(1); RDIR(2); RDIR(3); } else  _REV_E_DIR(E); }while(0)
-      #else
-        #define DUPE(T,V)     do{ _DUPE(0,T,V); _DUPE(1,T,V); _DUPE(2,T,V); }while(0)
-        #define NORM_E_DIR(E) do{ if (extruder_duplication_enabled) { NDIR(0); NDIR(1); NDIR(2); } else _NORM_E_DIR(E); }while(0)
-        #define REV_E_DIR(E)  do{ if (extruder_duplication_enabled) { RDIR(0); RDIR(1); RDIR(2); } else  _REV_E_DIR(E); }while(0)
-      #endif
-    #else
-      #define DUPE(T,V)     do{ _DUPE(0,T,V); _DUPE(1,T,V); }while(0)
-      #define NORM_E_DIR(E) do{ if (extruder_duplication_enabled) { NDIR(0); NDIR(1); } else _NORM_E_DIR(E); }while(0)
-      #define REV_E_DIR(E)  do{ if (extruder_duplication_enabled) { RDIR(0); RDIR(1); } else  _REV_E_DIR(E); }while(0)
-    #endif
+    #define NDIR(N) DUPE(N,DIR,INVERT_DIR(E, HIGH));
+    #define RDIR(N) DUPE(N,DIR,INVERT_DIR(E, LOW ));
+
+    #define E_STEP_WRITE(E,V) do{ if (extruder_duplication_enabled) { REPEAT2(E_STEPPERS, DUPE, STEP, V); } else _E_STEP_WRITE(E,V); }while(0)
+    #define NORM_E_DIR(E)     do{ if (extruder_duplication_enabled) { REPEAT(E_STEPPERS, NDIR); } else _NORM_E_DIR(E); }while(0)
+    #define REV_E_DIR(E)      do{ if (extruder_duplication_enabled) { REPEAT(E_STEPPERS, RDIR); } else  _REV_E_DIR(E); }while(0)
 
   #else
 
@@ -700,13 +672,13 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
 
 #elif ENABLED(E_DUAL_STEPPER_DRIVERS)
   #define E_STEP_WRITE(E,V) do{ E0_STEP_WRITE(V); E1_STEP_WRITE(V); }while(0)
-  #define   NORM_E_DIR(E)   do{ E0_DIR_WRITE(DISABLED(INVERT_E0_DIR)); E1_DIR_WRITE(DISABLED(INVERT_E0_DIR) ^ ENABLED(INVERT_E1_VS_E0_DIR)); }while(0)
-  #define    REV_E_DIR(E)   do{ E0_DIR_WRITE( ENABLED(INVERT_E0_DIR)); E1_DIR_WRITE( ENABLED(INVERT_E0_DIR) ^ ENABLED(INVERT_E1_VS_E0_DIR)); }while(0)
+  #define   NORM_E_DIR(E)   do{ constexpr bool d = INVERT_DIR(E0, HIGH); E0_DIR_WRITE(d); E1_DIR_WRITE(INVERT_DIR(E1_VS_E0, d)); }while(0)
+  #define    REV_E_DIR(E)   do{ constexpr bool d = INVERT_DIR(E0, LOW ); E0_DIR_WRITE(d); E1_DIR_WRITE(INVERT_DIR(E1_VS_E0, d)); }while(0)
 
 #elif E_STEPPERS
   #define E_STEP_WRITE(E,V) E0_STEP_WRITE(V)
-  #define   NORM_E_DIR(E)   E0_DIR_WRITE(DISABLED(INVERT_E0_DIR))
-  #define    REV_E_DIR(E)   E0_DIR_WRITE( ENABLED(INVERT_E0_DIR))
+  #define   NORM_E_DIR(E)   E0_DIR_WRITE(INVERT_DIR(E0, HIGH))
+  #define    REV_E_DIR(E)   E0_DIR_WRITE(INVERT_DIR(E0, LOW ))
 
 #else
   #define E_STEP_WRITE(E,V) NOOP
diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp
index 29c3a787c5b6..43ef77494816 100644
--- a/Marlin/src/module/temperature.cpp
+++ b/Marlin/src/module/temperature.cpp
@@ -982,7 +982,7 @@ volatile bool Temperature::raw_temps_ready = false;
           planner.sync_fan_speeds(fan_speed);
         #endif
 
-        do_z_clearance(MPC_TUNING_END_Z);
+        do_z_clearance(MPC_TUNING_END_Z, false);
 
         TERN_(TEMP_TUNING_MAINTAIN_FAN, adaptive_fan_slowing = true);
       }
diff --git a/Marlin/src/pins/esp32/pins_MKS_TINYBEE.h b/Marlin/src/pins/esp32/pins_MKS_TINYBEE.h
index 791ddcab41f1..493269cf2c20 100644
--- a/Marlin/src/pins/esp32/pins_MKS_TINYBEE.h
+++ b/Marlin/src/pins/esp32/pins_MKS_TINYBEE.h
@@ -158,7 +158,7 @@
 
 #if HAS_WIRED_LCD
   #define BEEPER_PIN                 EXP1_01_PIN
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_RS                EXP1_04_PIN
   #define BTN_ENC                    EXP1_02_PIN
   #define BTN_EN1                    EXP2_03_PIN
diff --git a/Marlin/src/pins/esp32/pins_MRR_ESPE.h b/Marlin/src/pins/esp32/pins_MRR_ESPE.h
index b95e54841e0e..d88a3ab35968 100644
--- a/Marlin/src/pins/esp32/pins_MRR_ESPE.h
+++ b/Marlin/src/pins/esp32/pins_MRR_ESPE.h
@@ -126,7 +126,7 @@
 #if HAS_WIRED_LCD
 
   #define LCD_PINS_RS                         13
-  #define LCD_PINS_ENABLE                     17
+  #define LCD_PINS_EN                         17
   #define LCD_PINS_D4                         16
 
   #if ENABLED(CR10_STOCKDISPLAY)
diff --git a/Marlin/src/pins/esp32/pins_PANDA_common.h b/Marlin/src/pins/esp32/pins_PANDA_common.h
index 232580567610..c66bdf0bd1a2 100644
--- a/Marlin/src/pins/esp32/pins_PANDA_common.h
+++ b/Marlin/src/pins/esp32/pins_PANDA_common.h
@@ -123,6 +123,6 @@
   #define BTN_EN2                    EXP2_05_PIN
 
   #define LCD_PINS_RS                EXP1_04_PIN
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_D4                EXP1_05_PIN
 #endif
diff --git a/Marlin/src/pins/linux/pins_RAMPS_LINUX.h b/Marlin/src/pins/linux/pins_RAMPS_LINUX.h
index bfef46c9459b..d7f53568e6dd 100644
--- a/Marlin/src/pins/linux/pins_RAMPS_LINUX.h
+++ b/Marlin/src/pins/linux/pins_RAMPS_LINUX.h
@@ -474,13 +474,13 @@
   #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
 
     #define LCD_PINS_RS                       49  // CS chip select /SS chip slave select
-    #define LCD_PINS_ENABLE                   51  // SID (MOSI)
+    #define LCD_PINS_EN                       51  // SID (MOSI)
     #define LCD_PINS_D4                       52  // SCK (CLK) clock
 
   #elif BOTH(IS_NEWPANEL, PANEL_ONE)
 
     #define LCD_PINS_RS                       40
-    #define LCD_PINS_ENABLE                   42
+    #define LCD_PINS_EN                       42
     #define LCD_PINS_D4                       65
     #define LCD_PINS_D5                       66
     #define LCD_PINS_D6                       44
@@ -491,7 +491,7 @@
     #if ENABLED(CR10_STOCKDISPLAY)
 
       #define LCD_PINS_RS                     27
-      #define LCD_PINS_ENABLE                 29
+      #define LCD_PINS_EN                     29
       #define LCD_PINS_D4                     25
 
       #if !IS_NEWPANEL
@@ -501,7 +501,7 @@
     #elif ENABLED(ZONESTAR_LCD)
 
       #define LCD_PINS_RS                     64
-      #define LCD_PINS_ENABLE                 44
+      #define LCD_PINS_EN                     44
       #define LCD_PINS_D4                     63
       #define LCD_PINS_D5                     40
       #define LCD_PINS_D6                     42
@@ -519,7 +519,7 @@
         #define DOGLCD_A0            LCD_PINS_DC
       #else
         #define LCD_PINS_RS                   16
-        #define LCD_PINS_ENABLE               17
+        #define LCD_PINS_EN                   17
         #define LCD_PINS_D4                   23
         #define LCD_PINS_D5                   25
         #define LCD_PINS_D6                   27
diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h
index 7115cea0bd48..7cbad6a7f959 100644
--- a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h
+++ b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h
@@ -127,7 +127,7 @@
 
   #define SD_DETECT_PIN                    P0_27  // EXP2-7
   #define LCD_PINS_RS                      P0_16  // EXP1-4
-  #define LCD_PINS_ENABLE                  P0_18  // (MOSI) EXP1-3
+  #define LCD_PINS_EN                      P0_18  // (MOSI) EXP1-3
   #define LCD_PINS_D4                      P0_15  // (SCK)  EXP1-5
 
   #if BOTH(HAS_MARLINUI_HD44780, IS_RRD_SC)
@@ -159,7 +159,7 @@
  *
  *  There are 6 PWMS.  Each PWM can be assigned to one of two pins.
  *
- *  PWM1.1   P0_18   LCD_PINS_ENABLE
+ *  PWM1.1   P0_18   LCD_PINS_EN
  *  PWM1.1   P2_0    X_STEP_PIN
  *  PWM1.2   P1_20   <none>
  *  PWM1.2   P2_1    Y_STEP_PIN
diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h
index d5f1d0a29616..914a944027c1 100644
--- a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h
+++ b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h
@@ -104,7 +104,7 @@
 
   #define SD_DETECT_PIN                    P0_27  // EXP2-7
   #define LCD_PINS_RS                      P0_16  // EXP1-4
-  #define LCD_PINS_ENABLE                  P0_18  // (MOSI) EXP1-3
+  #define LCD_PINS_EN                      P0_18  // (MOSI) EXP1-3
   #define LCD_PINS_D4                      P0_15  // (SCK)  EXP1-5
 
   #if BOTH(HAS_MARLINUI_HD44780, IS_RRD_SC)
@@ -138,7 +138,7 @@
  *
  *  There are 6 PWMS.  Each PWM can be assigned to one of two pins.
  *
- *  PWM1.1   P0_18   LCD_PINS_ENABLE
+ *  PWM1.1   P0_18   LCD_PINS_EN
  *  PWM1.1   P2_0    X_STEP_PIN
  *  PWM1.2   P1_20   <none>
  *  PWM1.2   P2_1    Y_STEP_PIN
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h
index d1ea2c0197b6..aa3c15443e80 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h
@@ -112,7 +112,7 @@
 
   #define LCD_SDSS                   EXP2_04_PIN
   #define LCD_PINS_RS                EXP1_04_PIN
-  #define LCD_PINS_ENABLE            EXP2_06_PIN
+  #define LCD_PINS_EN                EXP2_06_PIN
   #define LCD_PINS_D4                EXP2_02_PIN
 
   #if ENABLED(MKS_MINI_12864)
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
index aafc8d3f9fe5..90a2ef8afcbc 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
@@ -254,7 +254,7 @@
     #define BTN_EN2                  EXP1_07_PIN
     #define BTN_ENC                  EXP1_03_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_06_PIN
+    #define LCD_PINS_EN              EXP1_06_PIN
     #define LCD_PINS_D4              EXP1_04_PIN
 
   #elif ENABLED(WYH_L12864)
@@ -299,7 +299,7 @@
     #define BTN_EN2                  EXP1_05_PIN
     #define BTN_ENC                  EXP1_02_PIN  // (58) open-drain
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif HAS_ADC_BUTTONS
@@ -385,7 +385,7 @@
     #define BTN_EN2                  EXP2_05_PIN  // (33) J3-4 & AUX-4
     #define BTN_ENC                  EXP1_02_PIN  // (58) open-drain
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #define LCD_SDSS                 EXP2_04_PIN  // (16) J3-7 & AUX-4
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
index b4fafbf7a4ce..41190e644f31 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
@@ -316,7 +316,7 @@
     #define BTN_EN2                  EXP1_07_PIN
     #define BTN_ENC                  EXP1_01_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
     #define BEEPER_PIN               EXP1_08_PIN
 
@@ -352,7 +352,7 @@
     #define BTN_EN2                  EXP1_07_PIN
     #define BTN_ENC                  EXP1_03_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_06_PIN
+    #define LCD_PINS_EN              EXP1_06_PIN
     #define LCD_PINS_D4              EXP1_04_PIN
 
     #define BEEPER_PIN               EXP1_01_PIN
@@ -364,7 +364,7 @@
     #define BTN_EN2                  EXP1_05_PIN
     #define BTN_ENC                  EXP1_02_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(ENDER2_STOCKDISPLAY)
@@ -429,7 +429,7 @@
     #define BTN_EN1                  EXP2_03_PIN  // (31) J3-2 & AUX-4
     #define BTN_EN2                  EXP2_05_PIN  // (33) J3-4 & AUX-4
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #define LCD_SDSS                 EXP2_04_PIN  // (16) J3-7 & AUX-4
diff --git a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
index 63760d962bc9..92c405b267b4 100644
--- a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
+++ b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
@@ -141,7 +141,7 @@
   #define BTN_EN2                          P1_24
   #define BTN_ENC                          P1_25
   #define LCD_PINS_RS                      P0_20
-  #define LCD_PINS_ENABLE                  P0_21
+  #define LCD_PINS_EN                      P0_21
   #define LCD_PINS_D4                      P2_11
   #define LCD_PINS_D5                      P0_22
   #define LCD_PINS_D6                      P1_29
diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
index 9218bb168d6f..09a30753014d 100644
--- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
+++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
@@ -238,7 +238,7 @@
   #define BTN_EN2                          P3_25  // EXP2.3
   #define LCD_PINS_RS                      P0_16  // EXP1.4
   #define LCD_SDSS                         P0_28  // EXP2.4
-  #define LCD_PINS_ENABLE                  P0_18  // EXP1.3
+  #define LCD_PINS_EN                      P0_18  // EXP1.3
   #define LCD_PINS_D4                      P0_15  // EXP1.5
   #if EITHER(VIKI2, miniVIKI)
     #define DOGLCD_SCK                SD_SCK_PIN
@@ -257,8 +257,8 @@
      * Pins 6, 7 & 8 on EXP2 are no connects. That means a second special
      * cable will be needed if the RGB LEDs are to be active.
      */
-    #define DOGLCD_CS            LCD_PINS_ENABLE  // EXP1.3  (LCD_EN on FYSETC schematic)
-    #define DOGLCD_A0                LCD_PINS_RS  // EXP1.4  (LCD_A0 on FYSETC schematic)
+    #define DOGLCD_CS                      P0_18  // EXP1.3  (LCD_EN on FYSETC schematic)
+    #define DOGLCD_A0                      P0_16  // EXP1.4  (LCD_A0 on FYSETC schematic)
     #define DOGLCD_SCK                     P2_11  // J8-5  (SCK on FYSETC schematic)
     #define DOGLCD_MOSI                    P4_28  // J8-6  (MOSI on FYSETC schematic)
 
diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
index 155d53c7803f..0994b20a0cdd 100644
--- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
+++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
@@ -287,7 +287,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif HAS_SPI_TFT                               // Config for Classic UI (emulated DOGM) and Color UI
@@ -306,7 +306,7 @@
     #define TOUCH_BUTTONS_HW_SPI_DEVICE        2
 
     // Disable any LCD related PINs config
-    #define LCD_PINS_ENABLE                -1
+    #define LCD_PINS_EN                    -1
     #define LCD_PINS_RS                    -1
 
     #ifndef TFT_BUFFER_SIZE
@@ -351,7 +351,7 @@
 
       #define LCD_PINS_RS            EXP1_04_PIN
 
-      #define LCD_PINS_ENABLE        EXP1_03_PIN
+      #define LCD_PINS_EN            EXP1_03_PIN
       #define LCD_PINS_D4            EXP1_05_PIN
 
       #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
index b9edef8678db..6639053d5e60 100644
--- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
+++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
@@ -301,7 +301,7 @@
   #define BTN_ENC                          P3_25  // J3-4 & AUX-4
 
   #define LCD_PINS_RS                      P0_15  // J3-9 & AUX-4 (CS)
-  #define LCD_PINS_ENABLE                  P0_18  // J3-10 & AUX-3 (SID, MOSI)
+  #define LCD_PINS_EN                      P0_18  // J3-10 & AUX-3 (SID, MOSI)
   #define LCD_PINS_D4                      P2_06  // J3-8 & AUX-3 (SCK, CLK)
 
 #elif ENABLED(ZONESTAR_LCD)
@@ -394,7 +394,7 @@
     #endif
 
     #define LCD_BACKLIGHT_PIN              P0_16  //(16) J3-7 & AUX-4 - only used on DOGLCD controllers
-    #define LCD_PINS_ENABLE                P0_18  // (51) (MOSI) J3-10 & AUX-3
+    #define LCD_PINS_EN                    P0_18  // (51) (MOSI) J3-10 & AUX-3
     #define LCD_PINS_D4                    P0_15  // (52) (SCK)  J3-9 & AUX-3
     #if IS_ULTIPANEL
       #define LCD_PINS_D5                  P1_17  // (71) ENET_MDIO
diff --git a/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h b/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h
index 996cb52c6cfa..16858c0b566a 100644
--- a/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h
+++ b/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h
@@ -98,7 +98,7 @@
 
 #if IS_RRD_FG_SC
   #define LCD_PINS_RS                      P0_16
-  #define LCD_PINS_ENABLE                  P0_18
+  #define LCD_PINS_EN                      P0_18
   #define LCD_PINS_D4                      P0_15
   #define LCD_PINS_D5                      P1_00
   #define LCD_PINS_D6                      P1_01
diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h
index 9dfb80772fb2..5899cb0f503a 100644
--- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h
+++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h
@@ -108,7 +108,6 @@
 //
 // Display
 //
-
 #if EITHER(VIKI2, miniVIKI)
   #define BEEPER_PIN                       P1_31
   #define DOGLCD_A0                        P2_06
diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h
index 2d96194db58c..1a8192bafe20 100644
--- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h
+++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h
@@ -128,7 +128,7 @@
     #define BTN_ENC                        P3_25  // J3-4 & AUX-4
 
     #define LCD_PINS_RS                    P0_15  // J3-9 & AUX-4 (CS)
-    #define LCD_PINS_ENABLE                P0_18  // J3-10 & AUX-3 (SID, MOSI)
+    #define LCD_PINS_EN                    P0_18  // J3-10 & AUX-3 (SID, MOSI)
     #define LCD_PINS_D4                    P2_06  // J3-8 & AUX-3 (SCK, CLK)
 
   #else
@@ -142,7 +142,7 @@
     #define LCD_PINS_RS                    P0_16  // (16) J3-7 & AUX-4
     #define LCD_SDSS                       P0_16  // (16) J3-7 & AUX-4
     #define LCD_BACKLIGHT_PIN              P0_16  // (16) J3-7 & AUX-4 - only used on DOGLCD controllers
-    #define LCD_PINS_ENABLE                P0_18  // (51) (MOSI) J3-10 & AUX-3
+    #define LCD_PINS_EN                    P0_18  // (51) (MOSI) J3-10 & AUX-3
     #define LCD_PINS_D4                    P0_15  // (52) (SCK)  J3-9 & AUX-3
 
     #define DOGLCD_A0                      P2_06  // (59) J3-8 & AUX-2
diff --git a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h
index 70f7f748c064..3793f65bfa41 100644
--- a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h
+++ b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h
@@ -211,7 +211,7 @@
   #endif
 
  /**
-  *          Ender 3 V2 display                       SKR E3 Turbo (EXP1)                Ender 3 V2 display --> SKR E3 Turbo
+  *          Ender-3 V2 display                       SKR E3 Turbo (EXP1)                Ender-3 V2 display --> SKR E3 Turbo
   *                ------                                     ------                                  RX  3 -->  5  P0_15
   *           --  | 1  2 | --                (BEEPER)  P2_08 |10  9 | P0_16 (BTN_ENC)                 TX  4 -->  9  P0_16
   * (SKR_TX1) RX  | 3  4 | TX (SKR_RX1)      (BTN_EN1) P0_19 | 8  7 | RESET                       BEEPER  6 --> 10  P2_08
@@ -237,7 +237,7 @@
     #define BTN_ENC                  EXP1_02_PIN
 
     #define LCD_PINS_RS              EXP1_07_PIN
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(ZONESTAR_LCD)                     // ANET A8 LCD Controller - Must convert to 3.3V - CONNECTING TO 5V WILL DAMAGE THE BOARD!
@@ -247,7 +247,7 @@
     #endif
 
     #define LCD_PINS_RS              EXP1_06_PIN
-    #define LCD_PINS_ENABLE          EXP1_02_PIN
+    #define LCD_PINS_EN              EXP1_02_PIN
     #define LCD_PINS_D4              EXP1_07_PIN
     #define LCD_PINS_D5              EXP1_05_PIN
     #define LCD_PINS_D6              EXP1_03_PIN
diff --git a/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h b/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h
index fa389f49247c..6747a7c2bf1f 100644
--- a/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h
+++ b/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h
@@ -149,7 +149,7 @@
 
   #define LCD_PINS_RS                      P0_16  // EXP1-4
   #define LCD_SDSS                         P0_28  // EXP2-4
-  #define LCD_PINS_ENABLE                  P0_18  // EXP1-3
+  #define LCD_PINS_EN                      P0_18  // EXP1-3
   #define LCD_PINS_D4                      P0_15  // EXP1-5
 
   #define KILL_PIN                         P2_11  // EXP2-10
diff --git a/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h b/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h
index 2d44a3859b48..4dc275eee7f0 100644
--- a/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h
+++ b/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h
@@ -215,7 +215,7 @@
 
   #define LCD_PINS_RS                      P0_16  // EXP1-4
   #define LCD_SDSS                         P0_28  // EXP2-4
-  #define LCD_PINS_ENABLE                  P0_18  // EXP1-3
+  #define LCD_PINS_EN                      P0_18  // EXP1-3
   #define LCD_PINS_D4                      P0_15  // EXP1-5
 
   #define KILL_PIN                         P2_11  // EXP2-10
diff --git a/Marlin/src/pins/lpc1769/pins_FLY_CDY.h b/Marlin/src/pins/lpc1769/pins_FLY_CDY.h
index 796df12e754f..fb768ed46a9b 100644
--- a/Marlin/src/pins/lpc1769/pins_FLY_CDY.h
+++ b/Marlin/src/pins/lpc1769/pins_FLY_CDY.h
@@ -155,7 +155,7 @@
 //
 #define BEEPER_PIN                         P2_07
 #define LCD_PINS_RS                        P2_10
-#define LCD_PINS_ENABLE                    P0_22
+#define LCD_PINS_EN                        P0_22
 #define LCD_PINS_D4                        P1_19
 #define LCD_PINS_D5                        P2_08
 #define LCD_PINS_D6                        P1_30
diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h
index f49aae0c45f3..51a8f601ee8b 100644
--- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h
+++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h
@@ -316,7 +316,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #else
@@ -355,7 +355,7 @@
       #define TOUCH_BUTTONS_HW_SPI_DEVICE      2
 
       // Disable any LCD related PINs config
-      #define LCD_PINS_ENABLE              -1
+      #define LCD_PINS_EN                  -1
       #define LCD_PINS_RS                  -1
 
       #ifndef TFT_BUFFER_SIZE
@@ -369,7 +369,7 @@
 
       #define LCD_PINS_RS            EXP1_04_PIN
 
-      #define LCD_PINS_ENABLE        EXP1_03_PIN
+      #define LCD_PINS_EN            EXP1_03_PIN
       #define LCD_PINS_D4            EXP1_05_PIN
 
       #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h
index c8526611d086..3e7e784b59ab 100644
--- a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h
+++ b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h
@@ -142,7 +142,7 @@
     //  EXP1 Pins
     #define BEEPER_PIN                     P1_31  // EXP1 Pin 1
     #define BTN_ENC                        P1_30  // EXP1 Pin 2
-    #define LCD_PINS_ENABLE                P0_18  // EXP1 Pin 3 (MOSI)
+    #define LCD_PINS_EN                    P0_18  // EXP1 Pin 3 (MOSI)
     #define LCD_PINS_RS                    P0_16  // EXP1 Pin 4 (CS)
     #define LCD_PINS_D4                    P0_15  // EXP1 Pin 5 (SCK)
     //  EXP2 Pins
diff --git a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h
index 8ad3cd28214e..a55b9fb64636 100644
--- a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h
+++ b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h
@@ -185,7 +185,7 @@
    */
   #define BEEPER_PIN                 EXP1_01_PIN
   #define LCD_PINS_RS                EXP1_07_PIN
-  #define LCD_PINS_ENABLE            EXP1_08_PIN
+  #define LCD_PINS_EN                EXP1_08_PIN
   #define LCD_PINS_D4                EXP1_06_PIN
   #define KILL_PIN                   EXP1_04_PIN
 
diff --git a/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h b/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h
index 92c5a6f12392..4c8dd5c42a67 100644
--- a/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h
+++ b/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h
@@ -113,7 +113,7 @@
 // LCD / Controller
 //
 #define LCD_PINS_RS                           19
-#define LCD_PINS_ENABLE                       42
+#define LCD_PINS_EN                           42
 #define LCD_PINS_D4                           18
 #define LCD_PINS_D5                           38
 #define LCD_PINS_D6                           41
diff --git a/Marlin/src/pins/mega/pins_GT2560_REV_A.h b/Marlin/src/pins/mega/pins_GT2560_REV_A.h
index 99e2031706ec..61c61f94fff4 100644
--- a/Marlin/src/pins/mega/pins_GT2560_REV_A.h
+++ b/Marlin/src/pins/mega/pins_GT2560_REV_A.h
@@ -135,7 +135,7 @@
       #define LCD_BACKLIGHT_PIN               -1
     #else
       #define LCD_PINS_RS                     20
-      #define LCD_PINS_ENABLE                 17
+      #define LCD_PINS_EN                     17
       #define LCD_PINS_D4                     16
       #define LCD_PINS_D5                     21
       #define LCD_PINS_D6                      5
@@ -155,7 +155,7 @@
     #define SHIFT_EN_PIN                      17
 
     #define LCD_PINS_RS                       16
-    #define LCD_PINS_ENABLE                    5
+    #define LCD_PINS_EN                        5
     #define LCD_PINS_D4                        6
     #define LCD_PINS_D5                       21
     #define LCD_PINS_D6                       20
diff --git a/Marlin/src/pins/mega/pins_GT2560_V3.h b/Marlin/src/pins/mega/pins_GT2560_V3.h
index e4e51c30b374..b04962bbb357 100644
--- a/Marlin/src/pins/mega/pins_GT2560_V3.h
+++ b/Marlin/src/pins/mega/pins_GT2560_V3.h
@@ -180,8 +180,8 @@
   #ifndef LCD_PINS_RS
     #define LCD_PINS_RS                       20
   #endif
-  #ifndef LCD_PINS_ENABLE
-    #define LCD_PINS_ENABLE                   17
+  #ifndef LCD_PINS_EN
+    #define LCD_PINS_EN                       17
   #endif
   #ifndef LCD_PINS_D4
     #define LCD_PINS_D4                       16
diff --git a/Marlin/src/pins/mega/pins_GT2560_V3_A20.h b/Marlin/src/pins/mega/pins_GT2560_V3_A20.h
index 628f897b0ca6..772a45a9186a 100644
--- a/Marlin/src/pins/mega/pins_GT2560_V3_A20.h
+++ b/Marlin/src/pins/mega/pins_GT2560_V3_A20.h
@@ -27,7 +27,7 @@
  */
 
 #define LCD_PINS_RS                            5
-#define LCD_PINS_ENABLE                       36
+#define LCD_PINS_EN                           36
 #define LCD_PINS_D4                           21
 #define LCD_PINS_D7                            6
 
diff --git a/Marlin/src/pins/mega/pins_GT2560_V4_A20.h b/Marlin/src/pins/mega/pins_GT2560_V4_A20.h
index 8ca2d44db99a..3b3a80caa83f 100644
--- a/Marlin/src/pins/mega/pins_GT2560_V4_A20.h
+++ b/Marlin/src/pins/mega/pins_GT2560_V4_A20.h
@@ -29,7 +29,7 @@
 #define BOARD_INFO_NAME "GT2560 4.x"
 
 #define LCD_PINS_RS                            5
-#define LCD_PINS_ENABLE                       36
+#define LCD_PINS_EN                           36
 #define LCD_PINS_D4                           21
 #define LCD_PINS_D7                            6
 
diff --git a/Marlin/src/pins/mega/pins_HJC2560C_REV2.h b/Marlin/src/pins/mega/pins_HJC2560C_REV2.h
index ea197e50dbcf..79eef1436613 100644
--- a/Marlin/src/pins/mega/pins_HJC2560C_REV2.h
+++ b/Marlin/src/pins/mega/pins_HJC2560C_REV2.h
@@ -129,7 +129,7 @@
   #if IS_NEWPANEL
 
     #define LCD_PINS_RS                       20  // LCD_CS
-    #define LCD_PINS_ENABLE                   15  // LCD_SDA
+    #define LCD_PINS_EN                       15  // LCD_SDA
     #define LCD_PINS_D4                       14  // LCD_SCK
 
     #if ENABLED(HJC_LCD_SMART_CONTROLLER)
@@ -161,7 +161,7 @@
     #define SHIFT_EN_PIN                      17
 
     #define LCD_PINS_RS                       16
-    #define LCD_PINS_ENABLE                    5
+    #define LCD_PINS_EN                        5
     #define LCD_PINS_D4                        6
     #define LCD_PINS_D5                       21
     #define LCD_PINS_D6                       20
diff --git a/Marlin/src/pins/mega/pins_INTAMSYS40.h b/Marlin/src/pins/mega/pins_INTAMSYS40.h
index 903849a14005..6b8296506552 100644
--- a/Marlin/src/pins/mega/pins_INTAMSYS40.h
+++ b/Marlin/src/pins/mega/pins_INTAMSYS40.h
@@ -123,7 +123,7 @@
 
 #if HAS_WIRED_LCD
   #define LCD_PINS_RS                         20
-  #define LCD_PINS_ENABLE                     30
+  #define LCD_PINS_EN                         30
   #define LCD_PINS_D4                         14
   #define LCD_PINS_D5                         21
   #define LCD_PINS_D6                          5
diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS.h b/Marlin/src/pins/mega/pins_MEGATRONICS.h
index b038c9935c26..0e2ac291b2a4 100644
--- a/Marlin/src/pins/mega/pins_MEGATRONICS.h
+++ b/Marlin/src/pins/mega/pins_MEGATRONICS.h
@@ -112,7 +112,7 @@
 #if HAS_WIRED_LCD && IS_NEWPANEL
 
   #define LCD_PINS_RS                         16
-  #define LCD_PINS_ENABLE                     17
+  #define LCD_PINS_EN                         17
   #define LCD_PINS_D4                         23
   #define LCD_PINS_D5                         25
   #define LCD_PINS_D6                         27
diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS_2.h b/Marlin/src/pins/mega/pins_MEGATRONICS_2.h
index 5ebcbefe0883..d6840de8d0b3 100644
--- a/Marlin/src/pins/mega/pins_MEGATRONICS_2.h
+++ b/Marlin/src/pins/mega/pins_MEGATRONICS_2.h
@@ -134,7 +134,7 @@
 #if HAS_WIRED_LCD
 
   #define LCD_PINS_RS                         14
-  #define LCD_PINS_ENABLE                     15
+  #define LCD_PINS_EN                         15
   #define LCD_PINS_D4                         30
   #define LCD_PINS_D5                         31
   #define LCD_PINS_D6                         32
diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS_3.h b/Marlin/src/pins/mega/pins_MEGATRONICS_3.h
index b3edfc5e17a7..5e571d5a3fa2 100644
--- a/Marlin/src/pins/mega/pins_MEGATRONICS_3.h
+++ b/Marlin/src/pins/mega/pins_MEGATRONICS_3.h
@@ -155,14 +155,14 @@
 #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
 
   #define LCD_PINS_RS                         56  // CS chip select / SS chip slave select
-  #define LCD_PINS_ENABLE                     51  // SID (MOSI)
+  #define LCD_PINS_EN                         51  // SID (MOSI)
   #define LCD_PINS_D4                         52  // SCK (CLK) clock
   #define SD_DETECT_PIN                       35
 
 #else
 
   #define LCD_PINS_RS                         32
-  #define LCD_PINS_ENABLE                     31
+  #define LCD_PINS_EN                         31
   #define LCD_PINS_D4                         14
   #define LCD_PINS_D5                         30
   #define LCD_PINS_D6                         39
diff --git a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h
index 0a1553c64ecf..e9a0ddc09dfc 100644
--- a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h
+++ b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h
@@ -192,7 +192,7 @@
   #if IS_RRD_FG_SC
 
     #define LCD_PINS_RS                       33  // C4: LCD-STROBE
-    #define LCD_PINS_ENABLE                   72  // J2: LEFT
+    #define LCD_PINS_EN                       72  // J2: LEFT
     #define LCD_PINS_D4                       35  // C2: LCD-CLK
     #define LCD_PINS_D5                       32  // C5: RLED
     #define LCD_PINS_D6                       34  // C3: LCD-DATA
diff --git a/Marlin/src/pins/mega/pins_MINITRONICS.h b/Marlin/src/pins/mega/pins_MINITRONICS.h
index 5145cb496d0b..6d0309c4c191 100644
--- a/Marlin/src/pins/mega/pins_MINITRONICS.h
+++ b/Marlin/src/pins/mega/pins_MINITRONICS.h
@@ -108,7 +108,7 @@
 #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
 
   #define LCD_PINS_RS                         15  // CS chip select /SS chip slave select
-  #define LCD_PINS_ENABLE                     11  // SID (MOSI)
+  #define LCD_PINS_EN                         11  // SID (MOSI)
   #define LCD_PINS_D4                         10  // SCK (CLK) clock
 
   #define BTN_EN1                             18
@@ -120,7 +120,7 @@
 #else
 
   #define LCD_PINS_RS                         -1
-  #define LCD_PINS_ENABLE                     -1
+  #define LCD_PINS_EN                         -1
 
   // Buttons are directly attached using keypad
   #define BTN_EN1                             -1
diff --git a/Marlin/src/pins/mega/pins_OVERLORD.h b/Marlin/src/pins/mega/pins_OVERLORD.h
index 3bccbbc7410e..1ae9e69af073 100644
--- a/Marlin/src/pins/mega/pins_OVERLORD.h
+++ b/Marlin/src/pins/mega/pins_OVERLORD.h
@@ -126,7 +126,7 @@
   // OVERLORD OLED pins
   #define LCD_PINS_RS                         20
   #define LCD_PINS_D5                         21
-  #define LCD_PINS_ENABLE                     15
+  #define LCD_PINS_EN                         15
   #define LCD_PINS_D4                         14
   #define LCD_PINS_D6                          5
   #define LCD_PINS_D7                          6
diff --git a/Marlin/src/pins/mega/pins_PICA.h b/Marlin/src/pins/mega/pins_PICA.h
index 3926978e6d5e..d9f4a858da8d 100644
--- a/Marlin/src/pins/mega/pins_PICA.h
+++ b/Marlin/src/pins/mega/pins_PICA.h
@@ -142,7 +142,7 @@
 
 #if HAS_WIRED_LCD
   #define LCD_PINS_RS                         33
-  #define LCD_PINS_ENABLE                     30
+  #define LCD_PINS_EN                         30
   #define LCD_PINS_D4                         35
   #define LCD_PINS_D5                         32
   #define LCD_PINS_D6                         37
diff --git a/Marlin/src/pins/mega/pins_SILVER_GATE.h b/Marlin/src/pins/mega/pins_SILVER_GATE.h
index dd26a2714c3a..d739157aaf4e 100644
--- a/Marlin/src/pins/mega/pins_SILVER_GATE.h
+++ b/Marlin/src/pins/mega/pins_SILVER_GATE.h
@@ -77,7 +77,7 @@
 #if HAS_WIRED_LCD
   #if IS_U8GLIB_ST7920                            // SPI GLCD 12864 ST7920
     #define LCD_PINS_RS                       30
-    #define LCD_PINS_ENABLE                   20
+    #define LCD_PINS_EN                       20
     #define LCD_PINS_D4                       25
     #define BEEPER_PIN                        29
     #define BTN_EN1                           19
diff --git a/Marlin/src/pins/pinsDebug_list.h b/Marlin/src/pins/pinsDebug_list.h
index 16dd2a0c4569..fa6cbf49b945 100644
--- a/Marlin/src/pins/pinsDebug_list.h
+++ b/Marlin/src/pins/pinsDebug_list.h
@@ -929,8 +929,8 @@
 #if _EXISTS(LCD_PINS_D7)
   REPORT_NAME_DIGITAL(__LINE__, LCD_PINS_D7)
 #endif
-#if _EXISTS(LCD_PINS_ENABLE)
-  REPORT_NAME_DIGITAL(__LINE__, LCD_PINS_ENABLE)
+#if _EXISTS(LCD_PINS_EN)
+  REPORT_NAME_DIGITAL(__LINE__, LCD_PINS_EN)
 #endif
 #if _EXISTS(LCD_PINS_RS)
   REPORT_NAME_DIGITAL(__LINE__, LCD_PINS_RS)
diff --git a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h
index be1af14bb18d..ced9c722f4af 100644
--- a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h
+++ b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h
@@ -211,13 +211,13 @@
 
     #if ENABLED(CR10_STOCKDISPLAY)
       #define LCD_PINS_RS            EXP1_07_PIN
-      #define LCD_PINS_ENABLE        EXP1_08_PIN
+      #define LCD_PINS_EN            EXP1_08_PIN
       #define LCD_PINS_D4            EXP1_06_PIN
       #define BTN_EN1                EXP1_03_PIN
       #define BTN_EN2                EXP1_05_PIN
     #else
       #define LCD_PINS_RS            EXP1_04_PIN
-      #define LCD_PINS_ENABLE        EXP1_03_PIN
+      #define LCD_PINS_EN            EXP1_03_PIN
       #define LCD_PINS_D4            EXP1_05_PIN
       #define LCD_PINS_D5            EXP1_06_PIN
       #define LCD_PINS_D6            EXP1_07_PIN
diff --git a/Marlin/src/pins/rambo/pins_EINSY_RETRO.h b/Marlin/src/pins/rambo/pins_EINSY_RETRO.h
index 315a17ee0300..10736d34a994 100644
--- a/Marlin/src/pins/rambo/pins_EINSY_RETRO.h
+++ b/Marlin/src/pins/rambo/pins_EINSY_RETRO.h
@@ -178,13 +178,13 @@
 
     #if ENABLED(CR10_STOCKDISPLAY)
       #define LCD_PINS_RS                     85
-      #define LCD_PINS_ENABLE                 71
+      #define LCD_PINS_EN                     71
       #define LCD_PINS_D4                     70
       #define BTN_EN1                         18
       #define BTN_EN2                         19
     #else
       #define LCD_PINS_RS                     82
-      #define LCD_PINS_ENABLE                 18  // On 0.6b, use 61
+      #define LCD_PINS_EN                     18  // On 0.6b, use 61
       #define LCD_PINS_D4                     19  // On 0.6b, use 59
       #define LCD_PINS_D5                     70
       #define LCD_PINS_D6                     85
diff --git a/Marlin/src/pins/rambo/pins_MINIRAMBO.h b/Marlin/src/pins/rambo/pins_MINIRAMBO.h
index da55c1ec0711..6e1a4608381e 100644
--- a/Marlin/src/pins/rambo/pins_MINIRAMBO.h
+++ b/Marlin/src/pins/rambo/pins_MINIRAMBO.h
@@ -162,7 +162,7 @@
       #define BTN_ENC                         21
 
       #define LCD_PINS_RS                     38
-      #define LCD_PINS_ENABLE                  5
+      #define LCD_PINS_EN                      5
       #define LCD_PINS_D4                     14
       #define LCD_PINS_D5                     15
       #define LCD_PINS_D6                     32
@@ -181,7 +181,7 @@
       #define BTN_ENC                          9
 
       #define LCD_PINS_RS                     82
-      #define LCD_PINS_ENABLE                 18
+      #define LCD_PINS_EN                     18
       #define LCD_PINS_D4                     19
       #define LCD_PINS_D5                     70
       #define LCD_PINS_D6                     85
diff --git a/Marlin/src/pins/rambo/pins_RAMBO.h b/Marlin/src/pins/rambo/pins_RAMBO.h
index 7c70c7c753d4..1e9b9938a5aa 100644
--- a/Marlin/src/pins/rambo/pins_RAMBO.h
+++ b/Marlin/src/pins/rambo/pins_RAMBO.h
@@ -204,7 +204,7 @@
   #if IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
 
     #define LCD_PINS_RS                       70
-    #define LCD_PINS_ENABLE                   71
+    #define LCD_PINS_EN                       71
     #define LCD_PINS_D4                       72
     #define LCD_PINS_D5                       73
     #define LCD_PINS_D6                       74
@@ -264,7 +264,7 @@
     //#define SHIFT_EN_PIN                    17
 
     #define LCD_PINS_RS                       75
-    #define LCD_PINS_ENABLE                   17
+    #define LCD_PINS_EN                       17
     #define LCD_PINS_D4                       23
     #define LCD_PINS_D5                       25
     #define LCD_PINS_D6                       27
diff --git a/Marlin/src/pins/rambo/pins_SCOOVO_X9H.h b/Marlin/src/pins/rambo/pins_SCOOVO_X9H.h
index 2230eaa35bc9..f0e107f398c0 100644
--- a/Marlin/src/pins/rambo/pins_SCOOVO_X9H.h
+++ b/Marlin/src/pins/rambo/pins_SCOOVO_X9H.h
@@ -126,7 +126,7 @@
 // LCD / Controller
 //
 #define LCD_PINS_RS                           70  // Ext2_5
-#define LCD_PINS_ENABLE                       71  // Ext2_7
+#define LCD_PINS_EN                           71  // Ext2_7
 #define LCD_PINS_D4                           72  // Ext2_9 ?
 #define LCD_PINS_D5                           73  // Ext2_11 ?
 #define LCD_PINS_D6                           74  // Ext2_13
diff --git a/Marlin/src/pins/ramps/pins_3DRAG.h b/Marlin/src/pins/ramps/pins_3DRAG.h
index c14284865beb..6f57b0eca62a 100644
--- a/Marlin/src/pins/ramps/pins_3DRAG.h
+++ b/Marlin/src/pins/ramps/pins_3DRAG.h
@@ -136,7 +136,7 @@
 
   // TODO: Remap EXP1/2 based on adapter
   #define LCD_PINS_RS                         27
-  #define LCD_PINS_ENABLE                     29
+  #define LCD_PINS_EN                         29
   #define LCD_PINS_D4                         37
   #define LCD_PINS_D5                         35
   #define LCD_PINS_D6                         33
diff --git a/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h b/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h
index a147eba9fd35..90f46fe3861e 100644
--- a/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h
+++ b/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h
@@ -90,7 +90,7 @@
 #if HAS_WIRED_LCD
   #if ENABLED(ZONESTAR_LCD)
     #define LCD_PINS_RS                        2
-    #define LCD_PINS_ENABLE                   36
+    #define LCD_PINS_EN                       36
     #define LCD_PINS_D4                       37
     #define LCD_PINS_D5                       34
     #define LCD_PINS_D6                       35
diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h
index f9e4517a1183..b77c325029df 100644
--- a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h
+++ b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h
@@ -174,7 +174,7 @@
   #define SD_DETECT_PIN                       49
   #define KILL_PIN                            41
   #define LCD_PINS_RS                         16
-  #define LCD_PINS_ENABLE                     17
+  #define LCD_PINS_EN                         17
   #define LCD_PINS_D4                         23
   #define LCD_PINS_D5                         25
   #define LCD_PINS_D6                         27
diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h
index e671184a53a2..2d92306f8909 100644
--- a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h
+++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h
@@ -175,7 +175,7 @@
   #endif
 
   #define LCD_PINS_RS                         16
-  #define LCD_PINS_ENABLE                     17
+  #define LCD_PINS_EN                         17
   #define LCD_PINS_D4                         23
   #define LCD_PINS_D5                         25
   #define LCD_PINS_D6                         27
diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h
index 3babc257b4c0..d84a8529152f 100644
--- a/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h
+++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h
@@ -164,7 +164,7 @@
 //
 #if IS_RRD_SC
   #define LCD_PINS_RS                         16
-  #define LCD_PINS_ENABLE                     17
+  #define LCD_PINS_EN                         17
   #define LCD_PINS_D4                         23
   #define LCD_PINS_D5                         25
   #define LCD_PINS_D6                         27
diff --git a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
index 9cae3797c3f6..fa5bbb5b9e75 100644
--- a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
+++ b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
@@ -266,7 +266,7 @@
   #elif HAS_MARLINUI_U8GLIB || HAS_MARLINUI_HD44780
 
     #define LCD_PINS_RS                       16
-    #define LCD_PINS_ENABLE                   17
+    #define LCD_PINS_EN                       17
     #define LCD_PINS_D4                       23
     #define LCD_PINS_D5                       25
     #define LCD_PINS_D6                       27
diff --git a/Marlin/src/pins/ramps/pins_K8600.h b/Marlin/src/pins/ramps/pins_K8600.h
index 2ffa8c6b101f..eacaf95b3801 100644
--- a/Marlin/src/pins/ramps/pins_K8600.h
+++ b/Marlin/src/pins/ramps/pins_K8600.h
@@ -63,7 +63,7 @@
 #if HAS_WIRED_LCD && IS_NEWPANEL
 
   #define LCD_PINS_RS                         27
-  #define LCD_PINS_ENABLE                     29
+  #define LCD_PINS_EN                         29
   #define LCD_PINS_D4                         37
   #define LCD_PINS_D5                         35
   #define LCD_PINS_D6                         33
diff --git a/Marlin/src/pins/ramps/pins_K8800.h b/Marlin/src/pins/ramps/pins_K8800.h
index 6c4fa1cc7ca1..826e1b206aad 100644
--- a/Marlin/src/pins/ramps/pins_K8800.h
+++ b/Marlin/src/pins/ramps/pins_K8800.h
@@ -102,7 +102,7 @@
   #define DOGLCD_A0                           27
 
   #define LCD_PINS_RS                         27
-  #define LCD_PINS_ENABLE                     29
+  #define LCD_PINS_EN                         29
   #define LCD_PINS_D4                         37
   #define LCD_PINS_D5                         35
   #define LCD_PINS_D6                         33
diff --git a/Marlin/src/pins/ramps/pins_LONGER3D_LKx_PRO.h b/Marlin/src/pins/ramps/pins_LONGER3D_LKx_PRO.h
index d9759153c334..89da25d074fa 100644
--- a/Marlin/src/pins/ramps/pins_LONGER3D_LKx_PRO.h
+++ b/Marlin/src/pins/ramps/pins_LONGER3D_LKx_PRO.h
@@ -128,19 +128,19 @@
 //          ------------------        ----------------        ---------------        -------------
 
 #if BOTH(CR10_STOCKDISPLAY, LONGER_LK5)
-  /**           CR-10 Stock Display
-   *                  ------
-   *             GND | 9 10 | 5V
-   * LCD_PINS_RS D5  | 7  8 | D4  LCD_PINS_ENABLE
-   *     BTN_EN2 D19 | 5  6   D6  LCD_PINS_D4
-   *     BTN_EN1 D18 | 3  4 | GND
-   *  BEEPER_PIN D11 | 1  2 | D15 BTN_ENC
-   *                  ------
+  /**       CR-10 Stock Display
+   *             ------
+   * BEEPER D11 | 1  2 | D15 ENC
+   *    EN1 D18 | 3  4 | GND
+   *    EN2 D19   5  6 | D6  LCD_D4
+   * LCD_RS D5  | 7  8 | D4  LCD_ENABLE
+   *        GND | 9 10 | 5V
+   *             ------
    *      Connected via provided custom cable to:
    *      Aux-1, J21, J17 and Y-Max.
    */
   #define LCD_PINS_RS                          5
-  #define LCD_PINS_ENABLE                      4
+  #define LCD_PINS_EN                          4
   #define LCD_PINS_D4                          6
   #define BTN_EN1                             18
   #define BTN_EN2                             19
diff --git a/Marlin/src/pins/ramps/pins_ORTUR_4.h b/Marlin/src/pins/ramps/pins_ORTUR_4.h
index 7f0fe93084b7..d2adf9971c84 100644
--- a/Marlin/src/pins/ramps/pins_ORTUR_4.h
+++ b/Marlin/src/pins/ramps/pins_ORTUR_4.h
@@ -83,7 +83,7 @@
   #define BEEPER_PIN                          35
 
   #define LCD_PINS_RS                         27
-  #define LCD_PINS_ENABLE                     23
+  #define LCD_PINS_EN                         23
   #define LCD_PINS_D4                         37
 
   #define LCD_SDSS                            53
diff --git a/Marlin/src/pins/ramps/pins_RAMPS.h b/Marlin/src/pins/ramps/pins_RAMPS.h
index 58b9b786487e..4541aefacb76 100644
--- a/Marlin/src/pins/ramps/pins_RAMPS.h
+++ b/Marlin/src/pins/ramps/pins_RAMPS.h
@@ -594,13 +594,13 @@
   #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
 
     #define LCD_PINS_RS              EXP2_07_PIN  // CS chip select /SS chip slave select
-    #define LCD_PINS_ENABLE          EXP2_06_PIN  // SID (MOSI)
+    #define LCD_PINS_EN              EXP2_06_PIN  // SID (MOSI)
     #define LCD_PINS_D4              EXP2_02_PIN  // SCK (CLK) clock
 
   #elif BOTH(IS_NEWPANEL, PANEL_ONE)
 
     #define LCD_PINS_RS              AUX2_06_PIN
-    #define LCD_PINS_ENABLE          AUX2_08_PIN
+    #define LCD_PINS_EN              AUX2_08_PIN
     #define LCD_PINS_D4              AUX2_10_PIN
     #define LCD_PINS_D5              AUX2_09_PIN
     #define LCD_PINS_D6              AUX2_07_PIN
@@ -615,7 +615,7 @@
     #if ENABLED(CR10_STOCKDISPLAY)
 
       #define LCD_PINS_RS            EXP1_07_PIN
-      #define LCD_PINS_ENABLE        EXP1_08_PIN
+      #define LCD_PINS_EN            EXP1_08_PIN
       #define LCD_PINS_D4            EXP1_06_PIN
 
       #if !IS_NEWPANEL
@@ -629,7 +629,7 @@
       #endif
 
       #define LCD_PINS_RS            AUX2_05_PIN
-      #define LCD_PINS_ENABLE        AUX2_07_PIN
+      #define LCD_PINS_EN            AUX2_07_PIN
       #define LCD_PINS_D4            AUX2_04_PIN
       #define LCD_PINS_D5            AUX2_06_PIN
       #define LCD_PINS_D6            AUX2_08_PIN
@@ -651,7 +651,7 @@
         #define DOGLCD_SCK           EXP1_05_PIN
       #else
         #define LCD_PINS_RS          EXP1_04_PIN
-        #define LCD_PINS_ENABLE      EXP1_03_PIN
+        #define LCD_PINS_EN          EXP1_03_PIN
         #define LCD_PINS_D4          EXP1_05_PIN
         #define LCD_PINS_D5          EXP1_06_PIN
         #define LCD_PINS_D6          EXP1_07_PIN
diff --git a/Marlin/src/pins/ramps/pins_RAMPS_S_12.h b/Marlin/src/pins/ramps/pins_RAMPS_S_12.h
index bb1e2764169d..87535a7de886 100644
--- a/Marlin/src/pins/ramps/pins_RAMPS_S_12.h
+++ b/Marlin/src/pins/ramps/pins_RAMPS_S_12.h
@@ -254,7 +254,7 @@
 #if HAS_WIRED_LCD
   #define BEEPER_PIN                          45
   #define LCD_PINS_RS                         19
-  #define LCD_PINS_ENABLE                     49
+  #define LCD_PINS_EN                         49
   #define LCD_PINS_D4                         18
   #define LCD_PINS_D5                         30
   #define LCD_PINS_D6                         41
diff --git a/Marlin/src/pins/ramps/pins_RUMBA.h b/Marlin/src/pins/ramps/pins_RUMBA.h
index 3c6873e7653b..258b9ccca6e9 100644
--- a/Marlin/src/pins/ramps/pins_RUMBA.h
+++ b/Marlin/src/pins/ramps/pins_RUMBA.h
@@ -228,7 +228,7 @@
 
 #else
   #define LCD_PINS_RS                         19
-  #define LCD_PINS_ENABLE                     42
+  #define LCD_PINS_EN                         42
   #define LCD_PINS_D4                         18
   #define LCD_PINS_D5                         38
   #define LCD_PINS_D6                         41
diff --git a/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h b/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h
index a00720b576df..dd9cafc306c3 100644
--- a/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h
+++ b/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h
@@ -169,7 +169,7 @@
 //#if IS_RRD_SC
 
 #define LCD_PINS_RS                           -1
-#define LCD_PINS_ENABLE                       -1
+#define LCD_PINS_EN                           -1
 #define LCD_PINS_D4                           -1
 #define LCD_PINS_D5                           -1
 #define LCD_PINS_D6                           -1
diff --git a/Marlin/src/pins/ramps/pins_TENLOG_MB1_V23.h b/Marlin/src/pins/ramps/pins_TENLOG_MB1_V23.h
index 0cf6e3b18b3f..1197874d7168 100644
--- a/Marlin/src/pins/ramps/pins_TENLOG_MB1_V23.h
+++ b/Marlin/src/pins/ramps/pins_TENLOG_MB1_V23.h
@@ -139,7 +139,7 @@
 //#endif
 
 #define LCD_PINS_RS                           -1
-#define LCD_PINS_ENABLE                       -1
+#define LCD_PINS_EN                           -1
 #define LCD_PINS_D4                           -1
 #define LCD_PINS_D5                           -1
 #define LCD_PINS_D6                           -1
diff --git a/Marlin/src/pins/ramps/pins_TT_OSCAR.h b/Marlin/src/pins/ramps/pins_TT_OSCAR.h
index 5150ad55b637..56ebf2c66301 100644
--- a/Marlin/src/pins/ramps/pins_TT_OSCAR.h
+++ b/Marlin/src/pins/ramps/pins_TT_OSCAR.h
@@ -276,13 +276,13 @@
   #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
 
     #define LCD_PINS_RS                       49  // CS chip select /SS chip slave select
-    #define LCD_PINS_ENABLE                   51  // SID (MOSI)
+    #define LCD_PINS_EN                       51  // SID (MOSI)
     #define LCD_PINS_D4                       52  // SCK (CLK) clock
 
   #elif BOTH(IS_NEWPANEL, PANEL_ONE)
 
     #define LCD_PINS_RS                       40
-    #define LCD_PINS_ENABLE                   42
+    #define LCD_PINS_EN                       42
     #define LCD_PINS_D4                       65
     #define LCD_PINS_D5                       66
     #define LCD_PINS_D6                       44
@@ -291,7 +291,7 @@
   #elif ENABLED(ZONESTAR_LCD)
 
     #define LCD_PINS_RS                       64
-    #define LCD_PINS_ENABLE                   44
+    #define LCD_PINS_EN                       44
     #define LCD_PINS_D4                       63
     #define LCD_PINS_D5                       40
     #define LCD_PINS_D6                       42
@@ -303,7 +303,7 @@
     #if ENABLED(CR10_STOCKDISPLAY)
 
       #define LCD_PINS_RS                     27
-      #define LCD_PINS_ENABLE                 29
+      #define LCD_PINS_EN                     29
       #define LCD_PINS_D4                     25
 
       #if !IS_NEWPANEL
@@ -322,7 +322,7 @@
         #define DOGLCD_A0            LCD_PINS_DC
       #else
         #define LCD_PINS_RS                   16
-        #define LCD_PINS_ENABLE               17
+        #define LCD_PINS_EN                   17
         #define LCD_PINS_D4                   23
         #define LCD_PINS_D5                   25
         #define LCD_PINS_D6                   27
diff --git a/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h b/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h
index 16400be05966..dc0696328907 100644
--- a/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h
+++ b/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h
@@ -135,7 +135,7 @@
 #define BEEPER_PIN                            18
 
 #define LCD_PINS_RS                           20
-#define LCD_PINS_ENABLE                       15
+#define LCD_PINS_EN                           15
 #define LCD_PINS_D4                           14
 #define LCD_PINS_D5                           21
 #define LCD_PINS_D6                            5
diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER.h b/Marlin/src/pins/ramps/pins_ULTIMAKER.h
index c29318c37291..c822a62faf82 100644
--- a/Marlin/src/pins/ramps/pins_ULTIMAKER.h
+++ b/Marlin/src/pins/ramps/pins_ULTIMAKER.h
@@ -125,7 +125,7 @@
   #if IS_NEWPANEL
 
     #define LCD_PINS_RS                       20
-    #define LCD_PINS_ENABLE                   17
+    #define LCD_PINS_EN                       17
     #define LCD_PINS_D4                       16
     #define LCD_PINS_D5                       21
     #define LCD_PINS_D6                        5
@@ -147,7 +147,7 @@
     #define SHIFT_EN_PIN                      17
 
     #define LCD_PINS_RS                       16
-    #define LCD_PINS_ENABLE                    5
+    #define LCD_PINS_EN                        5
     #define LCD_PINS_D4                        6
     #define LCD_PINS_D5                       21
     #define LCD_PINS_D6                       20
diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h
index 25cc278adab8..5f5cb6cb1244 100644
--- a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h
+++ b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h
@@ -169,7 +169,7 @@
 #if EITHER(BOARD_REV_1_0, BOARD_REV_1_1_TO_1_3)
 
   #define LCD_PINS_RS                         24
-  #define LCD_PINS_ENABLE                     22
+  #define LCD_PINS_EN                         22
   #define LCD_PINS_D4                         36
   #define LCD_PINS_D5                         34
   #define LCD_PINS_D6                         32
@@ -182,7 +182,7 @@
   #if IS_NEWPANEL
 
     #define LCD_PINS_RS                       20
-    #define LCD_PINS_ENABLE                   17
+    #define LCD_PINS_EN                       17
     #define LCD_PINS_D4                       16
     #define LCD_PINS_D5                       21
     #define LCD_PINS_D6                        5
@@ -204,7 +204,7 @@
     #define SHIFT_EN_PIN                      17
 
     #define LCD_PINS_RS                       16
-    #define LCD_PINS_ENABLE                    5
+    #define LCD_PINS_EN                        5
     #define LCD_PINS_D4                        6
     #define LCD_PINS_D5                       21
     #define LCD_PINS_D6                       20
diff --git a/Marlin/src/pins/ramps/pins_ZRIB_V20.h b/Marlin/src/pins/ramps/pins_ZRIB_V20.h
index 127fffa7944b..d1c80f6a4afc 100644
--- a/Marlin/src/pins/ramps/pins_ZRIB_V20.h
+++ b/Marlin/src/pins/ramps/pins_ZRIB_V20.h
@@ -53,7 +53,7 @@
 
 #if ENABLED(ZONESTAR_LCD)
   #define LCD_PINS_RS                         16
-  #define LCD_PINS_ENABLE                     17
+  #define LCD_PINS_EN                         17
   #define LCD_PINS_D4                         23
   #define LCD_PINS_D5                         25
   #define LCD_PINS_D6                         27
diff --git a/Marlin/src/pins/ramps/pins_ZRIB_V53.h b/Marlin/src/pins/ramps/pins_ZRIB_V53.h
index 74188190fe5a..2b8b583075a3 100644
--- a/Marlin/src/pins/ramps/pins_ZRIB_V53.h
+++ b/Marlin/src/pins/ramps/pins_ZRIB_V53.h
@@ -336,9 +336,9 @@
 #if ENABLED(ZONESTAR_12864LCD)
   #define LCDSCREEN_NAME "ZONESTAR LCD12864"
   #define LCD_SDSS                            16
-  #define LCD_PINS_RS                         16  // ST7920_CS_PIN  LCD_PIN_RS     (PIN4 of LCD module)
-  #define LCD_PINS_ENABLE                     23  // ST7920_DAT_PIN LCD_PIN_R/W    (PIN5 of LCD module)
-  #define LCD_PINS_D4                         17  // ST7920_CLK_PIN LCD_PIN_ENABLE (PIN6 of LCD module)
+  #define LCD_PINS_RS                         16  // ST7920_CS_PIN  LCD_PIN_RS  (PIN4 of LCD module)
+  #define LCD_PINS_EN                         23  // ST7920_DAT_PIN LCD_PIN_R/W (PIN5 of LCD module)
+  #define LCD_PINS_D4                         17  // ST7920_CLK_PIN LCD_PIN_ENA (PIN6 of LCD module)
   #define BTN_EN2                             25
   #define BTN_EN1                             27
   #define BTN_ENC                             29
@@ -348,7 +348,7 @@
   #define LCDSCREEN_NAME "Reprap LCD12864"
   // Use EXP1 & EXP2 connector
   #define LCD_PINS_RS                         16  // ST7920_CS_PIN  LCD_PIN_RS
-  #define LCD_PINS_ENABLE                     17  // ST7920_DAT_PIN LCD_PIN_ENABLE
+  #define LCD_PINS_EN                         17  // ST7920_DAT_PIN LCD_PIN_ENA
   #define LCD_PINS_D4                         23  // ST7920_CLK_PIN LCD_PIN_R/W
   #define BTN_EN1                             31
   #define BTN_EN2                             33
@@ -388,7 +388,7 @@
 #if ENABLED(ZONESTAR_LCD)
   #define LCDSCREEN_NAME "LCD2004 ADCKEY"
   #define LCD_PINS_RS                EXP1_04_PIN
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_D4                EXP1_05_PIN
   #define LCD_PINS_D5                EXP1_06_PIN
   #define LCD_PINS_D6                EXP1_07_PIN
diff --git a/Marlin/src/pins/sam/pins_ADSK.h b/Marlin/src/pins/sam/pins_ADSK.h
index 7e47f122f61d..c264ffb50e98 100644
--- a/Marlin/src/pins/sam/pins_ADSK.h
+++ b/Marlin/src/pins/sam/pins_ADSK.h
@@ -160,7 +160,7 @@ A stepper for E0 extruder
   //
   // LCD / Controller
   //
-  #define LCD_PINS_ENABLE                     14
+  #define LCD_PINS_EN                         14
   #define LCD_PINS_RS                         15
   #define LCD_PINS_D4                         16
   #define LCD_PINS_D5                         17
diff --git a/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h b/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h
index bdbea60150d9..87a1260c4092 100644
--- a/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h
+++ b/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h
@@ -150,7 +150,7 @@
 //
 #if IS_RRD_FG_SC
   #define LCD_PINS_RS                         18
-  #define LCD_PINS_ENABLE                     15
+  #define LCD_PINS_EN                         15
   #define LCD_PINS_D4                         19
   #define BEEPER_PIN                          64
   #undef UI_VOLTAGE_LEVEL
diff --git a/Marlin/src/pins/sam/pins_ARCHIM1.h b/Marlin/src/pins/sam/pins_ARCHIM1.h
index e01b93a01852..a6ac53e5ece1 100644
--- a/Marlin/src/pins/sam/pins_ARCHIM1.h
+++ b/Marlin/src/pins/sam/pins_ARCHIM1.h
@@ -183,7 +183,7 @@
 #if HAS_WIRED_LCD
   #define BEEPER_PIN                          23  // D24 PA15_CTS1
   #define LCD_PINS_RS                         17  // D17 PA12_RXD1
-  #define LCD_PINS_ENABLE                     24  // D23 PA14_RTS1
+  #define LCD_PINS_EN                         24  // D23 PA14_RTS1
   #define LCD_PINS_D4                         69  // D69 PA0_CANTX0
   #define LCD_PINS_D5                         54  // D54 PA16_SCK1
   #define LCD_PINS_D6                         68  // D68 PA1_CANRX0
diff --git a/Marlin/src/pins/sam/pins_ARCHIM2.h b/Marlin/src/pins/sam/pins_ARCHIM2.h
index de06a72809b7..56202cc18868 100644
--- a/Marlin/src/pins/sam/pins_ARCHIM2.h
+++ b/Marlin/src/pins/sam/pins_ARCHIM2.h
@@ -238,7 +238,7 @@
 #if ANY(HAS_WIRED_LCD, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE)
   #define BEEPER_PIN                          23  // D24 PA15_CTS1
   #define LCD_PINS_RS                         17  // D17 PA12_RXD1
-  #define LCD_PINS_ENABLE                     24  // D23 PA14_RTS1
+  #define LCD_PINS_EN                         24  // D23 PA14_RTS1
   #define LCD_PINS_D4                         69  // D69 PA0_CANTX0
   #define LCD_PINS_D5                         54  // D54 PA16_SCK1
   #define LCD_PINS_D6                         68  // D68 PA1_CANRX0
diff --git a/Marlin/src/pins/sam/pins_DUE3DOM.h b/Marlin/src/pins/sam/pins_DUE3DOM.h
index 5d47f28abae7..c8a168228d63 100644
--- a/Marlin/src/pins/sam/pins_DUE3DOM.h
+++ b/Marlin/src/pins/sam/pins_DUE3DOM.h
@@ -114,7 +114,7 @@
 #if HAS_WIRED_LCD
 
   #define LCD_PINS_RS                         42
-  #define LCD_PINS_ENABLE                     43
+  #define LCD_PINS_EN                         43
   #define LCD_PINS_D4                         44
   #define LCD_PINS_D5                         45
   #define LCD_PINS_D6                         46
@@ -154,7 +154,7 @@
   #elif ENABLED(SPARK_FULL_GRAPHICS)
 
     #define LCD_PINS_D4                       29
-    #define LCD_PINS_ENABLE                   27
+    #define LCD_PINS_EN                       27
     #define LCD_PINS_RS                       25
 
     #define BTN_EN1                           35
diff --git a/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h b/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h
index 9d56d3626457..66d4f713f85c 100644
--- a/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h
+++ b/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h
@@ -103,7 +103,7 @@
 #if HAS_WIRED_LCD
 
   #define LCD_PINS_RS                         42
-  #define LCD_PINS_ENABLE                     43
+  #define LCD_PINS_EN                         43
   #define LCD_PINS_D4                         44
   #define LCD_PINS_D5                         45
   #define LCD_PINS_D6                         46
@@ -147,7 +147,7 @@
   #elif ENABLED(SPARK_FULL_GRAPHICS)
 
     #define LCD_PINS_D4                       29
-    #define LCD_PINS_ENABLE                   27
+    #define LCD_PINS_EN                       27
     #define LCD_PINS_RS                       25
 
     #define BTN_EN1                           35
diff --git a/Marlin/src/pins/sam/pins_KRATOS32.h b/Marlin/src/pins/sam/pins_KRATOS32.h
index 97449c2d83ae..f4e3eb479cce 100644
--- a/Marlin/src/pins/sam/pins_KRATOS32.h
+++ b/Marlin/src/pins/sam/pins_KRATOS32.h
@@ -160,7 +160,7 @@
   #if IS_RRD_FG_SC
 
     #define LCD_PINS_RS                       42
-    #define LCD_PINS_ENABLE                   43
+    #define LCD_PINS_EN                       43
     #define LCD_PINS_D4                       44
 
     #define BTN_BACK                          52
diff --git a/Marlin/src/pins/sam/pins_RADDS.h b/Marlin/src/pins/sam/pins_RADDS.h
index e3de44427808..7ebb24fde974 100644
--- a/Marlin/src/pins/sam/pins_RADDS.h
+++ b/Marlin/src/pins/sam/pins_RADDS.h
@@ -229,7 +229,7 @@
   #if ENABLED(RADDS_DISPLAY)
 
     #define LCD_PINS_RS                       42
-    #define LCD_PINS_ENABLE                   43
+    #define LCD_PINS_EN                       43
     #define LCD_PINS_D4                       44
     #define LCD_PINS_D5                       45
     #define LCD_PINS_D6                       46
@@ -252,7 +252,7 @@
     // an adapter such as https://www.thingiverse.com/thing:1740725
 
     #define LCD_PINS_RS                       42
-    #define LCD_PINS_ENABLE                   43
+    #define LCD_PINS_EN                       43
     #define LCD_PINS_D4                       44
 
     #define BEEPER_PIN                        41
@@ -276,7 +276,7 @@
   #elif ENABLED(SPARK_FULL_GRAPHICS)
 
     #define LCD_PINS_D4                       29
-    #define LCD_PINS_ENABLE                   27
+    #define LCD_PINS_EN                       27
     #define LCD_PINS_RS                       25
 
     #define BTN_EN1                           35
diff --git a/Marlin/src/pins/sam/pins_RAMPS_DUO.h b/Marlin/src/pins/sam/pins_RAMPS_DUO.h
index 5b2b2f0b6615..04a4b69ae159 100644
--- a/Marlin/src/pins/sam/pins_RAMPS_DUO.h
+++ b/Marlin/src/pins/sam/pins_RAMPS_DUO.h
@@ -45,21 +45,16 @@
 
 #define BOARD_INFO_NAME "RAMPS Duo"
 
-#define ALLOW_SAM3X8E
-#include "../ramps/pins_RAMPS.h"
-
 //
 // Temperature Sensors
 //
-#undef TEMP_0_PIN
 #define TEMP_0_PIN                             9  // Analog Input
-
-#undef TEMP_1_PIN
 #define TEMP_1_PIN                            11  // Analog Input
-
-#undef TEMP_BED_PIN
 #define TEMP_BED_PIN                          10  // Analog Input
 
+#define ALLOW_SAM3X8E
+#include "../ramps/pins_RAMPS.h"
+
 // SPI for MAX Thermocouple
 #undef TEMP_0_CS_PIN
 #if DISABLED(SDSUPPORT)
diff --git a/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h b/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h
index 75d758439c57..e1b0d7edc853 100644
--- a/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h
+++ b/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h
@@ -168,19 +168,21 @@
   // ramps-fd lcd adaptor
 
   #define BEEPER_PIN                 EXP1_01_PIN
-  #define BTN_EN1                    EXP2_05_PIN
-  #define BTN_EN2                    EXP2_03_PIN
+
   #define BTN_ENC                    EXP1_02_PIN
+  #define BTN_EN2                    EXP2_03_PIN
+  #define BTN_EN1                    EXP2_05_PIN
+
   #define SD_DETECT_PIN              EXP2_07_PIN
 
   #if IS_NEWPANEL
     #define LCD_PINS_RS              EXP1_07_PIN
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
   #endif
 
   #if ENABLED(FYSETC_MINI_12864)
-    #define DOGLCD_CS            LCD_PINS_ENABLE
-    #define DOGLCD_A0                LCD_PINS_RS
+    #define DOGLCD_CS                EXP1_08_PIN
+    #define DOGLCD_A0                EXP1_07_PIN
     #define DOGLCD_SCK               EXP2_02_PIN
     #define DOGLCD_MOSI              EXP2_06_PIN
 
diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h
index 2ae1f4827756..8b078371e9ec 100644
--- a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h
+++ b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h
@@ -230,12 +230,12 @@
   #if EITHER(RADDS_DISPLAY, IS_RRD_SC)
 
     #define LCD_PINS_RS              EXP1_04_PIN
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
 
   #elif IS_RRD_FG_SC
 
     #define LCD_PINS_RS              EXP1_07_PIN
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
 
   #elif HAS_U8GLIB_I2C_OLED
 
@@ -273,7 +273,7 @@
     //http://doku.radds.org/dokumentation/other-electronics/sparklcd/
     #error "Oops! SPARK_FULL_GRAPHICS not supported with RURAMPS4D."
     //#define LCD_PINS_D4                     29  //?
-    //#define LCD_PINS_ENABLE                 27  //?
+    //#define LCD_PINS_EN                     27  //?
     //#define LCD_PINS_RS                     25  //?
     //#define BTN_EN1                         35  //?
     //#define BTN_EN2                         33  //?
diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h
index 6034a0e82a74..8f107ff4e5d1 100644
--- a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h
+++ b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h
@@ -220,12 +220,12 @@
   #if EITHER(RADDS_DISPLAY, IS_RRD_SC)
 
     #define LCD_PINS_RS              EXP1_04_PIN
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
 
   #elif IS_RRD_FG_SC
 
     #define LCD_PINS_RS              EXP1_07_PIN
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
 
   #elif HAS_U8GLIB_I2C_OLED
 
diff --git a/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h b/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h
index 4445cf24e886..f3ec7806e620 100644
--- a/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h
+++ b/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h
@@ -153,7 +153,7 @@
 #define TEMP_0_CS_PIN                         65
 #define TEMP_1_CS_PIN                         52
 #define TEMP_2_CS_PIN                         50
-#define TEMP_3_CS_PIN                         51
+#define TEMP_3_CS_PIN                         51  // Not yet supported
 
 #define ENC424_SS                             61
 
@@ -166,7 +166,7 @@
 #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
 
   #define LCD_PINS_RS                         A8  // CS chip select / SS chip slave select
-  #define LCD_PINS_ENABLE                   MOSI  // SID (MOSI)
+  #define LCD_PINS_EN                       MOSI  // SID (MOSI)
   #define LCD_PINS_D4                        SCK  // SCK (CLK) clock
 
   #define BTN_EN1                             20
diff --git a/Marlin/src/pins/samd/pins_BRICOLEMON_LITE_V1_0.h b/Marlin/src/pins/samd/pins_BRICOLEMON_LITE_V1_0.h
index 5cd258410421..8af1054a2cd1 100644
--- a/Marlin/src/pins/samd/pins_BRICOLEMON_LITE_V1_0.h
+++ b/Marlin/src/pins/samd/pins_BRICOLEMON_LITE_V1_0.h
@@ -130,25 +130,25 @@
  *        5B    | .  . | 5V
  *               ------
  *
- *- Special mapping of EXP1 to EXP3 to work with Ender displays.
+ *- Special mapping of EXP1 to work with Ender displays.
  *
- *               Enable CR10_STOCKDISPLAY in Configuration.h and connect EXP1 to the display EXP3 with this mapping.
  *               ------
- *        VCC   | 1  2 | GND
- *        LCDDE | 3  4 | LCDRS
- *        LCDD4 | 5  6   BTN_EN2
- *        RESET | 7  8 | BTN_EN1
- *  BTN_ENCODER | 9 10 | BEEPER
+ *       BEEPER | 1  2 | ENC
+ *          EN1 | 3  4 | RESET
+ *          EN2   5  6 | LCD_D4
+ *       LCD_RS | 7  8 | LCD_EN
+ *          GND | 9 10 | 5V
  *               ------
+ *                EXP1
  *
  *- Digital pinout reference of the Bricolemon for advanced users/configurations.
  *
  *               ------                    ------
- *          VCC | 1  2 | GND          D49 | 1  2 | GND
- *          D39 | 3  4 | D38          RST | 3  4 | D44
- *          D37 | 5  6   D36          D51 | 5  6   D42
- *          D34 | 7  8 | D35          D53 | 7  8 | D43
- *          D40 | 9 10 | D41          D52 | 9 10 | D50
+ *          D41 | 1  2 | D40          D50 | 1  2 | D52
+ *          D35 | 3  4 | D34          D43 | 3  4 | D53
+ *          D36   5  6 | D37          D42   5  6 | D51
+ *          D38 | 7  8 | D39          D44 | 7  8 | RST
+ *          GND | 9 10 | VCC          GND | 9 10 | D49
  *               ------                    ------
  *                EXP1                      EXP2
  *
@@ -203,10 +203,10 @@
  * This section starts with the pins_RAMPS_144.h as example, after if you need any new
  * display, you could use normal duponts and connect it with with the scheme showed before.
  * Tested:
- *   - Ender 3 Old display (Character LCD)
- *   - Ender 3 New Serial DWING Display
+ *   - Ender-3 Old display (Character LCD)
+ *   - Ender-3 New Serial DWING Display
  *   - Reprap Display
- *   - Ender 5 New Serial Display
+ *   - Ender-5 New Serial Display
  *   - Any Reprap character display like
  */
 
@@ -235,14 +235,14 @@
 
     // TO TEST
     //#define LCD_PINS_RS            EXP2_10_PIN  // CS chip select /SS chip slave select
-    //#define LCD_PINS_ENABLE        EXP2_06_PIN  // SID (MOSI)
+    //#define LCD_PINS_EN            EXP2_06_PIN  // SID (MOSI)
     //#define LCD_PINS_D4            EXP2_02_PIN  // SCK (CLK) clock
 
   #elif BOTH(IS_NEWPANEL, PANEL_ONE)
 
     // TO TEST
     //#define LCD_PINS_RS            EXP1_02_PIN
-    //#define LCD_PINS_ENABLE        EXP2_05_PIN
+    //#define LCD_PINS_EN            EXP2_05_PIN
     //#define LCD_PINS_D4                     57  // Mega/Due:65 - AGCM4:57
     //#define LCD_PINS_D5                     58  // Mega/Due:66 - AGCM4:58
     //#define LCD_PINS_D6            EXP2_07_PIN
@@ -254,7 +254,7 @@
 
       // TO TEST
       #define LCD_PINS_RS            EXP3_04_PIN
-      #define LCD_PINS_ENABLE        EXP3_03_PIN
+      #define LCD_PINS_EN            EXP3_03_PIN
       #define LCD_PINS_D4            EXP3_05_PIN
 
       #if !IS_NEWPANEL
@@ -266,7 +266,7 @@
 
       // TO TEST
       //#define LCD_PINS_RS                   56  // Mega/Due:64 - AGCM4:56
-      //#define LCD_PINS_ENABLE      EXP2_07_PIN
+      //#define LCD_PINS_EN          EXP2_07_PIN
       //#define LCD_PINS_D4                   55  // Mega/Due:63 - AGCM4:55
       //#define LCD_PINS_D5          EXP1_02_PIN
       //#define LCD_PINS_D6          EXP2_05_PIN
@@ -287,7 +287,7 @@
       #else
         // Definitions for any standard Display
         #define LCD_PINS_RS          EXP1_04_PIN
-        #define LCD_PINS_ENABLE      EXP1_03_PIN
+        #define LCD_PINS_EN          EXP1_03_PIN
         #define LCD_PINS_D4          EXP1_05_PIN
         #define LCD_PINS_D5          EXP1_06_PIN
         #define LCD_PINS_D6          EXP1_07_PIN
diff --git a/Marlin/src/pins/samd/pins_BRICOLEMON_V1_0.h b/Marlin/src/pins/samd/pins_BRICOLEMON_V1_0.h
index 13434fffeb52..7378731c9071 100644
--- a/Marlin/src/pins/samd/pins_BRICOLEMON_V1_0.h
+++ b/Marlin/src/pins/samd/pins_BRICOLEMON_V1_0.h
@@ -182,25 +182,25 @@
  *        5B    | .  . | 5V
  *               ------
  *
- *- Special mapping of EXP1 to EXP3 to work with Ender displays.
+ *- Special mapping of EXP1 to work with Ender displays.
  *
- *               Enable CR10_STOCKDISPLAY in Configuration.h and connect EXP1 to the display EXP3 with this mapping.
  *               ------
- *        VCC   | 1  2 | GND
- *        LCDDE | 3  4 | LCDRS
- *        LCDD4 | 5  6   BTN_EN2
- *        RESET | 7  8 | BTN_EN1
- *  BTN_ENCODER | 9 10 | BEEPER
+ *       BEEPER | 1  2 | ENC
+ *          EN1 | 3  4 | RESET
+ *          EN2   5  6 | LCD_D4
+ *       LCD_RS | 7  8 | LCD_EN
+ *          GND | 9 10 | 5V
  *               ------
+ *                EXP1
  *
  *- Digital pinout reference of the Bricolemon for advanced users/configurations.
  *
  *               ------                    ------
- *          VCC | 1  2 | GND          D49 | 1  2 | GND
- *          D39 | 3  4 | D38          RST | 3  4 | D44
- *          D37 | 5  6   D36          D51 | 5  6   D42
- *          D34 | 7  8 | D35          D53 | 7  8 | D43
- *          D40 | 9 10 | D41          D52 | 9 10 | D50
+ *          D41 | 1  2 | D40          D50 | 1  2 | D52
+ *          D35 | 3  4 | D34          D43 | 3  4 | D53
+ *          D36   5  6 | D37          D42   5  6 | D51
+ *          D38 | 7  8 | D39          D44 | 7  8 | RST
+ *          GND | 9 10 | VCC          GND | 9 10 | D49
  *               ------                    ------
  *                EXP1                      EXP2
  *
@@ -255,10 +255,10 @@
  * This sections starts with the pins_RAMPS_144.h as example, after if you need any new
  * display, you could use normal duponts and connect it with with the scheme showed before.
  * Tested:
- *   - Ender 3 Old display (Character LCD)
- *   - Ender 3 New Serial DWING Display
+ *   - Ender-3 Old display (Character LCD)
+ *   - Ender-3 New Serial DWING Display
  *   - Reprap Display
- *   - Ender 5 New Serial Display
+ *   - Ender-5 New Serial Display
  *   - Any Reprap character display like
  */
 
@@ -288,14 +288,14 @@
 
     // TO TEST
     //#define LCD_PINS_RS            EXP2_10_PIN  // CS chip select /SS chip slave select
-    //#define LCD_PINS_ENABLE        EXP2_06_PIN  // SID (MOSI)
+    //#define LCD_PINS_EN            EXP2_06_PIN  // SID (MOSI)
     //#define LCD_PINS_D4            EXP2_02_PIN  // SCK (CLK) clock
 
   #elif BOTH(IS_NEWPANEL, PANEL_ONE)
 
     // TO TEST
     //#define LCD_PINS_RS            EXP1_02_PIN
-    //#define LCD_PINS_ENABLE        EXP2_05_PIN
+    //#define LCD_PINS_EN            EXP2_05_PIN
     //#define LCD_PINS_D4                     57  // Mega/Due:65 - AGCM4:57
     //#define LCD_PINS_D5                     58  // Mega/Due:66 - AGCM4:58
     //#define LCD_PINS_D6            EXP2_07_PIN
@@ -307,7 +307,7 @@
 
       // TO TEST
       #define LCD_PINS_RS            EXP3_04_PIN
-      #define LCD_PINS_ENABLE        EXP3_03_PIN
+      #define LCD_PINS_EN            EXP3_03_PIN
       #define LCD_PINS_D4            EXP3_05_PIN
 
       #if !IS_NEWPANEL
@@ -319,7 +319,7 @@
 
       // TO TEST
       //#define LCD_PINS_RS                   56  // Mega/Due:64 - AGCM4:56
-      //#define LCD_PINS_ENABLE      EXP2_07_PIN
+      //#define LCD_PINS_EN          EXP2_07_PIN
       //#define LCD_PINS_D4                   55  // Mega/Due:63 - AGCM4:55
       //#define LCD_PINS_D5          EXP1_02_PIN
       //#define LCD_PINS_D6          EXP2_05_PIN
@@ -340,7 +340,7 @@
       #else
         // Definitions for any standard Display
         #define LCD_PINS_RS          EXP1_04_PIN
-        #define LCD_PINS_ENABLE      EXP1_03_PIN
+        #define LCD_PINS_EN          EXP1_03_PIN
         #define LCD_PINS_D4          EXP1_05_PIN
         #define LCD_PINS_D5          EXP1_06_PIN
         #define LCD_PINS_D6          EXP1_07_PIN
diff --git a/Marlin/src/pins/samd/pins_MINITRONICS20.h b/Marlin/src/pins/samd/pins_MINITRONICS20.h
index 12438fe57e9e..804750b69a3d 100644
--- a/Marlin/src/pins/samd/pins_MINITRONICS20.h
+++ b/Marlin/src/pins/samd/pins_MINITRONICS20.h
@@ -174,10 +174,10 @@
  * This sections starts with the pins_RAMPS_144.h as example, after if you need any new
  * display, you could use normal duponts and connect it with with the scheme showed before.
  * Tested:
- *   - Ender 3 Old display (Character LCD)
- *   - Ender 3 New Serial DWING Display
+ *   - Ender-3 Old display (Character LCD)
+ *   - Ender-3 New Serial DWING Display
  *   - Reprap Display
- *   - Ender 5 New Serial Display
+ *   - Ender-5 New Serial Display
  *   - Any Reprap character display like
  */
 
@@ -190,7 +190,7 @@
   #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
 
     #define LCD_PINS_RS                       18  // CS chip select /SS chip slave select
-    #define LCD_PINS_ENABLE                 MOSI  // SID (MOSI)
+    #define LCD_PINS_EN                     MOSI  // SID (MOSI)
     #define LCD_PINS_D4                      SCK  // SCK (CLK) clock
 
     #define BTN_ENC                           23
@@ -201,7 +201,7 @@
 
     // TO TEST
     //#define LCD_PINS_RS            EXP1_02_PIN
-    //#define LCD_PINS_ENABLE        EXP2_05_PIN
+    //#define LCD_PINS_EN            EXP2_05_PIN
     //#define LCD_PINS_D4                     57  // Mega/Due:65 - AGCM4:57
     //#define LCD_PINS_D5                     58  // Mega/Due:66 - AGCM4:58
     //#define LCD_PINS_D6            EXP2_07_PIN
@@ -213,7 +213,7 @@
 
       // TO TEST
       //#define LCD_PINS_RS          EXP3_04_PIN
-      //#define LCD_PINS_ENABLE      EXP3_03_PIN
+      //#define LCD_PINS_EN          EXP3_03_PIN
       //#define LCD_PINS_D4          EXP3_05_PIN
 
       #if !IS_NEWPANEL
@@ -225,7 +225,7 @@
 
       // TO TEST
       //#define LCD_PINS_RS                   56  // Mega/Due:64 - AGCM4:56
-      //#define LCD_PINS_ENABLE      EXP2_07_PIN
+      //#define LCD_PINS_EN          EXP2_07_PIN
       //#define LCD_PINS_D4                   55  // Mega/Due:63 - AGCM4:55
       //#define LCD_PINS_D5          EXP1_02_PIN
       //#define LCD_PINS_D6          EXP2_05_PIN
@@ -246,7 +246,7 @@
       #else
         // Definitions for any standard Display
         #define LCD_PINS_RS          EXP1_04_PIN
-        #define LCD_PINS_ENABLE      EXP1_03_PIN
+        #define LCD_PINS_EN          EXP1_03_PIN
         #define LCD_PINS_D4          EXP1_05_PIN
         #define LCD_PINS_D5          EXP1_06_PIN
         #define LCD_PINS_D6          EXP1_07_PIN
diff --git a/Marlin/src/pins/samd/pins_RAMPS_144.h b/Marlin/src/pins/samd/pins_RAMPS_144.h
index ed10c4d284de..aa262f5a60f6 100644
--- a/Marlin/src/pins/samd/pins_RAMPS_144.h
+++ b/Marlin/src/pins/samd/pins_RAMPS_144.h
@@ -273,14 +273,14 @@
 
     // TO TEST
     //#define LCD_PINS_RS                     49  // CS chip select /SS chip slave select
-    //#define LCD_PINS_ENABLE                 51  // SID (MOSI)
+    //#define LCD_PINS_EN                     51  // SID (MOSI)
     //#define LCD_PINS_D4                     52  // SCK (CLK) clock
 
   #elif BOTH(IS_NEWPANEL, PANEL_ONE)
 
     // TO TEST
     //#define LCD_PINS_RS                     40
-    //#define LCD_PINS_ENABLE                 42
+    //#define LCD_PINS_EN                     42
     //#define LCD_PINS_D4                     57  // Mega/Due:65 - AGCM4:57
     //#define LCD_PINS_D5                     58  // Mega/Due:66 - AGCM4:58
     //#define LCD_PINS_D6                     44
@@ -292,7 +292,7 @@
 
       // TO TEST
       //#define LCD_PINS_RS                   27
-      //#define LCD_PINS_ENABLE               29
+      //#define LCD_PINS_EN                   29
       //#define LCD_PINS_D4                   25
 
       #if !IS_NEWPANEL
@@ -304,7 +304,7 @@
 
       // TO TEST
       //#define LCD_PINS_RS                   56  // Mega/Due:64 - AGCM4:56
-      //#define LCD_PINS_ENABLE               44
+      //#define LCD_PINS_EN                   44
       //#define LCD_PINS_D4                   55  // Mega/Due:63 - AGCM4:55
       //#define LCD_PINS_D5                   40
       //#define LCD_PINS_D6                   42
@@ -323,7 +323,7 @@
         //#define DOGLCD_A0          LCD_PINS_DC
       #else
         #define LCD_PINS_RS                   16
-        #define LCD_PINS_ENABLE               17
+        #define LCD_PINS_EN                   17
         #define LCD_PINS_D4                   23
         #define LCD_PINS_D5                   25
         #define LCD_PINS_D6                   27
diff --git a/Marlin/src/pins/sanguino/pins_ANET_10.h b/Marlin/src/pins/sanguino/pins_ANET_10.h
index 176bb2be12c4..e57cc9f6fa72 100644
--- a/Marlin/src/pins/sanguino/pins_ANET_10.h
+++ b/Marlin/src/pins/sanguino/pins_ANET_10.h
@@ -175,7 +175,7 @@
 
     #define SERVO0_PIN                        27  // free for BLTouch/3D-Touch
     #define LCD_PINS_RS                       28
-    #define LCD_PINS_ENABLE                   29
+    #define LCD_PINS_EN                       29
     #define LCD_PINS_D4                       10
     #define LCD_PINS_D5                       11
     #define LCD_PINS_D6                       16
@@ -192,7 +192,7 @@
       #define SERVO0_PIN                      30
       #define BEEPER_PIN                      27
       #define LCD_PINS_RS                     29
-      #define LCD_PINS_ENABLE                 16
+      #define LCD_PINS_EN                     16
       #define LCD_PINS_D4                     11
       #define BTN_EN1                         28
       #define BTN_EN2                         10
@@ -204,7 +204,7 @@
       #define SERVO0_PIN                      29  // free for BLTouch/3D-Touch
       #define BEEPER_PIN                      17
       #define LCD_PINS_RS                     27
-      #define LCD_PINS_ENABLE                 28
+      #define LCD_PINS_EN                     28
       #define LCD_PINS_D4                     30
       #define BTN_EN1                         11
       #define BTN_EN2                         10
@@ -233,11 +233,11 @@
  * published by oderwat on Thingiverse at https://www.thingiverse.com/thing:2103748.
  *
  * Using that adapter requires changing the pin definition as follows:
- *   #define SERVO0_PIN        27   // free for BLTouch/3D-Touch
- *   #define BEEPER_PIN        28
- *   #define LCD_PINS_RS       30
- *   #define LCD_PINS_ENABLE   29
- *   #define LCD_PINS_D4       17
+ *   #define SERVO0_PIN   27   // free for BLTouch/3D-Touch
+ *   #define BEEPER_PIN   28
+ *   #define LCD_PINS_RS  30
+ *   #define LCD_PINS_EN  29
+ *   #define LCD_PINS_D4  17
  *
  * The BLTouch pin becomes LCD:3
  */
@@ -247,32 +247,32 @@
  * ===================== LCD PINOUTS ==================================
  * ====================================================================
  *
- *   Anet V1.0 controller           | ZONESTAR_LCD      | ANET_FULL_      | RepRapDiscount Full      | Thingiverse RepRap wiring
- *   physical   logical   alt       |                   | GRAPHICS_LCD    | Graphics Display Wiring  | https://www.thingiverse
- *     pin        pin     functions |                   |                 |                          | .com/thing:2103748
- *------------------------------------------------------------------------------------------------------------------------
- *   ANET-J3.1    8 ***             | N/A               | J3_TX ***       |                          |
- *   ANET-J3.2    9 ***             | N/A               | J3_RX ***       |                          |
- *   ANET-J3.3    6       MISO      | N/A               | MISO ***        | EXP2.1   MISO            | EXP2.1   MISO
- *   ANET-J3.4    +5V               | N/A               | +5V             |                          |
- *   ANET-J3.5    7       SCK       | N/A               | SCK ***         | EXP2.2   SCK             | EXP2.2   SCK
- *   ANET-J3.6    5       MOSI      | N/A               | MOSI ***        | EXP2.6   MOSI            | EXP2.6   MOSI
- *   ANET-J3.7    !RESET            | N/A               | button          | EXP2.8   panel button    | EXP2.8   panel button
- *   ANET-J3.8    GND               | N/A               | GND             | EXP2.9   GND             | EXP2.9   GND
- *   ANET-J3.9    4       Don't use | N/A               | N/C             |                          |
- *   ANET-J3.10   +3.3V             | N/A               | +3.3V ***       |                          |
- *                                  |                   |                 |                          |
- *                                  |                   |                 |                          |
- *   ANET-LCD.1   GND               | GND               | GND             | EXP1.9   GND             | EXP1.9   GND
- *   ANET-LCD.2   +5V               | +5V               | +5V             | EXP1.10  +5V             | EXP1.10  +5V
- *   ANET-LCD.3   27      A4        | N/C *             | LCD_PINS_RS     | EXP1.4   LCD_PINS_RS     | EXP2.4   SDSS or N/C *
- *   ANET-LCD.4   10                | LCD_PINS_D4       | BTN_EN2         | EXP2.3   BTN_EN2         | EXP2.3   BTN_EN2
- *   ANET-LCD.5   28      A3        | LCD_PINS_RS       | LCD_PINS_ENABLE | EXP1.3   LCD_PINS_ENABLE | EXP1.1   BEEPER_PIN
- *   ANET-LCD.6   11                | LCD_PINS_D5       | BTN_EN1         | EXP2.5   BTN_EN1         | EXP2.5   BTN_EN1
- *   ANET-LCD.7   29      A2        | LCD_PINS_ENABLE   | N/C *           | EXP2.4   SDSS or N/C *   | EXP1.3   LCD_PINS_ENABLE
- *   ANET-LCD.8   16      SCL       | LCD_PINS_D6       | BTN_ENC         | EXP1.2   BTN_ENC         | EXP1.2   BTN_ENC
- *   ANET-LCD.9   30      A1        | ADC_KEYPAD_PIN ** | LCD_PINS_D4     | EXP1.5   LCD_PINS_D4     | EXP1.4   LCD_PINS_RS
- *   ANET-LCD.10  17      SDA       | LCD_PINS_D7       | BEEPER_PIN      | EXP1.1   BEEPER_PIN      | EXP1.5   LCD_PINS_D4
+ *   Anet V1.0 controller           | ZONESTAR_LCD      | ANET_FULL_   | RepRapDiscount Full     | Thingiverse RepRap wiring
+ *   physical   logical   alt       |                   | GRAPHICS_LCD | Graphics Display Wiring | https://www.thingiverse
+ *     pin        pin     functions |                   |              |                         | .com/thing:2103748
+ *--------------------------------------------------------------------------------------------------------------------
+ *   ANET-J3.1    8 ***             | N/A               | J3_TX ***    |                         |
+ *   ANET-J3.2    9 ***             | N/A               | J3_RX ***    |                         |
+ *   ANET-J3.3    6       MISO      | N/A               | MISO ***     | EXP2.1   MISO           | EXP2.1   MISO
+ *   ANET-J3.4    +5V               | N/A               | +5V          |                         |
+ *   ANET-J3.5    7       SCK       | N/A               | SCK ***      | EXP2.2   SCK            | EXP2.2   SCK
+ *   ANET-J3.6    5       MOSI      | N/A               | MOSI ***     | EXP2.6   MOSI           | EXP2.6   MOSI
+ *   ANET-J3.7    !RESET            | N/A               | button       | EXP2.8   panel button   | EXP2.8   panel button
+ *   ANET-J3.8    GND               | N/A               | GND          | EXP2.9   GND            | EXP2.9   GND
+ *   ANET-J3.9    4       Don't use | N/A               | N/C          |                         |
+ *   ANET-J3.10   +3.3V             | N/A               | +3.3V ***    |                         |
+ *                                  |                   |              |                         |
+ *                                  |                   |              |                         |
+ *   ANET-LCD.1   GND               | GND               | GND          | EXP1.9   GND            | EXP1.9   GND
+ *   ANET-LCD.2   +5V               | +5V               | +5V          | EXP1.10  +5V            | EXP1.10  +5V
+ *   ANET-LCD.3   27      A4        | N/C *             | LCD_PINS_RS  | EXP1.4   LCD_PINS_RS    | EXP2.4   SDSS or N/C *
+ *   ANET-LCD.4   10                | LCD_PINS_D4       | BTN_EN2      | EXP2.3   BTN_EN2        | EXP2.3   BTN_EN2
+ *   ANET-LCD.5   28      A3        | LCD_PINS_RS       | LCD_PINS_EN  | EXP1.3   LCD_PINS_EN    | EXP1.1   BEEPER_PIN
+ *   ANET-LCD.6   11                | LCD_PINS_D5       | BTN_EN1      | EXP2.5   BTN_EN1        | EXP2.5   BTN_EN1
+ *   ANET-LCD.7   29      A2        | LCD_PINS_EN       | N/C *        | EXP2.4   SDSS or N/C *  | EXP1.3   LCD_PINS_EN
+ *   ANET-LCD.8   16      SCL       | LCD_PINS_D6       | BTN_ENC      | EXP1.2   BTN_ENC        | EXP1.2   BTN_ENC
+ *   ANET-LCD.9   30      A1        | ADC_KEYPAD_PIN ** | LCD_PINS_D4  | EXP1.5   LCD_PINS_D4    | EXP1.4   LCD_PINS_RS
+ *   ANET-LCD.10  17      SDA       | LCD_PINS_D7       | BEEPER_PIN   | EXP1.1   BEEPER_PIN     | EXP1.5   LCD_PINS_D4
  *
  *                 N/C * - if not connected to the LCD can be used for BLTouch servo input
  *                 ** - analog pin -WITHOUT a pullup
@@ -284,7 +284,7 @@
  *   physical pin  function
  *   EXP1.1        BEEPER
  *   EXP1.2        BTN_ENC
- *   EXP1.3        LCD_PINS_ENABLE
+ *   EXP1.3        LCD_PINS_EN
  *   EXP1.4        LCD_PINS_RS
  *   EXP1.5        LCD_PINS_D4
  *   EXP1.6        LCD_PINS_D5 (not used)
diff --git a/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h b/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h
index 6d7678e6e3d2..3927250b15b5 100644
--- a/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h
+++ b/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h
@@ -116,7 +116,7 @@
 
 // 4bit LCD Support
 #define LCD_PINS_RS                           18
-#define LCD_PINS_ENABLE                       17
+#define LCD_PINS_EN                           17
 #define LCD_PINS_D4                           16
 #define LCD_PINS_D5                           15
 #define LCD_PINS_D6                           13
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h b/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h
index 7984e64b5f56..398343cb972c 100644
--- a/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h
+++ b/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h
@@ -51,7 +51,7 @@
 #if ANY(MKS_MINI_12864, CR10_STOCKDISPLAY, ENDER2_STOCKDISPLAY)
   #if EITHER(CR10_STOCKDISPLAY, ENDER2_STOCKDISPLAY)
     #define LCD_PINS_RS                       28  // ST9720 CS
-    #define LCD_PINS_ENABLE                   17  // ST9720 DAT
+    #define LCD_PINS_EN                       17  // ST9720 DAT
     #define LCD_PINS_D4                       30  // ST9720 CLK
   #endif
   #if EITHER(MKS_MINI_12864, ENDER2_STOCKDISPLAY)
@@ -119,7 +119,7 @@
   PIN:  15   Port: D7        X_STEP_PIN                  protected
   PIN:  16   Port: C0        BTN_ENC                     Input  = 1
   .                          SCL                         Input  = 1
-  PIN:  17   Port: C1        LCD_PINS_ENABLE             Output = 0
+  PIN:  17   Port: C1        LCD_PINS_EN                 Output = 0
   .                          SDA                         Output = 0
   PIN:  18   Port: C2        X_MIN_PIN                   protected
   .                          X_STOP_PIN                  protected
@@ -145,8 +145,8 @@
  *        ------                                      ------
  *   PA4 | 1  2 | PC0                     BEEPER_PIN | 1  2 | BTN_ENC
  *   PD3 | 3  4 | RESET                      BTN_EN1 | 3  4 | RESET
- *   PD2   5  6 | PA1                        BTN_EN2   5  6 | LCD_PINS_D4     (ST9720 CLK)
- *   PA3 | 7  8 | PC1        (ST9720 CS) LCD_PINS_RS | 7  8 | LCD_PINS_ENABLE (ST9720 DAT)
+ *   PD2   5  6 | PA1                        BTN_EN2   5  6 | LCD_D4 (ST9720 CLK)
+ *   PA3 | 7  8 | PC1             (ST9720 CS) LCD_RS | 7  8 | LCD_EN (ST9720 DAT)
  *   GND | 9 10 | 5V                             GND | 9 10 | 5V
  *        ------                                      ------
  */
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h b/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h
index 00c9db6f81a8..323ecaa029fe 100644
--- a/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h
+++ b/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h
@@ -30,7 +30,7 @@
 
 #if ENABLED(CR10_STOCKDISPLAY)
   #define LCD_PINS_RS                         17  // ST9720 CS
-  #define LCD_PINS_ENABLE                     16  // ST9720 DAT
+  #define LCD_PINS_EN                         16  // ST9720 DAT
   #define LCD_PINS_D4                         11  // ST9720 CLK
   #define BTN_EN1                             30
   #define BTN_EN2                             29
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h b/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h
index da010ab1a6e2..6b47d9186c41 100644
--- a/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h
+++ b/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h
@@ -34,7 +34,7 @@
 
 #if EITHER(CR10_STOCKDISPLAY, LCD_FOR_MELZI)
   #define LCD_PINS_RS                         30
-  #define LCD_PINS_ENABLE                     28
+  #define LCD_PINS_EN                         28
   #define LCD_PINS_D4                         16
   #define LCD_PINS_D5                         17
   #define LCD_PINS_D6                         27
diff --git a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
index 1459eab6463b..45b326e74e8f 100644
--- a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
+++ b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
@@ -158,7 +158,7 @@
     #if ENABLED(LCD_FOR_MELZI)
 
       #define LCD_PINS_RS                     17
-      #define LCD_PINS_ENABLE                 16
+      #define LCD_PINS_EN                     16
       #define LCD_PINS_D4                     11
       #define KILL_PIN                        10
       #define BEEPER_PIN                      27
@@ -167,7 +167,7 @@
 
       #if IS_MELZI
         #define LCD_PINS_RS                   30  // CS chip select /SS chip slave select
-        #define LCD_PINS_ENABLE               29  // SID (MOSI)
+        #define LCD_PINS_EN                   29  // SID (MOSI)
         #define LCD_PINS_D4                   17  // SCK (CLK) clock
         // Pin 27 is taken by LED_PIN, but Melzi LED does nothing with
         // Marlin so this can be used for BEEPER_PIN. You can use this pin
@@ -175,7 +175,7 @@
         #define BEEPER_PIN                    27
       #else                                       // Sanguinololu >=1.3
         #define LCD_PINS_RS                    4
-        #define LCD_PINS_ENABLE               17
+        #define LCD_PINS_EN                   17
         #define LCD_PINS_D4                   30
         #define LCD_PINS_D5                   29
         #define LCD_PINS_D6                   28
@@ -210,7 +210,7 @@
   #elif ENABLED(ZONESTAR_LCD)                     // For the Tronxy Melzi boards
 
     #define LCD_PINS_RS                       28
-    #define LCD_PINS_ENABLE                   29
+    #define LCD_PINS_EN                       29
     #define LCD_PINS_D4                       10
     #define LCD_PINS_D5                       11
     #define LCD_PINS_D6                       16
@@ -219,7 +219,7 @@
   #else
 
     #define LCD_PINS_RS                        4
-    #define LCD_PINS_ENABLE                   17
+    #define LCD_PINS_EN                       17
     #define LCD_PINS_D4                       30
     #define LCD_PINS_D5                       29
     #define LCD_PINS_D6                       28
diff --git a/Marlin/src/pins/sanguino/pins_ZMIB_V2.h b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h
index 5b0b996d18f2..dce01177becc 100644
--- a/Marlin/src/pins/sanguino/pins_ZMIB_V2.h
+++ b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h
@@ -194,7 +194,7 @@
   #define FORCE_SOFT_SPI
   //#define LCD_SDSS                 EXP1_03_PIN
   #define LCD_PINS_RS                EXP1_03_PIN  // ST7920_CS_PIN  (LCD module pin 4)
-  #define LCD_PINS_ENABLE            EXP1_06_PIN  // ST7920_DAT_PIN (LCD module pin 5)
+  #define LCD_PINS_EN                EXP1_06_PIN  // ST7920_DAT_PIN (LCD module pin 5)
   #define LCD_PINS_D4                EXP1_04_PIN  // ST7920_CLK_PIN (LCD module pin 6)
 
   #define BOARD_ST7920_DELAY_1       DELAY_2_NOP
diff --git a/Marlin/src/pins/stm32f1/pins_BEAST.h b/Marlin/src/pins/stm32f1/pins_BEAST.h
index 80967bad074c..eca4529636ba 100644
--- a/Marlin/src/pins/stm32f1/pins_BEAST.h
+++ b/Marlin/src/pins/stm32f1/pins_BEAST.h
@@ -112,7 +112,7 @@
     #error "REPRAPWORLD_GRAPHICAL_LCD is not supported."
   #else
     #define LCD_PINS_RS                     PB8
-    #define LCD_PINS_ENABLE                 PD2
+    #define LCD_PINS_EN                     PD2
     #define LCD_PINS_D4                     PB12
     #define LCD_PINS_D5                     PB13
     #define LCD_PINS_D6                     PB14
diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_CR6.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_CR6.h
index 00dc0613f27f..06646e2e5927 100644
--- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_CR6.h
+++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_CR6.h
@@ -126,7 +126,7 @@
   #define BTN_EN2                           PA10
 
   #define LCD_PINS_RS                       PB8
-  #define LCD_PINS_ENABLE                   PB15
+  #define LCD_PINS_EN                       PB15
   #define LCD_PINS_D4                       PB9
 
   #define BEEPER_PIN                        PB5
diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h
index 8fb194c27f06..aa8795bf3e20 100644
--- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h
+++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h
@@ -184,7 +184,7 @@
     #define BTN_EN2                  EXP1_05_PIN
 
     #define LCD_PINS_RS              EXP1_07_PIN
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(ZONESTAR_LCD)                     // ANET A8 LCD Controller - Must convert to 3.3V - CONNECTING TO 5V WILL DAMAGE THE BOARD!
@@ -194,7 +194,7 @@
     #endif
 
     #define LCD_PINS_RS              EXP1_06_PIN
-    #define LCD_PINS_ENABLE          EXP1_02_PIN
+    #define LCD_PINS_EN              EXP1_02_PIN
     #define LCD_PINS_D4              EXP1_07_PIN
     #define LCD_PINS_D5              EXP1_05_PIN
     #define LCD_PINS_D6              EXP1_03_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h
index 9d85e211f763..689e73c4f3e1 100644
--- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h
+++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h
@@ -169,7 +169,7 @@
     #define BTN_EN2                  EXP1_05_PIN
 
     #define LCD_PINS_RS              EXP1_07_PIN
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(LCD_FOR_MELZI)
@@ -200,7 +200,7 @@
     #define BTN_EN2                  EXP1_07_PIN
 
     #define LCD_PINS_RS              EXP1_01_PIN
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
   #elif ENABLED(ZONESTAR_LCD)                     // ANET A8 LCD Controller - Must convert to 3.3V - CONNECTING TO 5V WILL DAMAGE THE BOARD!
@@ -210,7 +210,7 @@
     #endif
 
     #define LCD_PINS_RS              EXP1_06_PIN
-    #define LCD_PINS_ENABLE          EXP1_02_PIN
+    #define LCD_PINS_EN              EXP1_02_PIN
     #define LCD_PINS_D4              EXP1_07_PIN
     #define LCD_PINS_D5              EXP1_05_PIN
     #define LCD_PINS_D6              EXP1_03_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h
index c45e7fb282d3..eb2f17f40a9b 100644
--- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h
+++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h
@@ -180,7 +180,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif IS_TFTGLCD_PANEL
@@ -201,7 +201,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
 
diff --git a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h
index a75825658c9b..5cb2845d9fb5 100644
--- a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h
+++ b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h
@@ -151,7 +151,7 @@
 
   #define LCD_PINS_RS                EXP1_07_PIN  // CS -- SOFT SPI for ENDER3 LCD
   #define LCD_PINS_D4                EXP1_06_PIN  // SCLK
-  #define LCD_PINS_ENABLE            EXP1_08_PIN  // DATA MOSI
+  #define LCD_PINS_EN                EXP1_08_PIN  // DATA MOSI
 #endif
 
 // Alter timing for graphical display
diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D.h b/Marlin/src/pins/stm32f1/pins_CHITU3D.h
index 32894bb72c97..73030c8ef6eb 100644
--- a/Marlin/src/pins/stm32f1/pins_CHITU3D.h
+++ b/Marlin/src/pins/stm32f1/pins_CHITU3D.h
@@ -102,18 +102,18 @@
 
   #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
     #define LCD_PINS_RS                     PD1   // 49  // CS chip select /SS chip slave select
-    #define LCD_PINS_ENABLE                 PD3   // 51  // SID (MOSI)
+    #define LCD_PINS_EN                     PD3   // 51  // SID (MOSI)
     #define LCD_PINS_D4                     PD4   // 52  // SCK (CLK) clock
   #elif BOTH(IS_NEWPANEL, PANEL_ONE)
     #define LCD_PINS_RS                     PB8
-    #define LCD_PINS_ENABLE                 PD2
+    #define LCD_PINS_EN                     PD2
     #define LCD_PINS_D4                     PB12
     #define LCD_PINS_D5                     PB13
     #define LCD_PINS_D6                     PB14
     #define LCD_PINS_D7                     PB15
   #else
     #define LCD_PINS_RS                     PB8
-    #define LCD_PINS_ENABLE                 PD2
+    #define LCD_PINS_EN                     PD2
     #define LCD_PINS_D4                     PB12
     #define LCD_PINS_D5                     PB13
     #define LCD_PINS_D6                     PB14
diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V24S1.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V24S1.h
index 0d2ad835d397..f7a73de28471 100644
--- a/Marlin/src/pins/stm32f1/pins_CREALITY_V24S1.h
+++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V24S1.h
@@ -22,7 +22,7 @@
 #pragma once
 
 /**
- * Creality v2.4.S1 (STM32F103RE / STM32F103RC) v101 as found in the Ender 7
+ * Creality v2.4.S1 (STM32F103RE / STM32F103RC) v101 as found in the Ender-7
  */
 
 #define BOARD_INFO_NAME      "Creality v2.4.S1 V101"
diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V24S1_301.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V24S1_301.h
index 7a8f3189aad8..4276db5e9f22 100644
--- a/Marlin/src/pins/stm32f1/pins_CREALITY_V24S1_301.h
+++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V24S1_301.h
@@ -22,7 +22,7 @@
 #pragma once
 
 /**
- * Creality V24S1_301 (STM32F103RE / STM32F103RC) board pin assignments as found on Ender 3 S1.
+ * Creality V24S1_301 (STM32F103RE / STM32F103RC) board pin assignments as found on Ender-3 S1.
  * Also supports the STM32F4 version of the board with identical pin mapping.
  */
 
@@ -40,7 +40,7 @@
   #define BOARD_INFO_NAME      "Creality V24S1-301"
 #endif
 #ifndef DEFAULT_MACHINE_NAME
-  #define DEFAULT_MACHINE_NAME "Ender 3 S1"
+  #define DEFAULT_MACHINE_NAME "Ender-3 S1"
 #endif
 
 //
diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h
index e71fec0181f5..c028deaa99d2 100644
--- a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h
+++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h
@@ -35,7 +35,7 @@
   #define BOARD_INFO_NAME      "Creality V4"
 #endif
 #ifndef DEFAULT_MACHINE_NAME
-  #define DEFAULT_MACHINE_NAME "Ender 3 V2"
+  #define DEFAULT_MACHINE_NAME "Ender-3 V2"
 #endif
 
 #define BOARD_NO_NATIVE_USB
@@ -211,7 +211,7 @@
 #if ENABLED(CR10_STOCKDISPLAY)
 
   #define LCD_PINS_RS                EXP3_07_PIN
-  #define LCD_PINS_ENABLE            EXP3_08_PIN
+  #define LCD_PINS_EN                EXP3_08_PIN
   #define LCD_PINS_D4                EXP3_06_PIN
 
   #define BTN_ENC                    EXP3_02_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V4210.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V4210.h
index d85758981f3a..12a5e5ea5106 100644
--- a/Marlin/src/pins/stm32f1/pins_CREALITY_V4210.h
+++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V4210.h
@@ -193,7 +193,7 @@
   #endif
 
   #define LCD_PINS_RS                EXP3_07_PIN
-  #define LCD_PINS_ENABLE            EXP3_08_PIN
+  #define LCD_PINS_EN                EXP3_08_PIN
   #define LCD_PINS_D4                EXP3_06_PIN
 
   #define BTN_ENC                    EXP3_02_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V521.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V521.h
index c90d76d17d9e..c3b66b034a2a 100644
--- a/Marlin/src/pins/stm32f1/pins_CREALITY_V521.h
+++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V521.h
@@ -197,7 +197,7 @@
   #endif
 
   #define LCD_PINS_RS                EXP3_07_PIN
-  #define LCD_PINS_ENABLE            EXP3_08_PIN
+  #define LCD_PINS_EN                EXP3_08_PIN
   #define LCD_PINS_D4                EXP3_06_PIN
 
   #define BTN_ENC                    EXP3_02_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_ERYONE_ERY32_MINI.h b/Marlin/src/pins/stm32f1/pins_ERYONE_ERY32_MINI.h
index f5a285170e99..de85484eae7b 100644
--- a/Marlin/src/pins/stm32f1/pins_ERYONE_ERY32_MINI.h
+++ b/Marlin/src/pins/stm32f1/pins_ERYONE_ERY32_MINI.h
@@ -166,7 +166,7 @@
 #if HAS_WIRED_LCD
   #define BEEPER_PIN                        PE12
   #define BTN_ENC                           PE11
-  #define LCD_PINS_ENABLE                   PE10
+  #define LCD_PINS_EN                       PE10
   #define LCD_PINS_RS                       PE9
   #define BTN_EN1                           PE4
   #define BTN_EN2                           PE3
diff --git a/Marlin/src/pins/stm32f1/pins_FLY_MINI.h b/Marlin/src/pins/stm32f1/pins_FLY_MINI.h
index c7a6a7639db0..e723845a2ae6 100644
--- a/Marlin/src/pins/stm32f1/pins_FLY_MINI.h
+++ b/Marlin/src/pins/stm32f1/pins_FLY_MINI.h
@@ -164,7 +164,7 @@
   #define BEEPER_PIN                 EXP1_01_PIN
 
   #define LCD_PINS_RS                EXP1_04_PIN
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_D4                EXP1_05_PIN
   #define LCD_PINS_D5                EXP1_06_PIN
   #define LCD_PINS_D6                EXP1_07_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h
index 9bc10a26bc16..47bea172a8aa 100644
--- a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h
+++ b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h
@@ -172,7 +172,7 @@
 
   #define LCD_PINS_RS                EXP1_07_PIN  // CS -- SOFT SPI for ENDER3 LCD
   #define LCD_PINS_D4                EXP1_06_PIN  // SCLK
-  #define LCD_PINS_ENABLE            EXP1_08_PIN  // DATA MOSI
+  #define LCD_PINS_EN                EXP1_08_PIN  // DATA MOSI
 
   //#define LCD_CONTRAST_INIT                190
 
diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h
index c41e20c2ede8..9c136c11f65a 100644
--- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h
+++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h
@@ -143,7 +143,7 @@
     // RepRapDiscount Smart Controller, but adds an FFC40 connector
     //
     #define LCD_PINS_RS                     PE6   // CS chip select /SS chip slave select
-    #define LCD_PINS_ENABLE                 PE14  // SID (MOSI)
+    #define LCD_PINS_EN                     PE14  // SID (MOSI)
     #define LCD_PINS_D4                     PD8   // SCK (CLK) clock
     #define LCD_PINS_D5                     PD9
     #define LCD_PINS_D6                     PD10
diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h
index 7b144f71184d..2cd77f42b204 100644
--- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h
+++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h
@@ -144,7 +144,7 @@
     // connected with a flat wire to J2 connector on the board.
     //
     #define LCD_PINS_RS                     PE6   // CS chip select /SS chip slave select
-    #define LCD_PINS_ENABLE                 PE14  // SID (MOSI)
+    #define LCD_PINS_EN                     PE14  // SID (MOSI)
     #define LCD_PINS_D4                     PD8   // SCK (CLK) clock
     #define LCD_PINS_D5                     PD9
     #define LCD_PINS_D6                     PD10
diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h
index 633b782e0204..5e012c177d44 100644
--- a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h
+++ b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h
@@ -148,7 +148,7 @@
     // RepRapDiscount Smart Controller, but adds an FFC40 connector
     //
     #define LCD_PINS_RS                     PE6   // CS chip select /SS chip slave select
-    #define LCD_PINS_ENABLE                 PE14  // SID (MOSI)
+    #define LCD_PINS_EN                     PE14  // SID (MOSI)
     #define LCD_PINS_D4                     PD8   // SCK (CLK) clock
     #define LCD_PINS_D5                     PD9
     #define LCD_PINS_D6                     PD10
diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h
index 2316d9d3b6c3..8a0f15806e77 100644
--- a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h
+++ b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h
@@ -146,7 +146,7 @@
     //
     #define LCD_PINS_RS                     PA12  // CS chip select /SS chip slave select
     // RW is hardwired to VSS
-    #define LCD_PINS_ENABLE                 PC7   // SID (MOSI)
+    #define LCD_PINS_EN                     PC7   // SID (MOSI)
     #define LCD_PINS_D4                     PD1   // SCK (CLK) clock
     #define LCD_PINS_D5                     PD4
     #define LCD_PINS_D6                     PD5
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h
index b14b17d0b962..052bed202b03 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h
@@ -296,7 +296,7 @@
 
 #if ENABLED(TFT_CLASSIC_UI)
   // Emulated DOGM SPI
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_RS                EXP1_04_PIN
   #define BTN_ENC                    EXP1_02_PIN
   #define BTN_EN1                    EXP2_03_PIN
@@ -308,7 +308,7 @@
 #if HAS_WIRED_LCD && !HAS_SPI_TFT
   #define BEEPER_PIN                 EXP1_01_PIN
   #define BTN_ENC                    EXP1_02_PIN
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_RS                EXP1_04_PIN
   #define BTN_EN1                    EXP2_03_PIN
   #define BTN_EN2                    EXP2_05_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
index c7aacc4bab33..4d71fcf65615 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
@@ -181,7 +181,7 @@
 
   #define BEEPER_PIN                 EXP1_01_PIN
   #define BTN_ENC                    EXP1_02_PIN
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_RS                EXP1_04_PIN
   #define BTN_EN1                    EXP2_03_PIN
   #define BTN_EN2                    EXP2_05_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h
index e2d4cf564645..af4e12110043 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h
@@ -110,7 +110,7 @@
   #define BTN_EN1                    EXP3_03_PIN
   #define BTN_EN2                    EXP3_05_PIN
 
-  #define LCD_PINS_ENABLE            EXP3_08_PIN
+  #define LCD_PINS_EN                EXP3_08_PIN
 
   #if ENABLED(MKS_MINI_12864)
 
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h
index 161ff658a609..6835ec3b5658 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h
@@ -101,7 +101,7 @@
 
   #define BEEPER_PIN                        PC1
   #define BTN_ENC                           PC3
-  #define LCD_PINS_ENABLE                   PA4
+  #define LCD_PINS_EN                       PA4
   #define LCD_PINS_RS                       PA5
   #define BTN_EN1                           PB11
   #define BTN_EN2                           PB0
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h
index 9176ec0ae1cb..d37d4a10de47 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h
@@ -296,7 +296,7 @@
 
 #if ENABLED(TFT_CLASSIC_UI)
   // Emulated DOGM SPI
-  #define LCD_PINS_ENABLE                   PD13
+  #define LCD_PINS_EN                       PD13
   #define LCD_PINS_RS                       PC6
   #define BTN_ENC                           PE13
   #define BTN_EN1                           PE8
@@ -308,7 +308,7 @@
 #if HAS_WIRED_LCD && !HAS_SPI_TFT
   #define BEEPER_PIN                        PC5
   #define BTN_ENC                           PE13
-  #define LCD_PINS_ENABLE                   PD13
+  #define LCD_PINS_EN                       PD13
   #define LCD_PINS_RS                       PC6
   #define BTN_EN1                           PE8
   #define BTN_EN2                           PE11
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h
index 8a213090b124..2a212f1b4ad9 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h
@@ -264,7 +264,7 @@
 
   #define BEEPER_PIN                        PC5
   #define BTN_ENC                           PG2
-  #define LCD_PINS_ENABLE                   PG0
+  #define LCD_PINS_EN                       PG0
   #define LCD_PINS_RS                       PG1
   #define BTN_EN1                           PG5
   #define BTN_EN2                           PG4
diff --git a/Marlin/src/pins/stm32f1/pins_PANDA_PI_V29.h b/Marlin/src/pins/stm32f1/pins_PANDA_PI_V29.h
index 7c8906e59943..60211f53f47c 100644
--- a/Marlin/src/pins/stm32f1/pins_PANDA_PI_V29.h
+++ b/Marlin/src/pins/stm32f1/pins_PANDA_PI_V29.h
@@ -171,7 +171,7 @@
   #define BTN_EN2                           PC5
 
   #define LCD_PINS_RS                       PC0
-  #define LCD_PINS_ENABLE                   PC2
+  #define LCD_PINS_EN                       PC2
   #define LCD_PINS_D4                       PC1
 #endif
 
diff --git a/Marlin/src/pins/stm32f1/pins_SOVOL_V131.h b/Marlin/src/pins/stm32f1/pins_SOVOL_V131.h
index ba8a563f39c0..97ba7f7fec83 100644
--- a/Marlin/src/pins/stm32f1/pins_SOVOL_V131.h
+++ b/Marlin/src/pins/stm32f1/pins_SOVOL_V131.h
@@ -216,7 +216,7 @@
   #if ENABLED(RET6_12864_LCD)
 
     #define LCD_PINS_RS              EXP3_07_PIN
-    #define LCD_PINS_ENABLE          EXP3_08_PIN
+    #define LCD_PINS_EN              EXP3_08_PIN
     #define LCD_PINS_D4              EXP3_06_PIN
 
     #define BTN_ENC                  EXP3_02_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_STM32F1R.h b/Marlin/src/pins/stm32f1/pins_STM32F1R.h
index 634cadc1aa8e..46bd48f93fb3 100644
--- a/Marlin/src/pins/stm32f1/pins_STM32F1R.h
+++ b/Marlin/src/pins/stm32f1/pins_STM32F1R.h
@@ -101,7 +101,7 @@
     #error "REPRAPWORLD_GRAPHICAL_LCD is not supported."
   #else
     #define LCD_PINS_RS                     PB8
-    #define LCD_PINS_ENABLE                 PD2
+    #define LCD_PINS_EN                     PD2
     #define LCD_PINS_D4                     PB12
     #define LCD_PINS_D5                     PB13
     #define LCD_PINS_D6                     PB14
diff --git a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h
index 61cb563575be..4cf464aaeeca 100644
--- a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h
+++ b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h
@@ -116,7 +116,7 @@
     #error "REPRAPWORLD_GRAPHICAL_LCD is not supported."
   #else
     #define LCD_PINS_RS                     PB8
-    #define LCD_PINS_ENABLE                 PD2
+    #define LCD_PINS_EN                     PD2
     #define LCD_PINS_D4                     PB12
     #define LCD_PINS_D5                     PB13
     #define LCD_PINS_D6                     PB14
diff --git a/Marlin/src/pins/stm32f1/pins_ZM3E2_V1_0.h b/Marlin/src/pins/stm32f1/pins_ZM3E2_V1_0.h
index fe4fa49f8f40..08491fc21cbc 100644
--- a/Marlin/src/pins/stm32f1/pins_ZM3E2_V1_0.h
+++ b/Marlin/src/pins/stm32f1/pins_ZM3E2_V1_0.h
@@ -186,7 +186,7 @@
   //   8 TX1      PA9     LCD_PINS_RS
   //   7 RX1      PA10    LCD_PINS_D4
   //   6 ENA      PC5     BTN_EN2
-  //   5 DAT      PB2     LCD_PINS_ENABLE
+  //   5 DAT      PB2     LCD_PINS_EN
   //   4 TX3      PB10    BTN_ENC
   //   3 RX3      PB11    BTN_EN1
   //   2 +5V
@@ -194,7 +194,7 @@
 
   #define LCDSCREEN_NAME "ZONESTAR LCD12864"
   #define LCD_PINS_RS                EXP1_03_PIN
-  #define LCD_PINS_ENABLE            EXP1_06_PIN
+  #define LCD_PINS_EN                EXP1_06_PIN
   #define LCD_PINS_D4                EXP1_04_PIN
   //#define KILL_PIN                 EXP1_01_PIN
   #define BEEPER_PIN                 EXP1_02_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_ZM3E4_V1_0.h b/Marlin/src/pins/stm32f1/pins_ZM3E4_V1_0.h
index c6192191e172..8997a5f1db39 100644
--- a/Marlin/src/pins/stm32f1/pins_ZM3E4_V1_0.h
+++ b/Marlin/src/pins/stm32f1/pins_ZM3E4_V1_0.h
@@ -280,7 +280,7 @@
 #if ENABLED(ZONESTAR_12864LCD)
   #define LCDSCREEN_NAME "ZONESTAR LCD12864"
   #define LCD_PINS_RS                EXP1_03_PIN  // 7 CS make sure for zonestar zm3e4!
-  #define LCD_PINS_ENABLE            EXP1_06_PIN  // 6 DATA make sure for zonestar zm3e4!
+  #define LCD_PINS_EN                EXP1_06_PIN  // 6 DATA make sure for zonestar zm3e4!
   #define LCD_PINS_D4                EXP1_04_PIN  // 8 SCK make sure for zonestar zm3e4!
   #define BEEPER_PIN                 EXP1_02_PIN
   #define KILL_PIN                          -1    // EXP1_01_PIN
@@ -290,7 +290,7 @@
 #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
   #define LCDSCREEN_NAME "REPRAPDISCOUNT LCD12864"
   #define LCD_PINS_RS                EXP1_03_PIN  // 7 CS make sure for zonestar zm3e4!
-  #define LCD_PINS_ENABLE            EXP1_04_PIN  // 6 DATA make sure for zonestar zm3e4!
+  #define LCD_PINS_EN                EXP1_04_PIN  // 6 DATA make sure for zonestar zm3e4!
   #define LCD_PINS_D4                EXP1_06_PIN  // 8 SCK make sure for zonestar zm3e4!
   #define BEEPER_PIN                 EXP1_02_PIN
   #define KILL_PIN                   EXP2_07_PIN
@@ -310,7 +310,7 @@
 #if ENABLED(ZONESTAR_LCD2004_KNOB)
   #define LCDSCREEN_NAME "LCD2004 KNOB"
   #define LCD_PINS_RS                EXP1_03_PIN
-  #define LCD_PINS_ENABLE            EXP1_04_PIN
+  #define LCD_PINS_EN                EXP1_04_PIN
   #define LCD_PINS_D4                EXP1_06_PIN
   #define LCD_PINS_D5                EXP1_05_PIN
   #define LCD_PINS_D6                EXP1_08_PIN
@@ -323,7 +323,7 @@
 #elif ENABLED(ZONESTAR_LCD2004_ADCKEY)
   #define LCDSCREEN_NAME "LCD2004 5KEY"
   #define LCD_PINS_RS                EXP1_03_PIN
-  #define LCD_PINS_ENABLE            EXP1_04_PIN
+  #define LCD_PINS_EN                EXP1_04_PIN
   #define LCD_PINS_D4                EXP1_06_PIN
   #define LCD_PINS_D5                EXP1_05_PIN
   #define LCD_PINS_D6                EXP1_08_PIN
diff --git a/Marlin/src/pins/stm32f1/pins_ZM3E4_V2_0.h b/Marlin/src/pins/stm32f1/pins_ZM3E4_V2_0.h
index b8d72061df1d..b60cca831ba7 100644
--- a/Marlin/src/pins/stm32f1/pins_ZM3E4_V2_0.h
+++ b/Marlin/src/pins/stm32f1/pins_ZM3E4_V2_0.h
@@ -277,7 +277,7 @@
 #if ENABLED(ZONESTAR_12864LCD)
   #define LCDSCREEN_NAME "ZONESTAR LCD12864"
   #define LCD_PINS_RS                EXP1_03_PIN  // 7 CS make sure for zonestar zm3e4!
-  #define LCD_PINS_ENABLE            EXP1_06_PIN  // 6 DATA make sure for zonestar zm3e4!
+  #define LCD_PINS_EN                EXP1_06_PIN  // 6 DATA make sure for zonestar zm3e4!
   #define LCD_PINS_D4                EXP1_04_PIN  // 8 SCK make sure for zonestar zm3e4!
   #define BEEPER_PIN                 EXP1_02_PIN
   #define KILL_PIN                          -1    // EXP1_01_PIN
@@ -287,7 +287,7 @@
 #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
   #define LCDSCREEN_NAME "REPRAPDISCOUNT LCD12864"
   #define LCD_PINS_RS                EXP2_03_PIN  // 7 CS make sure for zonestar zm3e4!
-  #define LCD_PINS_ENABLE            EXP2_06_PIN  // 6 DATA make sure for zonestar zm3e4!
+  #define LCD_PINS_EN                EXP2_06_PIN  // 6 DATA make sure for zonestar zm3e4!
   #define LCD_PINS_D4                EXP2_04_PIN  // 8 SCK make sure for zonestar zm3e4!
   #define BEEPER_PIN                 EXP2_01_PIN
   #define KILL_PIN                   EXP2_02_PIN
diff --git a/Marlin/src/pins/stm32f4/pins_ARMED.h b/Marlin/src/pins/stm32f4/pins_ARMED.h
index 6ae2674488eb..357ab1bd3b26 100644
--- a/Marlin/src/pins/stm32f4/pins_ARMED.h
+++ b/Marlin/src/pins/stm32f4/pins_ARMED.h
@@ -173,7 +173,7 @@
   #endif
 #else
   #define LCD_PINS_RS                       PE9
-  #define LCD_PINS_ENABLE                   PE8
+  #define LCD_PINS_EN                       PE8
   #define LCD_PINS_D4                       PB12
   #define LCD_PINS_D5                       PB13
   #define LCD_PINS_D6                       PB14
diff --git a/Marlin/src/pins/stm32f4/pins_ARTILLERY_RUBY.h b/Marlin/src/pins/stm32f4/pins_ARTILLERY_RUBY.h
index 4c0b7d54b717..869b1e859d4f 100644
--- a/Marlin/src/pins/stm32f4/pins_ARTILLERY_RUBY.h
+++ b/Marlin/src/pins/stm32f4/pins_ARTILLERY_RUBY.h
@@ -160,7 +160,7 @@
     #define LCD_CONTRAST_INIT                255
   #else
     #define LCD_PINS_RS                     PC15
-    #define LCD_PINS_ENABLE                 PB6
+    #define LCD_PINS_EN                     PB6
     #define LCD_PINS_D4                     PB5
     #define LCD_PINS_D5                     PB9
     #define LCD_PINS_D6                     PB8
diff --git a/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h b/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h
index b42bcf5de3c4..a4af3f8fe389 100644
--- a/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h
+++ b/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h
@@ -121,7 +121,7 @@
 
 #define BEEPER_PIN                          PD10
 #define LCD_PINS_RS                         PE15
-#define LCD_PINS_ENABLE                     PD8
+#define LCD_PINS_EN                         PD8
 #define LCD_PINS_D4                         PE10
 #define LCD_PINS_D5                         PE12
 #define LCD_PINS_D6                         PD1
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
index fdd56b5c9ea3..73af02d3ab6c 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
@@ -248,7 +248,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(MKS_MINI_12864)
@@ -265,7 +265,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_E3_RRF.h b/Marlin/src/pins/stm32f4/pins_BTT_E3_RRF.h
index 73f943c3fad7..0130d602409d 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_E3_RRF.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_E3_RRF.h
@@ -206,7 +206,7 @@
     #define BTN_EN2                         PB2
 
     #define LCD_PINS_RS                     PB1
-    #define LCD_PINS_ENABLE                 PE11
+    #define LCD_PINS_EN                     PE11
     #define LCD_PINS_D4                     PE10
 
     #if ENABLED(LCD_FOR_MELZI)
@@ -252,7 +252,7 @@
     #endif
 
     #define LCD_PINS_RS                     PE10
-    #define LCD_PINS_ENABLE                 PE9
+    #define LCD_PINS_EN                     PE9
     #define LCD_PINS_D4                     PB1
     #define LCD_PINS_D5                     PB2
     #define LCD_PINS_D6                     PE7
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
index a21eaefee829..b81859dd61cc 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
@@ -419,7 +419,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(MKS_MINI_12864)
@@ -438,7 +438,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h b/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h
index 78766b5c98b0..711050b74756 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h
@@ -463,7 +463,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #else
@@ -473,7 +473,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_MINI_E3_V3_0_1.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_MINI_E3_V3_0_1.h
index d3a04b9d0715..ffddeff67c0f 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_MINI_E3_V3_0_1.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_MINI_E3_V3_0_1.h
@@ -202,7 +202,7 @@
     #define BTN_EN2                  EXP1_05_PIN
 
     #define LCD_PINS_RS              EXP1_07_PIN
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(ZONESTAR_LCD)                     // ANET A8 LCD Controller - Must convert to 3.3V - CONNECTING TO 5V WILL DAMAGE THE BOARD!
@@ -212,7 +212,7 @@
     #endif
 
     #define LCD_PINS_RS              EXP1_06_PIN
-    #define LCD_PINS_ENABLE          EXP1_02_PIN
+    #define LCD_PINS_EN              EXP1_02_PIN
     #define LCD_PINS_D4              EXP1_07_PIN
     #define LCD_PINS_D5              EXP1_05_PIN
     #define LCD_PINS_D6              EXP1_03_PIN
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h
index 0cdd34aaeec1..ad0f594a24e9 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h
@@ -442,7 +442,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(MKS_MINI_12864)
@@ -494,7 +494,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_common.h
index 95b20c105d22..73c2cf9ff807 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_common.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_common.h
@@ -456,7 +456,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(MKS_MINI_12864)
@@ -473,7 +473,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32f4/pins_CREALITY_V24S1_301F4.h b/Marlin/src/pins/stm32f4/pins_CREALITY_V24S1_301F4.h
index 883640d5772e..32f70a371540 100644
--- a/Marlin/src/pins/stm32f4/pins_CREALITY_V24S1_301F4.h
+++ b/Marlin/src/pins/stm32f4/pins_CREALITY_V24S1_301F4.h
@@ -22,7 +22,7 @@
 #pragma once
 
 /**
- * Creality V24S1_301F4 (STM32F401RC) board pin assignments as found on Ender 3 S1.
+ * Creality V24S1_301F4 (STM32F401RC) board pin assignments as found on Ender-3 S1.
  */
 
 #ifndef BOARD_INFO_NAME
diff --git a/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h b/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h
index 24419cfd1bd2..b9996aa1f2d2 100644
--- a/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h
+++ b/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h
@@ -286,7 +286,7 @@
 #if IS_RRD_SC
   #define BEEPER_PIN                 EXP1_01_PIN
   #define LCD_PINS_RS                EXP1_04_PIN
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_D4                EXP1_05_PIN
   #define LCD_PINS_D5                EXP1_06_PIN
   #define LCD_PINS_D6                EXP1_07_PIN
diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_CHEETAH_V20.h b/Marlin/src/pins/stm32f4/pins_FYSETC_CHEETAH_V20.h
index a7b7c079c3f7..626bdcde7621 100644
--- a/Marlin/src/pins/stm32f4/pins_FYSETC_CHEETAH_V20.h
+++ b/Marlin/src/pins/stm32f4/pins_FYSETC_CHEETAH_V20.h
@@ -149,17 +149,15 @@
  *              GND | 9 10 | 5V                         GND | 9 10 |   5V
  *                   ------                                  ------
  *                    EXP2                                    EXP1
- */
-
-/**
- *                     ------
- *                 5V | 1  2 | GND
- * (LCD_EN/MOSI) PB15 | 3  4 | PB12  (LCD_RS)
- * (LCD_D4/SCK)  PB13   5  6 | PC11 (BTN_EN2)
- * (LCD_D5/MISO) PB14 | 7  8 | PC10 (BTN_EN1)
- * (BTN_ENC)     PC12 | 9 10 | PC9   (BEEPER)
- *                     ------
- *                      EXP3
+ *
+ *                   ------
+ *    (BEEPER) PC9  | 1  2 | PC12 (BTN_ENC)
+ *   (BTN_EN1) PC10 | 3  4 | PB14 (LCD_D5/MISO)
+ *   (BTN_EN2) PC11   5  6 | PB13 (LCD_D4/SCK)
+ *    (LCD_RS) PB12 | 7  8 | PB15 (LCD_EN/MOSI)
+ *             GND  | 9 10 |   5V
+ *                   ------
+ *                    EXP3
  */
 
 #define EXP1_01_PIN                         PC9
@@ -180,22 +178,31 @@
 #define EXP2_07_PIN                         PC3
 #define EXP2_08_PIN                         -1
 
-#if HAS_WIRED_LCD
+#define EXP3_01_PIN                         PC9
+#define EXP3_02_PIN                         PC12
+#define EXP3_03_PIN                         PC10
+#define EXP3_04_PIN                         PB14
+#define EXP3_05_PIN                         PC11
+#define EXP3_06_PIN                         PB13
+#define EXP3_07_PIN                         PB12
+#define EXP3_08_PIN                         PB15
 
-  #define BEEPER_PIN                 EXP1_01_PIN
-  #define BTN_ENC                    EXP1_02_PIN
+#if ENABLED(CR10_STOCKDISPLAY)
 
-  #if ENABLED(CR10_STOCKDISPLAY)
+  #define BEEPER_PIN                 EXP3_01_PIN
+  #define BTN_ENC                    EXP3_02_PIN
+  #define BTN_EN1                    EXP3_03_PIN
+  #define BTN_EN2                    EXP3_05_PIN
+  #define LCD_PINS_D4                EXP3_06_PIN
+  #define LCD_PINS_RS                EXP3_07_PIN
+  #define LCD_PINS_EN                EXP3_08_PIN
 
-    #define LCD_PINS_RS              EXP1_04_PIN
+#elif HAS_WIRED_LCD
 
-    #define BTN_EN1                  EXP2_03_PIN
-    #define BTN_EN2                  EXP2_05_PIN
-
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
-    #define LCD_PINS_D4              EXP1_05_PIN
+  #define BEEPER_PIN                 EXP1_01_PIN
+  #define BTN_ENC                    EXP1_02_PIN
 
-  #elif ENABLED(MKS_MINI_12864)
+  #if ENABLED(MKS_MINI_12864)
 
     #define DOGLCD_A0                EXP1_07_PIN
     #define DOGLCD_CS                EXP1_06_PIN
@@ -209,7 +216,7 @@
     #define BTN_EN1                  EXP2_05_PIN
     #define BTN_EN2                  EXP2_03_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
index 49aab671c598..778049079910 100644
--- a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
+++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
@@ -268,7 +268,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #else
@@ -280,7 +280,7 @@
 
     #define LCD_SDSS                 EXP2_04_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32f4/pins_MKS_MONSTER8_common.h b/Marlin/src/pins/stm32f4/pins_MKS_MONSTER8_common.h
index 1a7272222119..367cace4247a 100644
--- a/Marlin/src/pins/stm32f4/pins_MKS_MONSTER8_common.h
+++ b/Marlin/src/pins/stm32f4/pins_MKS_MONSTER8_common.h
@@ -311,7 +311,7 @@
 
 #elif HAS_WIRED_LCD
 
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_RS                EXP1_04_PIN
   #define LCD_BACKLIGHT_PIN                 -1
 
diff --git a/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_NANO_V3_common.h b/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_NANO_V3_common.h
index a687cb9c9da5..3b1c773b29ec 100644
--- a/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_NANO_V3_common.h
+++ b/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_NANO_V3_common.h
@@ -327,7 +327,7 @@
 
 #elif HAS_WIRED_LCD
 
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_RS                EXP1_04_PIN
   #define LCD_BACKLIGHT_PIN                 -1
 
@@ -342,7 +342,6 @@
 
     // Required for MKS_MINI_12864 with this board
     //#define MKS_LCD12864B
-    //#undef SHOW_BOOTSCREEN
 
   #elif ENABLED(FYSETC_MINI_12864_2_1)
     #define LCD_PINS_DC              EXP1_04_PIN
diff --git a/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_PRO_V2.h b/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_PRO_V2.h
index 8fdb41780574..7d537c9643fe 100644
--- a/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_PRO_V2.h
+++ b/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_PRO_V2.h
@@ -339,7 +339,7 @@
 
   #define BEEPER_PIN                 EXP1_01_PIN
   #define BTN_ENC                    EXP1_02_PIN
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_RS                EXP1_04_PIN
   #define BTN_EN1                    EXP2_03_PIN
   #define BTN_EN2                    EXP2_05_PIN
@@ -356,7 +356,6 @@
 
     // Required for MKS_MINI_12864 with this board
     //#define MKS_LCD12864B
-    //#undef SHOW_BOOTSCREEN
 
   #else                                           // !MKS_MINI_12864
 
diff --git a/Marlin/src/pins/stm32f4/pins_MKS_SKIPR_V1_0.h b/Marlin/src/pins/stm32f4/pins_MKS_SKIPR_V1_0.h
index b03fc5419e01..b281a8e2a328 100644
--- a/Marlin/src/pins/stm32f4/pins_MKS_SKIPR_V1_0.h
+++ b/Marlin/src/pins/stm32f4/pins_MKS_SKIPR_V1_0.h
@@ -307,7 +307,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #else
@@ -317,7 +317,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h
index ed4ba34266ec..daed1da4b00c 100644
--- a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h
+++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h
@@ -149,7 +149,7 @@
   #define BTN_ENC                           PE7
 
   #define LCD_PINS_RS                       PE10
-  #define LCD_PINS_ENABLE                   PE9
+  #define LCD_PINS_EN                       PE9
   #define LCD_PINS_D4                       PE12
 
   #if ENABLED(MKS_MINI_12864)
diff --git a/Marlin/src/pins/stm32f4/pins_TH3D_EZBOARD_V2.h b/Marlin/src/pins/stm32f4/pins_TH3D_EZBOARD_V2.h
index b2fec3b8341d..448c54f1b3e4 100644
--- a/Marlin/src/pins/stm32f4/pins_TH3D_EZBOARD_V2.h
+++ b/Marlin/src/pins/stm32f4/pins_TH3D_EZBOARD_V2.h
@@ -233,7 +233,7 @@
     #define BEEPER_PIN               EXP1_01_PIN  // Not connected in dev board
   #endif
   #define LCD_PINS_RS                EXP1_07_PIN
-  #define LCD_PINS_ENABLE            EXP1_08_PIN
+  #define LCD_PINS_EN                EXP1_08_PIN
   #define LCD_PINS_D4                EXP1_06_PIN
   //#define KILL_PIN                        -1
 
diff --git a/Marlin/src/pins/stm32f4/pins_VAKE403D.h b/Marlin/src/pins/stm32f4/pins_VAKE403D.h
index eba63c5a5be6..a17d31f063cf 100644
--- a/Marlin/src/pins/stm32f4/pins_VAKE403D.h
+++ b/Marlin/src/pins/stm32f4/pins_VAKE403D.h
@@ -208,7 +208,7 @@
   #define BTN_EN2                    EXP2_05_PIN
   #define BTN_ENC                    EXP1_02_PIN
 
-  #define LCD_PINS_ENABLE            EXP1_03_PIN
+  #define LCD_PINS_EN                EXP1_03_PIN
   #define LCD_PINS_RS                EXP1_04_PIN
 
   #define LCD_PINS_D4                EXP1_05_PIN
diff --git a/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h b/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h
index 6f5c179d1c57..bf45f94ab80b 100644
--- a/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h
+++ b/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h
@@ -186,7 +186,7 @@
   #define BTN_ENC                           PE11  // BTN_ENC
   #define SD_DETECT_PIN                     PD14
   #define LCD_PINS_RS                       PF12  // LCD_RS
-  #define LCD_PINS_ENABLE                   PD15  // LCD_EN
+  #define LCD_PINS_EN                       PD15  // LCD_EN
   #define LCD_PINS_D4                       PB13  // LCD_D4
   #define BTN_EN1                           PF13  // BTN_EN1
   #define BTN_EN2                           PE9   // BTN_EN2
diff --git a/Marlin/src/pins/stm32f7/pins_REMRAM_V1.h b/Marlin/src/pins/stm32f7/pins_REMRAM_V1.h
index f13eba8ef341..2db21be45ed5 100644
--- a/Marlin/src/pins/stm32f7/pins_REMRAM_V1.h
+++ b/Marlin/src/pins/stm32f7/pins_REMRAM_V1.h
@@ -120,7 +120,7 @@
 #define SD_DETECT_PIN                         56  // SD_CARD_DET
 #define BEEPER_PIN                            46  // LCD_BEEPER
 #define LCD_PINS_RS                           49  // LCD_RS
-#define LCD_PINS_ENABLE                       48  // LCD_EN
+#define LCD_PINS_EN                           48  // LCD_EN
 #define LCD_PINS_D4                           50  // LCD_D4
 #define LCD_PINS_D5                           51  // LCD_D5
 #define LCD_PINS_D6                           52  // LCD_D6
diff --git a/Marlin/src/pins/stm32g0/pins_BTT_MANTA_E3_EZ_V1_0.h b/Marlin/src/pins/stm32g0/pins_BTT_MANTA_E3_EZ_V1_0.h
index 57e257a7ba14..e2e276f89ab3 100644
--- a/Marlin/src/pins/stm32g0/pins_BTT_MANTA_E3_EZ_V1_0.h
+++ b/Marlin/src/pins/stm32g0/pins_BTT_MANTA_E3_EZ_V1_0.h
@@ -266,7 +266,7 @@
     #define BTN_ENC                  EXP1_02_PIN
 
     #define LCD_PINS_RS              EXP1_07_PIN
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(ZONESTAR_LCD)                     // ANET A8 LCD Controller - Must convert to 3.3V - CONNECTING TO 5V WILL DAMAGE THE BOARD!
@@ -276,7 +276,7 @@
     #endif
 
     #define LCD_PINS_RS              EXP1_06_PIN
-    #define LCD_PINS_ENABLE          EXP1_02_PIN
+    #define LCD_PINS_EN              EXP1_02_PIN
     #define LCD_PINS_D4              EXP1_07_PIN
     #define LCD_PINS_D5              EXP1_05_PIN
     #define LCD_PINS_D6              EXP1_03_PIN
diff --git a/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M4P_V1_0.h b/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M4P_V1_0.h
index 276c95114392..8f3cc618e72a 100644
--- a/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M4P_V1_0.h
+++ b/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M4P_V1_0.h
@@ -227,7 +227,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(MKS_MINI_12864)
@@ -244,7 +244,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M5P_V1_0.h b/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M5P_V1_0.h
index 737330d35107..fd926c014fb2 100644
--- a/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M5P_V1_0.h
+++ b/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M5P_V1_0.h
@@ -255,7 +255,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(MKS_MINI_12864)
@@ -272,7 +272,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M8P_common.h b/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M8P_common.h
index 2c778f873239..bd9a1cf0b58b 100644
--- a/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M8P_common.h
+++ b/Marlin/src/pins/stm32g0/pins_BTT_MANTA_M8P_common.h
@@ -319,7 +319,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(MKS_MINI_12864)
@@ -336,7 +336,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32g0/pins_BTT_SKR_MINI_E3_V3_0.h b/Marlin/src/pins/stm32g0/pins_BTT_SKR_MINI_E3_V3_0.h
index 9be2357043c1..0f7da52572e8 100644
--- a/Marlin/src/pins/stm32g0/pins_BTT_SKR_MINI_E3_V3_0.h
+++ b/Marlin/src/pins/stm32g0/pins_BTT_SKR_MINI_E3_V3_0.h
@@ -196,7 +196,7 @@
      *            CS  | 3  4 | SCK               (EN1) PA10 | 3  4 | --
      *          MOSI  | 5  6 | MISO              (EN2)  PA9   5  6 | MOSI
      *           3V3  | 7  8 | GND                       -- | 7  8 | --
-     *                 ------                           GND | 9  10| RESET (Kill)
+     *                 ------                           GND | 9 10 | RESET (Kill)
      *                  SPI                                  ------
      *                                                        EXP2
      *
@@ -205,7 +205,7 @@
      *            PA9 | 3  4 | RESET           (LCD CS) PB8 | 3  4 | PD6  (LCD_A0)
      *           PA10   5  6 | PB9              (RESET) PB9   5  6 | PA15 (DIN)
      *            PB8 | 7  8 | PD6                       -- | 7  8 | --
-     *            GND | 9  10| 5V                       GND | 9  10| 5V
+     *            GND | 9 10 | 5V                       GND | 9 10 | 5V
      *                 ------                                ------
      *                  EXP1                                  EXP1
      */
@@ -238,7 +238,7 @@
       #define BTN_EN2                EXP1_05_PIN
 
       #define LCD_PINS_RS            EXP1_07_PIN
-      #define LCD_PINS_ENABLE        EXP1_08_PIN
+      #define LCD_PINS_EN            EXP1_08_PIN
       #define LCD_PINS_D4            EXP1_06_PIN
 
     #elif ENABLED(ZONESTAR_LCD)                   // ANET A8 LCD Controller - Must convert to 3.3V - CONNECTING TO 5V WILL DAMAGE THE BOARD!
@@ -248,7 +248,7 @@
       #endif
 
       #define LCD_PINS_RS            EXP1_06_PIN
-      #define LCD_PINS_ENABLE        EXP1_02_PIN
+      #define LCD_PINS_EN            EXP1_02_PIN
       #define LCD_PINS_D4            EXP1_07_PIN
       #define LCD_PINS_D5            EXP1_05_PIN
       #define LCD_PINS_D6            EXP1_03_PIN
diff --git a/Marlin/src/pins/stm32h7/pins_BTT_OCTOPUS_MAX_EZ.h b/Marlin/src/pins/stm32h7/pins_BTT_OCTOPUS_MAX_EZ.h
index cc2dab0e16e5..e8e984fcb7e3 100644
--- a/Marlin/src/pins/stm32h7/pins_BTT_OCTOPUS_MAX_EZ.h
+++ b/Marlin/src/pins/stm32h7/pins_BTT_OCTOPUS_MAX_EZ.h
@@ -430,7 +430,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #else
@@ -440,7 +440,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_common.h b/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_common.h
index 97ac32479e11..be56d0d2b7ab 100644
--- a/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_common.h
+++ b/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_common.h
@@ -445,7 +445,7 @@
     #define BTN_EN1                  EXP1_03_PIN
     #define BTN_EN2                  EXP1_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_08_PIN
+    #define LCD_PINS_EN              EXP1_08_PIN
     #define LCD_PINS_D4              EXP1_06_PIN
 
   #elif ENABLED(MKS_MINI_12864)
@@ -462,7 +462,7 @@
     #define BTN_EN1                  EXP2_03_PIN
     #define BTN_EN2                  EXP2_05_PIN
 
-    #define LCD_PINS_ENABLE          EXP1_03_PIN
+    #define LCD_PINS_EN              EXP1_03_PIN
     #define LCD_PINS_D4              EXP1_05_PIN
 
     #if ENABLED(FYSETC_MINI_12864)
diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h
index f80576b50969..124faa769106 100644
--- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h
+++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h
@@ -133,7 +133,7 @@
 #if HAS_WIRED_LCD && IS_NEWPANEL
 
   #define LCD_PINS_RS                          9  // E1       JP11-11
-  #define LCD_PINS_ENABLE                      8  // E0       JP11-10
+  #define LCD_PINS_EN                          8  // E0       JP11-10
   #define LCD_PINS_D4                          7  // D7       JP11-8
   #define LCD_PINS_D5                          6  // D6       JP11-7
   #define LCD_PINS_D6                          5  // D5       JP11-6
diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h
index 06496abdcd00..b208b08826f3 100644
--- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h
+++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h
@@ -214,7 +214,7 @@
 
 #if HAS_WIRED_LCD
   #define LCD_PINS_RS                          9  // E1       JP11-11
-  #define LCD_PINS_ENABLE                      8  // E0       JP11-10
+  #define LCD_PINS_EN                          8  // E0       JP11-10
   #define LCD_PINS_D4                          7  // D7       JP11-8
   #define LCD_PINS_D5                          6  // D6       JP11-7
   #define LCD_PINS_D6                          5  // D5       JP11-6
diff --git a/Marlin/src/pins/teensy2/pins_SAV_MKI.h b/Marlin/src/pins/teensy2/pins_SAV_MKI.h
index 5044af75d353..c1809eed6b3c 100644
--- a/Marlin/src/pins/teensy2/pins_SAV_MKI.h
+++ b/Marlin/src/pins/teensy2/pins_SAV_MKI.h
@@ -155,7 +155,7 @@
 //
 #define BEEPER_PIN                            -1
 #define LCD_PINS_RS                           -1
-#define LCD_PINS_ENABLE                       -1
+#define LCD_PINS_EN                           -1
 
 #if ENABLED(SAV_3DLCD)
   // For LCD SHIFT register LCD
diff --git a/Marlin/src/pins/teensy2/pins_TEENSY2.h b/Marlin/src/pins/teensy2/pins_TEENSY2.h
index b31c17386943..2b65f17bc5ea 100644
--- a/Marlin/src/pins/teensy2/pins_TEENSY2.h
+++ b/Marlin/src/pins/teensy2/pins_TEENSY2.h
@@ -169,7 +169,7 @@
 //
 #if IS_ULTIPANEL
   #define LCD_PINS_RS                          8  // E0
-  #define LCD_PINS_ENABLE                      9  // E1
+  #define LCD_PINS_EN                          9  // E1
   #define LCD_PINS_D4                         10  // C0
   #define LCD_PINS_D5                         11  // C1
   #define LCD_PINS_D6                         12  // C2
diff --git a/Marlin/src/pins/teensy3/pins_TEENSY31_32.h b/Marlin/src/pins/teensy3/pins_TEENSY31_32.h
index ee5466b54da4..a6aa4fd86dfe 100644
--- a/Marlin/src/pins/teensy3/pins_TEENSY31_32.h
+++ b/Marlin/src/pins/teensy3/pins_TEENSY31_32.h
@@ -100,7 +100,7 @@
 /*
 #if HAS_WIRED_LCD
   #define LCD_PINS_RS                         40
-  #define LCD_PINS_ENABLE                     41
+  #define LCD_PINS_EN                         41
   #define LCD_PINS_D4                         42
   #define LCD_PINS_D5                         43
   #define LCD_PINS_D6                         44
diff --git a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h
index 289a8acb1c37..54bf6f883545 100644
--- a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h
+++ b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h
@@ -67,7 +67,7 @@
  *
  *            Interior pins:
  *                            LCD_PINS_RS             40 * * 53   SCK2
- *                            LCD_PINS_ENABLE         41 * * 52   MOSI2
+ *                            LCD_PINS_EN             41 * * 52   MOSI2
  *                            LCD_PINS_D4             42 * * 51   MISO2
  *                            LCD_PINS_D5     CS2     43 * * 50   A24
  *                            LCD_PINS_D6     MOSI2   44 * * 49   A23
@@ -132,7 +132,7 @@
 
 #if HAS_WIRED_LCD
   #define LCD_PINS_RS                         40
-  #define LCD_PINS_ENABLE                     41
+  #define LCD_PINS_EN                         41
   #define LCD_PINS_D4                         42
   #define LCD_PINS_D5                         43
   #define LCD_PINS_D6                         44
diff --git a/Marlin/src/sd/Sd2Card.cpp b/Marlin/src/sd/Sd2Card.cpp
index 2d84c95a3d19..81cc03230483 100644
--- a/Marlin/src/sd/Sd2Card.cpp
+++ b/Marlin/src/sd/Sd2Card.cpp
@@ -345,7 +345,7 @@ bool DiskIODriver_SPI_SD::init(const uint8_t sckRateID, const pin_t chipSelectPi
  * \param[out] dst Pointer to the location that will receive the data.
  * \return true for success, false for failure.
  */
-bool DiskIODriver_SPI_SD::readBlock(uint32_t blockNumber, uint8_t *dst) {
+bool DiskIODriver_SPI_SD::readBlock(uint32_t blockNumber, uint8_t * const dst) {
   #if IS_TEENSY_35_36 || IS_TEENSY_40_41
     return 0 == SDHC_CardReadBlock(dst, blockNumber);
   #endif
@@ -385,7 +385,7 @@ bool DiskIODriver_SPI_SD::readBlock(uint32_t blockNumber, uint8_t *dst) {
  *
  * \return true for success, false for failure.
  */
-bool DiskIODriver_SPI_SD::readData(uint8_t *dst) {
+bool DiskIODriver_SPI_SD::readData(uint8_t * const dst) {
   chipSelect();
   return readData(dst, 512);
 }
@@ -455,7 +455,7 @@ bool DiskIODriver_SPI_SD::readData(uint8_t *dst) {
 
 #endif // SD_CHECK_AND_RETRY
 
-bool DiskIODriver_SPI_SD::readData(uint8_t *dst, const uint16_t count) {
+bool DiskIODriver_SPI_SD::readData(uint8_t * const dst, const uint16_t count) {
   bool success = false;
 
   const millis_t read_timeout = millis() + SD_READ_TIMEOUT;
@@ -487,8 +487,8 @@ bool DiskIODriver_SPI_SD::readData(uint8_t *dst, const uint16_t count) {
 }
 
 /** read CID or CSR register */
-bool DiskIODriver_SPI_SD::readRegister(const uint8_t cmd, void *buf) {
-  uint8_t *dst = reinterpret_cast<uint8_t*>(buf);
+bool DiskIODriver_SPI_SD::readRegister(const uint8_t cmd, void * const buf) {
+  uint8_t * const dst = reinterpret_cast<uint8_t*>(buf);
   if (cardCommand(cmd, 0)) {
     error(SD_CARD_ERROR_READ_REG);
     chipDeselect();
@@ -567,7 +567,7 @@ void DiskIODriver_SPI_SD::error(const uint8_t code) { errorCode_ = code; }
  * \param[in] src Pointer to the location of the data to be written.
  * \return true for success, false for failure.
  */
-bool DiskIODriver_SPI_SD::writeBlock(uint32_t blockNumber, const uint8_t *src) {
+bool DiskIODriver_SPI_SD::writeBlock(uint32_t blockNumber, const uint8_t * const src) {
   if (ENABLED(SDCARD_READONLY)) return false;
 
   #if IS_TEENSY_35_36 || IS_TEENSY_40_41
@@ -598,7 +598,7 @@ bool DiskIODriver_SPI_SD::writeBlock(uint32_t blockNumber, const uint8_t *src) {
  * \param[in] src Pointer to the location of the data to be written.
  * \return true for success, false for failure.
  */
-bool DiskIODriver_SPI_SD::writeData(const uint8_t *src) {
+bool DiskIODriver_SPI_SD::writeData(const uint8_t * const src) {
   if (ENABLED(SDCARD_READONLY)) return false;
 
   bool success = true;
@@ -613,7 +613,7 @@ bool DiskIODriver_SPI_SD::writeData(const uint8_t *src) {
 }
 
 // Send one block of data for write block or write multiple blocks
-bool DiskIODriver_SPI_SD::writeData(const uint8_t token, const uint8_t *src) {
+bool DiskIODriver_SPI_SD::writeData(const uint8_t token, const uint8_t * const src) {
   if (ENABLED(SDCARD_READONLY)) return false;
 
   const uint16_t crc = TERN(SD_CHECK_AND_RETRY, CRC_CCITT(src, 512), 0xFFFF);
diff --git a/Marlin/src/sd/Sd2Card.h b/Marlin/src/sd/Sd2Card.h
index e0dce02a0236..23677b24fa4b 100644
--- a/Marlin/src/sd/Sd2Card.h
+++ b/Marlin/src/sd/Sd2Card.h
@@ -143,7 +143,7 @@ class DiskIODriver_SPI_SD : public DiskIODriver {
    *
    * \return true for success or false for failure.
    */
-  bool readCID(cid_t *cid) { return readRegister(CMD10, cid); }
+  bool readCID(cid_t * const cid) { return readRegister(CMD10, cid); }
 
   /**
    * Read a card's CSD register. The CSD contains Card-Specific Data that
@@ -153,18 +153,18 @@ class DiskIODriver_SPI_SD : public DiskIODriver {
    *
    * \return true for success or false for failure.
    */
-  inline bool readCSD(csd_t *csd) override { return readRegister(CMD9, csd); }
+  inline bool readCSD(csd_t * const csd) override { return readRegister(CMD9, csd); }
 
-  bool readData(uint8_t *dst) override;
+  bool readData(uint8_t * const dst) override;
   bool readStart(uint32_t blockNumber) override;
   bool readStop() override;
 
-  bool writeData(const uint8_t *src) override;
-  bool writeStart(const uint32_t blockNumber, const uint32_t eraseCount) override;
+  bool writeData(const uint8_t * const src) override;
+  bool writeStart(uint32_t blockNumber, const uint32_t eraseCount) override;
   bool writeStop() override;
 
-  bool readBlock(uint32_t block, uint8_t *dst) override;
-  bool writeBlock(uint32_t blockNumber, const uint8_t *src) override;
+  bool readBlock(uint32_t blockNumber, uint8_t * const dst) override;
+  bool writeBlock(uint32_t blockNumber, const uint8_t * const src) override;
 
   uint32_t cardSize() override;
 
@@ -187,11 +187,11 @@ class DiskIODriver_SPI_SD : public DiskIODriver {
   }
   uint8_t cardCommand(const uint8_t cmd, const uint32_t arg);
 
-  bool readData(uint8_t *dst, const uint16_t count);
-  bool readRegister(const uint8_t cmd, void *buf);
+  bool readData(uint8_t * const dst, const uint16_t count);
+  bool readRegister(const uint8_t cmd, void * const buf);
   void chipDeselect();
   void chipSelect();
   inline void type(const uint8_t value) { type_ = value; }
   bool waitNotBusy(const millis_t timeout_ms);
-  bool writeData(const uint8_t token, const uint8_t *src);
+  bool writeData(const uint8_t token, const uint8_t * const src);
 };
diff --git a/Marlin/src/sd/SdBaseFile.cpp b/Marlin/src/sd/SdBaseFile.cpp
index 818f0dcb3737..4f4a8e9fa992 100644
--- a/Marlin/src/sd/SdBaseFile.cpp
+++ b/Marlin/src/sd/SdBaseFile.cpp
@@ -91,7 +91,7 @@ bool SdBaseFile::addDirCluster() {
 // cache a file's directory entry
 // cache the current "dirBlock_" and return the entry at index "dirIndex_"
 // return pointer to cached entry or null for failure
-dir_t* SdBaseFile::cacheDirEntry(uint8_t action) {
+dir_t* SdBaseFile::cacheDirEntry(const uint8_t action) {
   if (!vol_->cacheRawBlock(dirBlock_, action)) return nullptr;
   return vol_->cache()->dir + dirIndex_;
 }
@@ -119,7 +119,7 @@ bool SdBaseFile::close() {
  * Reasons for failure include file is not contiguous, file has zero length
  * or an I/O error occurred.
  */
-bool SdBaseFile::contiguousRange(uint32_t *bgnBlock, uint32_t *endBlock) {
+bool SdBaseFile::contiguousRange(uint32_t * const bgnBlock, uint32_t * const endBlock) {
   // error if no blocks
   if (firstCluster_ == 0) return false;
 
@@ -156,7 +156,7 @@ bool SdBaseFile::contiguousRange(uint32_t *bgnBlock, uint32_t *endBlock) {
  * a file is already open, the file already exists, the root
  * directory is full or an I/O error.
  */
-bool SdBaseFile::createContiguous(SdBaseFile *dirFile, const char *path, uint32_t size) {
+bool SdBaseFile::createContiguous(SdBaseFile * const dirFile, const char * const path, const uint32_t size) {
   if (ENABLED(SDCARD_READONLY)) return false;
 
   uint32_t count;
@@ -301,7 +301,7 @@ bool SdBaseFile::getDosName(char * const name) {
   return true;
 }
 
-void SdBaseFile::getpos(filepos_t *pos) {
+void SdBaseFile::getpos(filepos_t * const pos) {
   pos->position = curPosition_;
   pos->cluster = curCluster_;
 }
@@ -337,7 +337,7 @@ void SdBaseFile::ls(uint8_t flags, uint8_t indent) {
 
 // saves 32 bytes on stack for ls recursion
 // return 0 - EOF, 1 - normal file, or 2 - directory
-int8_t SdBaseFile::lsPrintNext(uint8_t flags, uint8_t indent) {
+int8_t SdBaseFile::lsPrintNext(const uint8_t flags, const uint8_t indent) {
   dir_t dir;
   uint8_t w = 0;
 
@@ -400,7 +400,7 @@ uint8_t lfn_checksum(const uint8_t *name) {
 }
 
 // Format directory name field from a 8.3 name string
-bool SdBaseFile::make83Name(const char *str, uint8_t *name, const char **ptr) {
+bool SdBaseFile::make83Name(const char *str, uint8_t * const name, const char **ptr) {
   uint8_t n = 7,                      // Max index until a dot is found
           i = 11;
   while (i) name[--i] = ' ';          // Set whole FILENAME.EXT to spaces
@@ -437,13 +437,11 @@ bool SdBaseFile::make83Name(const char *str, uint8_t *name, const char **ptr) {
  * Reasons for failure include this file is already open, \a parent is not a
  * directory, \a path is invalid or already exists in \a parent.
  */
-bool SdBaseFile::mkdir(SdBaseFile *parent, const char *path, bool pFlag) {
+bool SdBaseFile::mkdir(SdBaseFile *parent, const char *path, const bool pFlag/*=true*/) {
   if (ENABLED(SDCARD_READONLY)) return false;
 
-  uint8_t dname[11];
-  SdBaseFile dir1, dir2;
-  SdBaseFile *sub = &dir1;
-  SdBaseFile *start = parent;
+  SdBaseFile dir1, dir2, *sub = &dir1;
+  SdBaseFile * const start = parent;
 
   #if ENABLED(LONG_FILENAME_WRITE_SUPPORT)
     uint8_t dlname[LONG_FILENAME_LENGTH];
@@ -459,6 +457,7 @@ bool SdBaseFile::mkdir(SdBaseFile *parent, const char *path, bool pFlag) {
     }
   }
 
+  uint8_t dname[11];
   for (;;) {
     if (!TERN(LONG_FILENAME_WRITE_SUPPORT, parsePath(path, dname, dlname, &path), make83Name(path, dname, &path))) return false;
     while (*path == '/') path++;
@@ -474,7 +473,7 @@ bool SdBaseFile::mkdir(SdBaseFile *parent, const char *path, bool pFlag) {
   return mkdir(parent, dname OPTARG(LONG_FILENAME_WRITE_SUPPORT, dlname));
 }
 
-bool SdBaseFile::mkdir(SdBaseFile *parent, const uint8_t dname[11]
+bool SdBaseFile::mkdir(SdBaseFile * const parent, const uint8_t dname[11]
   OPTARG(LONG_FILENAME_WRITE_SUPPORT, const uint8_t dlname[LONG_FILENAME_LENGTH])
 ) {
   if (ENABLED(SDCARD_READONLY)) return false;
@@ -541,7 +540,7 @@ bool SdBaseFile::mkdir(SdBaseFile *parent, const uint8_t dname[11]
  *
  * \return true for success, false for failure.
  */
-bool SdBaseFile::open(const char *path, uint8_t oflag) {
+bool SdBaseFile::open(const char * const path, const uint8_t oflag) {
   return open(cwd_, path, oflag);
 }
 
@@ -595,7 +594,7 @@ bool SdBaseFile::open(const char *path, uint8_t oflag) {
  * a directory, \a path is invalid, the file does not exist
  * or can't be opened in the access mode specified by oflag.
  */
-bool SdBaseFile::open(SdBaseFile *dirFile, const char *path, uint8_t oflag) {
+bool SdBaseFile::open(SdBaseFile * const dirFile, const char *path, const uint8_t oflag) {
   uint8_t dname[11];
   SdBaseFile dir1, dir2;
   SdBaseFile *parent = dirFile, *sub = &dir1;
@@ -627,9 +626,9 @@ bool SdBaseFile::open(SdBaseFile *dirFile, const char *path, uint8_t oflag) {
 }
 
 // open with filename in dname and long filename in dlname
-bool SdBaseFile::open(SdBaseFile *dirFile, const uint8_t dname[11]
+bool SdBaseFile::open(SdBaseFile * const dirFile, const uint8_t dname[11]
     OPTARG(LONG_FILENAME_WRITE_SUPPORT, const uint8_t dlname[LONG_FILENAME_LENGTH])
-  , uint8_t oflag
+  , const uint8_t oflag
 ) {
   bool emptyFound = false, fileFound = false;
   uint8_t index = 0;
@@ -876,7 +875,7 @@ bool SdBaseFile::open(SdBaseFile *dirFile, const uint8_t dname[11]
  * See open() by path for definition of flags.
  * \return true for success or false for failure.
  */
-bool SdBaseFile::open(SdBaseFile *dirFile, uint16_t index, uint8_t oflag) {
+bool SdBaseFile::open(SdBaseFile *dirFile, uint16_t index, const uint8_t oflag) {
   vol_ = dirFile->vol_;
 
   // error if already open
@@ -902,7 +901,7 @@ bool SdBaseFile::open(SdBaseFile *dirFile, uint16_t index, uint8_t oflag) {
 }
 
 // open a cached directory entry. Assumes vol_ is initialized
-bool SdBaseFile::openCachedEntry(uint8_t dirIndex, uint8_t oflag) {
+bool SdBaseFile::openCachedEntry(const uint8_t dirIndex, const uint8_t oflag) {
   dir_t *p;
 
   #if ENABLED(SDCARD_READONLY)
@@ -962,7 +961,7 @@ bool SdBaseFile::openCachedEntry(uint8_t dirIndex, uint8_t oflag) {
  * See open() by path for definition of flags.
  * \return true for success or false for failure.
  */
-bool SdBaseFile::openNext(SdBaseFile *dirFile, uint8_t oflag) {
+bool SdBaseFile::openNext(SdBaseFile *dirFile, const uint8_t oflag) {
   if (!dirFile) return false;
 
   // error if already open
@@ -1017,7 +1016,7 @@ bool SdBaseFile::openNext(SdBaseFile *dirFile, uint8_t oflag) {
    * \return true if the dirname is a long file name (LFN)
    * \return false if the dirname is a short file name 8.3 (SFN)
    */
-  bool SdBaseFile::isDirNameLFN(const char *dirname) {
+  bool SdBaseFile::isDirNameLFN(const char * const dirname) {
     uint8_t length = strlen(dirname), idx = length;
     bool dotFound = false;
     if (idx > 12) return true;            // LFN due to filename length > 12 ("filename.ext")
@@ -1048,7 +1047,7 @@ bool SdBaseFile::openNext(SdBaseFile *dirFile, uint8_t oflag) {
    * The SFN is without dot ("FILENAMEEXT")
    * The LFN is complete ("Filename.ext")
    */
-  bool SdBaseFile::parsePath(const char *path, uint8_t *name, uint8_t *lname, const char **ptrNextPath) {
+  bool SdBaseFile::parsePath(const char *path, uint8_t * const name, uint8_t * const lname, const char **ptrNextPath) {
     // Init randomizer for SFN generation
     randomSeed(millis());
     // Parse the LFN
@@ -1136,7 +1135,7 @@ bool SdBaseFile::openNext(SdBaseFile *dirFile, uint8_t oflag) {
   /**
    * Get the LFN filename block from a dir. Get the block in lname at startOffset
    */
-  void SdBaseFile::getLFNName(vfat_t *pFatDir, char *lname, uint8_t sequenceNumber) {
+  void SdBaseFile::getLFNName(vfat_t *pFatDir, char *lname, const uint8_t sequenceNumber) {
     const uint8_t startOffset = (sequenceNumber - 1) * FILENAME_LENGTH;
     LOOP_L_N(i, FILENAME_LENGTH) {
       const uint16_t utf16_ch = (i >= 11) ? pFatDir->name3[i - 11] : (i >= 5) ? pFatDir->name2[i - 5] : pFatDir->name1[i];
@@ -1156,7 +1155,7 @@ bool SdBaseFile::openNext(SdBaseFile *dirFile, uint8_t oflag) {
   /**
    * Set the LFN filename block lname to a dir. Put the block based on sequence number
    */
-  void SdBaseFile::setLFNName(vfat_t *pFatDir, char *lname, uint8_t sequenceNumber) {
+  void SdBaseFile::setLFNName(vfat_t *pFatDir, char *lname, const uint8_t sequenceNumber) {
     const uint8_t startOffset = (sequenceNumber - 1) * FILENAME_LENGTH,
                   nameLength = strlen(lname);
     LOOP_L_N(i, FILENAME_LENGTH) {
@@ -1305,7 +1304,7 @@ static void print2u(const uint8_t v) {
  * \param[in] pr Print stream for output.
  * \param[in] fatDate The date field from a directory entry.
  */
-void SdBaseFile::printFatDate(uint16_t fatDate) {
+void SdBaseFile::printFatDate(const uint16_t fatDate) {
   SERIAL_ECHO(FAT_YEAR(fatDate));
   SERIAL_CHAR('-');
   print2u(FAT_MONTH(fatDate));
@@ -1322,7 +1321,7 @@ void SdBaseFile::printFatDate(uint16_t fatDate) {
  * \param[in] pr Print stream for output.
  * \param[in] fatTime The time field from a directory entry.
  */
-void SdBaseFile::printFatTime(uint16_t fatTime) {
+void SdBaseFile::printFatTime(const uint16_t fatTime) {
   print2u(FAT_HOUR(fatTime));
   SERIAL_CHAR(':');
   print2u(FAT_MINUTE(fatTime));
@@ -1367,7 +1366,7 @@ int16_t SdBaseFile::read() {
  * read() called before a file has been opened, corrupt file system
  * or an I/O error occurred.
  */
-int16_t SdBaseFile::read(void *buf, uint16_t nbyte) {
+int16_t SdBaseFile::read(void * const buf, uint16_t nbyte) {
   uint8_t *dst = reinterpret_cast<uint8_t*>(buf);
   uint16_t offset, toRead;
   uint32_t block;  // raw device block number
@@ -1429,7 +1428,7 @@ int16_t SdBaseFile::read(void *buf, uint16_t nbyte) {
  * readDir() called before a directory has been opened, this is not
  * a directory file or an I/O error occurred.
  */
-int8_t SdBaseFile::readDir(dir_t *dir, char * const longFilename) {
+int8_t SdBaseFile::readDir(dir_t * const dir, char * const longFilename) {
   int16_t n;
   // if not a directory file or miss-positioned return an error
   if (!isDir() || (0x1F & curPosition_)) return -1;
@@ -1676,7 +1675,7 @@ bool SdBaseFile::remove() {
  * \a dirFile is not a directory, \a path is not found
  * or an I/O error occurred.
  */
-bool SdBaseFile::remove(SdBaseFile *dirFile, const char *path) {
+bool SdBaseFile::remove(SdBaseFile * const dirFile, const char * const path) {
   if (ENABLED(SDCARD_READONLY)) return false;
 
   SdBaseFile file;
@@ -1715,7 +1714,7 @@ bool SdBaseFile::hide(const bool hidden) {
  * Reasons for failure include \a dirFile is not open or is not a directory
  * file, newPath is invalid or already exists, or an I/O error occurs.
  */
-bool SdBaseFile::rename(SdBaseFile *dirFile, const char *newPath) {
+bool SdBaseFile::rename(SdBaseFile * const dirFile, const char * const newPath) {
   if (ENABLED(SDCARD_READONLY)) return false;
 
   uint32_t dirCluster = 0;
@@ -1900,7 +1899,7 @@ bool SdBaseFile::rmRfStar() {
  * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
  * OR of open flags. see SdBaseFile::open(SdBaseFile*, const char*, uint8_t).
  */
-SdBaseFile::SdBaseFile(const char *path, uint8_t oflag) {
+SdBaseFile::SdBaseFile(const char * const path, const uint8_t oflag) {
   type_ = FAT_FILE_TYPE_CLOSED;
   writeError = false;
   open(path, oflag);
@@ -1943,7 +1942,7 @@ bool SdBaseFile::seekSet(const uint32_t pos) {
   return true;
 }
 
-void SdBaseFile::setpos(filepos_t *pos) {
+void SdBaseFile::setpos(filepos_t * const pos) {
   curPosition_ = pos->position;
   curCluster_ = pos->cluster;
 }
@@ -1998,7 +1997,7 @@ bool SdBaseFile::sync() {
  *
  * \return true for success, false for failure.
  */
-bool SdBaseFile::timestamp(SdBaseFile *file) {
+bool SdBaseFile::timestamp(SdBaseFile * const file) {
   dir_t dir;
 
   // get timestamps
@@ -2055,8 +2054,8 @@ bool SdBaseFile::timestamp(SdBaseFile *file) {
  *
  * \return true for success, false for failure.
  */
-bool SdBaseFile::timestamp(uint8_t flags, uint16_t year, uint8_t month,
-                           uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) {
+bool SdBaseFile::timestamp(const uint8_t flags, const uint16_t year, const uint8_t month,
+                           const uint8_t day, const uint8_t hour, const uint8_t minute, const uint8_t second) {
   if (ENABLED(SDCARD_READONLY)) return false;
 
   uint16_t dirDate, dirTime;
diff --git a/Marlin/src/sd/SdBaseFile.h b/Marlin/src/sd/SdBaseFile.h
index 19225170f9ce..046c2447cb7a 100644
--- a/Marlin/src/sd/SdBaseFile.h
+++ b/Marlin/src/sd/SdBaseFile.h
@@ -89,7 +89,7 @@ uint8_t const FAT_FILE_TYPE_CLOSED = 0,                           // This file h
  *
  * \return Packed date for dir_t entry.
  */
-static inline uint16_t FAT_DATE(uint16_t year, uint8_t month, uint8_t day) { return (year - 1980) << 9 | month << 5 | day; }
+static inline uint16_t FAT_DATE(const uint16_t year, const uint8_t month, const uint8_t day) { return (year - 1980) << 9 | month << 5 | day; }
 
 /**
  * year part of FAT directory date field
@@ -97,7 +97,7 @@ static inline uint16_t FAT_DATE(uint16_t year, uint8_t month, uint8_t day) { ret
  *
  * \return Extracted year [1980,2107]
  */
-static inline uint16_t FAT_YEAR(uint16_t fatDate) { return 1980 + (fatDate >> 9); }
+static inline uint16_t FAT_YEAR(const uint16_t fatDate) { return 1980 + (fatDate >> 9); }
 
 /**
  * month part of FAT directory date field
@@ -105,7 +105,7 @@ static inline uint16_t FAT_YEAR(uint16_t fatDate) { return 1980 + (fatDate >> 9)
  *
  * \return Extracted month [1,12]
  */
-static inline uint8_t FAT_MONTH(uint16_t fatDate) { return (fatDate >> 5) & 0xF; }
+static inline uint8_t FAT_MONTH(const uint16_t fatDate) { return (fatDate >> 5) & 0xF; }
 
 /**
  * day part of FAT directory date field
@@ -113,7 +113,7 @@ static inline uint8_t FAT_MONTH(uint16_t fatDate) { return (fatDate >> 5) & 0xF;
  *
  * \return Extracted day [1,31]
  */
-static inline uint8_t FAT_DAY(uint16_t fatDate) { return fatDate & 0x1F; }
+static inline uint8_t FAT_DAY(const uint16_t fatDate) { return fatDate & 0x1F; }
 
 /**
  * time field for FAT directory entry
@@ -123,7 +123,7 @@ static inline uint8_t FAT_DAY(uint16_t fatDate) { return fatDate & 0x1F; }
  *
  * \return Packed time for dir_t entry.
  */
-static inline uint16_t FAT_TIME(uint8_t hour, uint8_t minute, uint8_t second) { return hour << 11 | minute << 5 | second >> 1; }
+static inline uint16_t FAT_TIME(const uint8_t hour, const uint8_t minute, const uint8_t second) { return hour << 11 | minute << 5 | second >> 1; }
 
 /**
  * hour part of FAT directory time field
@@ -131,7 +131,7 @@ static inline uint16_t FAT_TIME(uint8_t hour, uint8_t minute, uint8_t second) {
  *
  * \return Extracted hour [0,23]
  */
-static inline uint8_t FAT_HOUR(uint16_t fatTime) { return fatTime >> 11; }
+static inline uint8_t FAT_HOUR(const uint16_t fatTime) { return fatTime >> 11; }
 
 /**
  * minute part of FAT directory time field
@@ -139,7 +139,7 @@ static inline uint8_t FAT_HOUR(uint16_t fatTime) { return fatTime >> 11; }
  *
  * \return Extracted minute [0,59]
  */
-static inline uint8_t FAT_MINUTE(uint16_t fatTime) { return (fatTime >> 5) & 0x3F; }
+static inline uint8_t FAT_MINUTE(const uint16_t fatTime) { return (fatTime >> 5) & 0x3F; }
 
 /**
  * second part of FAT directory time field
@@ -149,7 +149,7 @@ static inline uint8_t FAT_MINUTE(uint16_t fatTime) { return (fatTime >> 5) & 0x3
  *
  * \return Extracted second [0,58]
  */
-static inline uint8_t FAT_SECOND(uint16_t fatTime) { return 2 * (fatTime & 0x1F); }
+static inline uint8_t FAT_SECOND(const uint16_t fatTime) { return 2 * (fatTime & 0x1F); }
 
 // Default date for file timestamps is 1 Jan 2000
 uint16_t const FAT_DEFAULT_DATE = ((2000 - 1980) << 9) | (1 << 5) | 1;
@@ -163,7 +163,7 @@ uint16_t const FAT_DEFAULT_TIME = (1 << 11);
 class SdBaseFile {
  public:
   SdBaseFile() : writeError(false), type_(FAT_FILE_TYPE_CLOSED) {}
-  SdBaseFile(const char *path, uint8_t oflag);
+  SdBaseFile(const char * const path, const uint8_t oflag);
   ~SdBaseFile() { if (isOpen()) close(); }
 
   /**
@@ -179,18 +179,17 @@ class SdBaseFile {
    * get position for streams
    * \param[out] pos struct to receive position
    */
-  void getpos(filepos_t *pos);
+  void getpos(filepos_t * const pos);
 
   /**
    * set position for streams
    * \param[out] pos struct with value for new position
    */
-  void setpos(filepos_t *pos);
+  void setpos(filepos_t * const pos);
 
   bool close();
-  bool contiguousRange(uint32_t *bgnBlock, uint32_t *endBlock);
-  bool createContiguous(SdBaseFile *dirFile,
-                        const char *path, uint32_t size);
+  bool contiguousRange(uint32_t * const bgnBlock, uint32_t * const endBlock);
+  bool createContiguous(SdBaseFile * const dirFile, const char * const path, const uint32_t size);
   /**
    * \return The current cluster number for a file or directory.
    */
@@ -235,7 +234,7 @@ class SdBaseFile {
    * See the timestamp() function.
    */
   static void dateTimeCallback(
-    void (*dateTime)(uint16_t *date, uint16_t *time)) {
+    void (*dateTime)(uint16_t * const date, uint16_t * const time)) {
     dateTime_ = dateTime;
   }
 
@@ -246,7 +245,7 @@ class SdBaseFile {
   bool dirEntry(dir_t *dir);
   static void dirName(const dir_t& dir, char *name);
   bool exists(const char *name);
-  int16_t fgets(char *str, int16_t num, char *delim = 0);
+  int16_t fgets(char *str, int16_t num, char *delim=0);
 
   /**
    * \return The total number of bytes in a file or directory.
@@ -284,29 +283,29 @@ class SdBaseFile {
   bool isRoot() const { return type_ == FAT_FILE_TYPE_ROOT_FIXED || type_ == FAT_FILE_TYPE_ROOT32; }
 
   bool getDosName(char * const name);
-  void ls(uint8_t flags = 0, uint8_t indent = 0);
-
-  bool mkdir(SdBaseFile *dir, const char *path, bool pFlag = true);
-  bool open(SdBaseFile *dirFile, uint16_t index, uint8_t oflag);
-  bool open(SdBaseFile *dirFile, const char *path, uint8_t oflag);
-  bool open(const char *path, uint8_t oflag = O_READ);
-  bool openNext(SdBaseFile *dirFile, uint8_t oflag);
-  bool openRoot(SdVolume *vol);
+  void ls(uint8_t flags=0, uint8_t indent=0);
+
+  bool mkdir(SdBaseFile *parent, const char *path, const bool pFlag=true);
+  bool open(SdBaseFile * const dirFile, uint16_t index, const uint8_t oflag);
+  bool open(SdBaseFile * const dirFile, const char *path, const uint8_t oflag);
+  bool open(const char * const path, const uint8_t oflag=O_READ);
+  bool openNext(SdBaseFile * const dirFile, const uint8_t oflag);
+  bool openRoot(SdVolume * const vol);
   int peek();
-  static void printFatDate(uint16_t fatDate);
-  static void printFatTime(uint16_t fatTime);
+  static void printFatDate(const uint16_t fatDate);
+  static void printFatTime(const uint16_t fatTime);
   bool printName();
   int16_t read();
-  int16_t read(void *buf, uint16_t nbyte);
-  int8_t readDir(dir_t *dir, char * const longFilename);
-  static bool remove(SdBaseFile *dirFile, const char *path);
+  int16_t read(void * const buf, uint16_t nbyte);
+  int8_t readDir(dir_t * const dir, char * const longFilename);
+  static bool remove(SdBaseFile * const dirFile, const char * const path);
   bool remove();
 
   /**
    * Set the file's current position to zero.
    */
   void rewind() { seekSet(0); }
-  bool rename(SdBaseFile *dirFile, const char *newPath);
+  bool rename(SdBaseFile * const dirFile, const char * const newPath);
   bool rmdir();
   bool rmRfStar();
 
@@ -327,12 +326,12 @@ class SdBaseFile {
    * \param[in] offset The new position in bytes from end-of-file.
    * \return true for success or false for failure.
    */
-  bool seekEnd(const int32_t offset = 0) { return seekSet(fileSize_ + offset); }
+  bool seekEnd(const int32_t offset=0) { return seekSet(fileSize_ + offset); }
   bool seekSet(const uint32_t pos);
   bool sync();
-  bool timestamp(SdBaseFile *file);
-  bool timestamp(uint8_t flag, uint16_t year, uint8_t month, uint8_t day,
-                 uint8_t hour, uint8_t minute, uint8_t second);
+  bool timestamp(SdBaseFile * const file);
+  bool timestamp(const uint8_t flag, const uint16_t year, const uint8_t month, const uint8_t day,
+                 const uint8_t hour, const uint8_t minute, const uint8_t second);
 
   /**
    * Type of file. Use isFile() or isDir() instead of type() if possible.
@@ -379,17 +378,17 @@ class SdBaseFile {
   // private functions
   bool addCluster();
   bool addDirCluster();
-  dir_t* cacheDirEntry(uint8_t action);
-  int8_t lsPrintNext(uint8_t flags, uint8_t indent);
-  static bool make83Name(const char *str, uint8_t *name, const char **ptr);
-  bool mkdir(SdBaseFile *parent, const uint8_t dname[11]
+  dir_t* cacheDirEntry(const uint8_t action);
+  int8_t lsPrintNext(const uint8_t flags, const uint8_t indent);
+  static bool make83Name(const char *str, uint8_t * const name, const char **ptr);
+  bool mkdir(SdBaseFile * const parent, const uint8_t dname[11]
     OPTARG(LONG_FILENAME_WRITE_SUPPORT, const uint8_t dlname[LONG_FILENAME_LENGTH])
   );
   bool open(SdBaseFile *dirFile, const uint8_t dname[11]
       OPTARG(LONG_FILENAME_WRITE_SUPPORT, const uint8_t dlname[LONG_FILENAME_LENGTH])
-    , uint8_t oflag
+    , const uint8_t oflag
   );
-  bool openCachedEntry(uint8_t cacheIndex, uint8_t oflags);
+  bool openCachedEntry(const uint8_t dirIndex, const uint8_t oflags);
   dir_t* readDirCache();
 
   #if ENABLED(UTF_FILENAME_SUPPORT)
@@ -399,11 +398,11 @@ class SdBaseFile {
   // Long Filename create/write support
   #if ENABLED(LONG_FILENAME_WRITE_SUPPORT)
     static bool isDirLFN(const dir_t* dir);
-    static bool isDirNameLFN(const char *dirname);
-    static bool parsePath(const char *str, uint8_t *name, uint8_t *lname, const char **ptr);
+    static bool isDirNameLFN(const char * const dirname);
+    static bool parsePath(const char *str, uint8_t * const name, uint8_t * const lname, const char **ptr);
     // Return the number of entries needed in the FAT for this LFN
-    static inline uint8_t getLFNEntriesNum(const char *lname) { return (strlen(lname) + 12) / 13; }
-    static void getLFNName(vfat_t *vFatDir, char *lname, uint8_t startOffset);
-    static void setLFNName(vfat_t *vFatDir, char *lname, uint8_t lfnSequenceNumber);
+    static uint8_t getLFNEntriesNum(const char * const lname) { return (strlen(lname) + 12) / 13; }
+    static void getLFNName(vfat_t *vFatDir, char *lname, const uint8_t sequenceNumber);
+    static void setLFNName(vfat_t *vFatDir, char *lname, const uint8_t sequenceNumber);
   #endif
 };
diff --git a/Marlin/src/sd/SdFatStructs.h b/Marlin/src/sd/SdFatStructs.h
index 03bbc1c194c9..b3f94b57a055 100644
--- a/Marlin/src/sd/SdFatStructs.h
+++ b/Marlin/src/sd/SdFatStructs.h
@@ -66,9 +66,9 @@ struct partitionTable {
    * Sector part of Cylinder-head-sector address of the first block in
    * the partition. Legal values are 1-63. Only used in old PC BIOS.
    */
-  unsigned beginSector : 6;
+  uint8_t beginSector : 6;
   /** High bits cylinder for first block in partition. */
-  unsigned beginCylinderHigh : 2;
+  uint8_t beginCylinderHigh : 2;
   /**
    * Combine beginCylinderLow with beginCylinderHigh. Legal values
    * are 0-1023.  Only used in old PC BIOS.
@@ -88,9 +88,9 @@ struct partitionTable {
    * Sector part of cylinder-head-sector address of the last sector in
    * the partition.  Legal values are 1-63. Only used in old PC BIOS.
    */
-  unsigned endSector : 6;
+  uint8_t endSector : 6;
   /** High bits of end cylinder */
-  unsigned endCylinderHigh : 2;
+  uint8_t endCylinderHigh : 2;
   /**
    * Combine endCylinderLow with endCylinderHigh. Legal values
    * are 0-1023.  Only used in old PC BIOS.
diff --git a/Marlin/src/sd/SdFile.cpp b/Marlin/src/sd/SdFile.cpp
index bce96ef02db5..ac5f6f923414 100644
--- a/Marlin/src/sd/SdFile.cpp
+++ b/Marlin/src/sd/SdFile.cpp
@@ -43,7 +43,7 @@
  * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
  * OR of open flags. see SdBaseFile::open(SdBaseFile*, const char*, uint8_t).
  */
-SdFile::SdFile(const char *path, uint8_t oflag) : SdBaseFile(path, oflag) { }
+SdFile::SdFile(const char * const path, const uint8_t oflag) : SdBaseFile(path, oflag) { }
 
 /**
  * Write data to an open file.
@@ -60,7 +60,7 @@ SdFile::SdFile(const char *path, uint8_t oflag) : SdBaseFile(path, oflag) { }
  * include write() is called before a file has been opened, write is called
  * for a read-only file, device is full, a corrupt file system or an I/O error.
  */
-int16_t SdFile::write(const void *buf, uint16_t nbyte) { return SdBaseFile::write(buf, nbyte); }
+int16_t SdFile::write(const void * const buf, const uint16_t nbyte) { return SdBaseFile::write(buf, nbyte); }
 
 /**
  * Write a byte to a file. Required by the Arduino Print class.
@@ -68,9 +68,9 @@ int16_t SdFile::write(const void *buf, uint16_t nbyte) { return SdBaseFile::writ
  * Use writeError to check for errors.
  */
 #if ARDUINO >= 100
-  size_t SdFile::write(uint8_t b) { return SdBaseFile::write(&b, 1); }
+  size_t SdFile::write(const uint8_t b) { return SdBaseFile::write(&b, 1); }
 #else
-  void SdFile::write(uint8_t b) { SdBaseFile::write(&b, 1); }
+  void SdFile::write(const uint8_t b) { SdBaseFile::write(&b, 1); }
 #endif
 
 /**
@@ -78,7 +78,7 @@ int16_t SdFile::write(const void *buf, uint16_t nbyte) { return SdBaseFile::writ
  * \param[in] str Pointer to the string.
  * Use writeError to check for errors.
  */
-void SdFile::write(const char *str) { SdBaseFile::write(str, strlen(str)); }
+void SdFile::write(const char * const str) { SdBaseFile::write(str, strlen(str)); }
 
 /**
  * Write a PROGMEM string to a file.
@@ -94,7 +94,7 @@ void SdFile::write_P(PGM_P str) {
  * \param[in] str Pointer to the PROGMEM string.
  * Use writeError to check for errors.
  */
-void SdFile::writeln_P(PGM_P str) {
+void SdFile::writeln_P(PGM_P const str) {
   write_P(str);
   write_P(PSTR("\r\n"));
 }
diff --git a/Marlin/src/sd/SdFile.h b/Marlin/src/sd/SdFile.h
index 81eeadf5b571..b075239ebba7 100644
--- a/Marlin/src/sd/SdFile.h
+++ b/Marlin/src/sd/SdFile.h
@@ -41,17 +41,17 @@
 class SdFile : public SdBaseFile {
  public:
   SdFile() {}
-  SdFile(const char *name, uint8_t oflag);
+  SdFile(const char * const name, const uint8_t oflag);
   #if ARDUINO >= 100
-    size_t write(uint8_t b);
+    size_t write(const uint8_t b);
   #else
-    void write(uint8_t b);
+    void write(const uint8_t b);
   #endif
 
-  int16_t write(const void *buf, uint16_t nbyte);
-  void write(const char *str);
+  int16_t write(const void * const buf, const uint16_t nbyte);
+  void write(const char * const str);
   void write_P(PGM_P str);
-  void writeln_P(PGM_P str);
+  void writeln_P(PGM_P const str);
 };
 
 using MediaFile = SdFile;
diff --git a/Marlin/src/sd/SdVolume.cpp b/Marlin/src/sd/SdVolume.cpp
index 1b1fdc5a7c1e..8c06c745371b 100644
--- a/Marlin/src/sd/SdVolume.cpp
+++ b/Marlin/src/sd/SdVolume.cpp
@@ -47,7 +47,7 @@
 #endif
 
 // find a contiguous group of clusters
-bool SdVolume::allocContiguous(uint32_t count, uint32_t *curCluster) {
+bool SdVolume::allocContiguous(const uint32_t count, uint32_t * const curCluster) {
   if (ENABLED(SDCARD_READONLY)) return false;
 
   // start of group
@@ -138,7 +138,7 @@ bool SdVolume::cacheFlush() {
   return true;
 }
 
-bool SdVolume::cacheRawBlock(uint32_t blockNumber, bool dirty) {
+bool SdVolume::cacheRawBlock(const uint32_t blockNumber, const bool dirty) {
   if (cacheBlockNumber_ != blockNumber) {
     if (!cacheFlush()) return false;
     if (!sdCard_->readBlock(blockNumber, cacheBuffer_.data)) return false;
@@ -149,7 +149,7 @@ bool SdVolume::cacheRawBlock(uint32_t blockNumber, bool dirty) {
 }
 
 // return the size in bytes of a cluster chain
-bool SdVolume::chainSize(uint32_t cluster, uint32_t *size) {
+bool SdVolume::chainSize(uint32_t cluster, uint32_t * const size) {
   uint32_t s = 0;
   do {
     if (!fatGet(cluster, &cluster)) return false;
@@ -160,7 +160,7 @@ bool SdVolume::chainSize(uint32_t cluster, uint32_t *size) {
 }
 
 // Fetch a FAT entry
-bool SdVolume::fatGet(uint32_t cluster, uint32_t *value) {
+bool SdVolume::fatGet(const uint32_t cluster, uint32_t * const value) {
   uint32_t lba;
   if (cluster > (clusterCount_ + 1)) return false;
   if (FAT12_SUPPORT && fatType_ == 12) {
@@ -195,7 +195,7 @@ bool SdVolume::fatGet(uint32_t cluster, uint32_t *value) {
 }
 
 // Store a FAT entry
-bool SdVolume::fatPut(uint32_t cluster, uint32_t value) {
+bool SdVolume::fatPut(const uint32_t cluster, const uint32_t value) {
   if (ENABLED(SDCARD_READONLY)) return false;
 
   uint32_t lba;
@@ -326,7 +326,7 @@ int32_t SdVolume::freeClusterCount() {
  * Reasons for failure include not finding a valid partition, not finding a valid
  * FAT file system in the specified partition or an I/O error.
  */
-bool SdVolume::init(DiskIODriver* dev, uint8_t part) {
+bool SdVolume::init(DiskIODriver * const dev, const uint8_t part) {
   uint32_t totalBlocks, volumeStartBlock = 0;
   fat32_boot_t *fbs;
 
diff --git a/Marlin/src/sd/SdVolume.h b/Marlin/src/sd/SdVolume.h
index 309777303092..ccf595a593d6 100644
--- a/Marlin/src/sd/SdVolume.h
+++ b/Marlin/src/sd/SdVolume.h
@@ -93,8 +93,8 @@ class SdVolume {
    * Reasons for failure include not finding a valid partition, not finding
    * a valid FAT file system or an I/O error.
    */
-  bool init(DiskIODriver *dev) { return init(dev, 1) || init(dev, 0); }
-  bool init(DiskIODriver *dev, uint8_t part);
+  bool init(DiskIODriver * const dev) { return init(dev, 1) || init(dev, 0); }
+  bool init(DiskIODriver * const dev, const uint8_t part);
 
   // inline functions that return volume info
   uint8_t blocksPerCluster() const { return blocksPerCluster_; } //> \return The volume's cluster size in blocks.
@@ -127,7 +127,7 @@ class SdVolume {
    * \param[out] v value of entry
    * \return true for success or false for failure
    */
-  bool dbgFat(uint32_t n, uint32_t *v) { return fatGet(n, v); }
+  bool dbgFat(const uint32_t n, uint32_t * const v) { return fatGet(n, v); }
 
  private:
   // Allow SdBaseFile access to SdVolume private data.
@@ -164,20 +164,20 @@ class SdVolume {
   uint16_t rootDirEntryCount_;  // number of entries in FAT16 root dir
   uint32_t rootDirStart_;       // root start block for FAT16, cluster for FAT32
 
-  bool allocContiguous(uint32_t count, uint32_t *curCluster);
-  uint8_t blockOfCluster(uint32_t position) const { return (position >> 9) & (blocksPerCluster_ - 1); }
-  uint32_t clusterStartBlock(uint32_t cluster) const { return dataStartBlock_ + ((cluster - 2) << clusterSizeShift_); }
-  uint32_t blockNumber(uint32_t cluster, uint32_t position) const { return clusterStartBlock(cluster) + blockOfCluster(position); }
+  bool allocContiguous(const uint32_t count, uint32_t * const curCluster);
+  uint8_t blockOfCluster(const uint32_t position) const { return (position >> 9) & (blocksPerCluster_ - 1); }
+  uint32_t clusterStartBlock(const uint32_t cluster) const { return dataStartBlock_ + ((cluster - 2) << clusterSizeShift_); }
+  uint32_t blockNumber(const uint32_t cluster, const uint32_t position) const { return clusterStartBlock(cluster) + blockOfCluster(position); }
 
   cache_t* cache() { return &cacheBuffer_; }
   uint32_t cacheBlockNumber() const { return cacheBlockNumber_; }
 
   #if USE_MULTIPLE_CARDS
     bool cacheFlush();
-    bool cacheRawBlock(uint32_t blockNumber, bool dirty);
+    bool cacheRawBlock(const uint32_t blockNumber, const bool dirty);
   #else
     static bool cacheFlush();
-    static bool cacheRawBlock(uint32_t blockNumber, bool dirty);
+    static bool cacheRawBlock(const uint32_t blockNumber, const bool dirty);
   #endif
 
   // used by SdBaseFile write to assign cache to SD location
@@ -186,18 +186,18 @@ class SdVolume {
     cacheBlockNumber_  = blockNumber;
   }
   void cacheSetDirty() { cacheDirty_ |= CACHE_FOR_WRITE; }
-  bool chainSize(uint32_t beginCluster, uint32_t *size);
-  bool fatGet(uint32_t cluster, uint32_t *value);
-  bool fatPut(uint32_t cluster, uint32_t value);
-  bool fatPutEOC(uint32_t cluster) { return fatPut(cluster, 0x0FFFFFFF); }
+  bool chainSize(uint32_t cluster, uint32_t * const size);
+  bool fatGet(const uint32_t cluster, uint32_t * const value);
+  bool fatPut(const uint32_t cluster, const uint32_t value);
+  bool fatPutEOC(const uint32_t cluster) { return fatPut(cluster, 0x0FFFFFFF); }
   bool freeChain(uint32_t cluster);
-  bool isEOC(uint32_t cluster) const {
-    if (FAT12_SUPPORT && fatType_ == 12) return  cluster >= FAT12EOC_MIN;
+  bool isEOC(const uint32_t cluster) const {
+    if (FAT12_SUPPORT && fatType_ == 12) return cluster >= FAT12EOC_MIN;
     if (fatType_ == 16) return cluster >= FAT16EOC_MIN;
-    return  cluster >= FAT32EOC_MIN;
+    return cluster >= FAT32EOC_MIN;
   }
-  bool readBlock(uint32_t block, uint8_t *dst) { return sdCard_->readBlock(block, dst); }
-  bool writeBlock(uint32_t block, const uint8_t *dst) { return sdCard_->writeBlock(block, dst); }
+  bool readBlock(const uint32_t block, uint8_t * const dst) { return sdCard_->readBlock(block, dst); }
+  bool writeBlock(const uint32_t block, const uint8_t * const dst) { return sdCard_->writeBlock(block, dst); }
 };
 
 using MarlinVolume = SdVolume;
diff --git a/Marlin/src/sd/disk_io_driver.h b/Marlin/src/sd/disk_io_driver.h
index 3e2d688aea72..f1f49cf85f46 100644
--- a/Marlin/src/sd/disk_io_driver.h
+++ b/Marlin/src/sd/disk_io_driver.h
@@ -47,18 +47,18 @@ class DiskIODriver {
    *
    * \return true for success or false for failure.
    */
-  virtual bool readCSD(csd_t* csd) = 0;
+  virtual bool readCSD(csd_t * const csd) = 0;
 
   virtual bool readStart(const uint32_t block) = 0;
-  virtual bool readData(uint8_t* dst) = 0;
+  virtual bool readData(uint8_t * const dst) = 0;
   virtual bool readStop() = 0;
 
   virtual bool writeStart(const uint32_t block, const uint32_t) = 0;
   virtual bool writeData(const uint8_t* src) = 0;
   virtual bool writeStop() = 0;
 
-  virtual bool readBlock(uint32_t block, uint8_t* dst) = 0;
-  virtual bool writeBlock(uint32_t blockNumber, const uint8_t* src) = 0;
+  virtual bool readBlock(const uint32_t block, uint8_t * const dst) = 0;
+  virtual bool writeBlock(const uint32_t blockNumber, const uint8_t * const src) = 0;
 
   virtual uint32_t cardSize() = 0;
 
diff --git a/buildroot/share/PlatformIO/boards/marlin_FYSETC_CHEETAH_V20.json b/buildroot/share/PlatformIO/boards/marlin_FYSETC_CHEETAH_V20.json
index 6c2e093c3bad..7dd7542c6d0c 100644
--- a/buildroot/share/PlatformIO/boards/marlin_FYSETC_CHEETAH_V20.json
+++ b/buildroot/share/PlatformIO/boards/marlin_FYSETC_CHEETAH_V20.json
@@ -55,7 +55,7 @@
       "dfu",
       "jlink"
     ],
-	"offset_address": "0x8008000",
+    "offset_address": "0x8008000",
     "require_upload_port": true,
     "use_1200bps_touch": false,
     "wait_for_upload_port": false
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_ARCHIM/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_ARCHIM/variant.h
index 11f8f63bfb59..c073e9bbdd5b 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_ARCHIM/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_ARCHIM/variant.h
@@ -24,10 +24,10 @@
  *----------------------------------------------------------------------------*/
 
 /** Frequency of the board main oscillator */
-#define VARIANT_MAINOSC		12000000
+#define VARIANT_MAINOSC   12000000
 
 /** Master clock frequency */
-#define VARIANT_MCK			84000000
+#define VARIANT_MCK     84000000
 
 /*----------------------------------------------------------------------------
  *        Headers
@@ -119,13 +119,13 @@ extern "C"{
 #define BOARD_SPI_DEFAULT_SS BOARD_SPI_SS3
 
 #define BOARD_PIN_TO_SPI_PIN(x) \
-	(x==BOARD_SPI_SS0 ? PIN_SPI_SS0 : \
-	(x==BOARD_SPI_SS1 ? PIN_SPI_SS1 : \
-	(x==BOARD_SPI_SS2 ? PIN_SPI_SS2 : PIN_SPI_SS3 )))
+  (x==BOARD_SPI_SS0 ? PIN_SPI_SS0 : \
+  (x==BOARD_SPI_SS1 ? PIN_SPI_SS1 : \
+  (x==BOARD_SPI_SS2 ? PIN_SPI_SS2 : PIN_SPI_SS3 )))
 #define BOARD_PIN_TO_SPI_CHANNEL(x) \
-	(x==BOARD_SPI_SS0 ? 0 : \
-	(x==BOARD_SPI_SS1 ? 1 : \
-	(x==BOARD_SPI_SS2 ? 2 : 3)))
+  (x==BOARD_SPI_SS0 ? 0 : \
+  (x==BOARD_SPI_SS1 ? 1 : \
+  (x==BOARD_SPI_SS2 ? 2 : 3)))
 
 static const uint8_t SS   = BOARD_SPI_SS0;
 static const uint8_t SS1  = BOARD_SPI_SS1;
@@ -195,7 +195,7 @@ static const uint8_t DAC0 = 66;
 static const uint8_t DAC1 = 67;
 static const uint8_t CANRX = 68;
 static const uint8_t CANTX = 69;
-#define ADC_RESOLUTION		12
+#define ADC_RESOLUTION    12
 
 /*
  * Complementary CAN pins
@@ -212,21 +212,21 @@ static const uint8_t CAN1TX = 89;
 /*
  * DACC
  */
-#define DACC_INTERFACE		DACC
-#define DACC_INTERFACE_ID	ID_DACC
-#define DACC_RESOLUTION		12
+#define DACC_INTERFACE    DACC
+#define DACC_INTERFACE_ID ID_DACC
+#define DACC_RESOLUTION   12
 #define DACC_ISR_HANDLER    DACC_Handler
 #define DACC_ISR_ID         DACC_IRQn
 
 /*
  * PWM
  */
-#define PWM_INTERFACE		PWM
-#define PWM_INTERFACE_ID	ID_PWM
-#define PWM_FREQUENCY		31000
-#define PWM_MAX_DUTY_CYCLE	255
-#define PWM_MIN_DUTY_CYCLE	0
-#define PWM_RESOLUTION		8
+#define PWM_INTERFACE   PWM
+#define PWM_INTERFACE_ID  ID_PWM
+#define PWM_FREQUENCY   31000
+#define PWM_MAX_DUTY_CYCLE  255
+#define PWM_MIN_DUTY_CYCLE  0
+#define PWM_RESOLUTION    8
 
 /*
  * TC
@@ -236,7 +236,7 @@ static const uint8_t CAN1TX = 89;
 #define TC_FREQUENCY        100000
 #define TC_MAX_DUTY_CYCLE   255
 #define TC_MIN_DUTY_CYCLE   0
-#define TC_RESOLUTION		8
+#define TC_RESOLUTION   8
 
 #ifdef __cplusplus
 }
@@ -281,4 +281,3 @@ extern USARTClass Serial3;
 #define SERIAL_PORT_HARDWARE3       Serial3
 
 #endif /* _VARIANT_ARDUINO_DUE_X_ */
-
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_ARTILLERY_RUBY/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_ARTILLERY_RUBY/variant.h
index ca7a53d7827b..f32ff3c28d8c 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_ARTILLERY_RUBY/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_ARTILLERY_RUBY/variant.h
@@ -121,6 +121,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_BTT002/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_BTT002/variant.h
index 068d0b9ee587..88b6e4529232 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_BTT002/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_BTT002/variant.h
@@ -272,6 +272,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_E3_RRF/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_E3_RRF/variant.h
index edc1c91c5374..90e9998d10e4 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_E3_RRF/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_E3_RRF/variant.h
@@ -267,6 +267,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_GTR_V1/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_GTR_V1/variant.h
index d39e665d53e3..01f19a79331b 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_GTR_V1/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_GTR_V1/variant.h
@@ -295,6 +295,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_SKR_PRO_11/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_SKR_PRO_11/variant.h
index c30d7ecc777d..56bc3bdd9e94 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_SKR_PRO_11/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_BIGTREE_SKR_PRO_11/variant.h
@@ -295,6 +295,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_BTT_SKR_SE_BX/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_BTT_SKR_SE_BX/variant.h
index 285ad662e0fe..f03ba3263724 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_BTT_SKR_SE_BX/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_BTT_SKR_SE_BX/variant.h
@@ -195,6 +195,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_CREALITY_STM32F401RC/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_CREALITY_STM32F401RC/variant.h
index 595601aae0b7..722a29d00dd4 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_CREALITY_STM32F401RC/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_CREALITY_STM32F401RC/variant.h
@@ -123,6 +123,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Rx/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_F103Rx/variant.h
index 8f17d052bba9..4a0245e7e9d5 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F103Rx/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Rx/variant.h
@@ -148,6 +148,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103VE_LONGER/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_F103VE_LONGER/variant.h
index 8e4f248c2e2f..3fac64958c06 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F103VE_LONGER/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F103VE_LONGER/variant.h
@@ -148,6 +148,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/ldscript.ld b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/ldscript.ld
index 3013b096073c..ac7ac2e904df 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/ldscript.ld
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/ldscript.ld
@@ -4,7 +4,7 @@
 
 **  File        : LinkerScript.ld
 **
-**  Author		: Auto-generated by STM32CubeIDE
+**  Author    : Auto-generated by STM32CubeIDE
 **
 **  Abstract    : Linker script for STM32F103V(8/B/C/E/F/GTx Device from STM32F1 series
 **                      64/128/256/512/768/1024Kbytes FLASH
@@ -54,15 +54,15 @@
 ENTRY(Reset_Handler)
 
 /* Highest address of the user mode stack */
-_estack = 0x20000000 + LD_MAX_DATA_SIZE;	/* end of "RAM" Ram type memory */
+_estack = 0x20000000 + LD_MAX_DATA_SIZE;  /* end of "RAM" Ram type memory */
 _Min_Heap_Size = 0x200;      /* required amount of heap  */
 _Min_Stack_Size = 0x400; /* required amount of stack */
 
 /* Memories definition */
 MEMORY
 {
-    RAM	(xrw)	: ORIGIN = 0x20000000,	LENGTH = LD_MAX_DATA_SIZE
-    FLASH	(rx)	: ORIGIN = 0x8000000 + LD_FLASH_OFFSET, LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET
+    RAM (xrw) : ORIGIN = 0x20000000,  LENGTH = LD_MAX_DATA_SIZE
+    FLASH (rx)  : ORIGIN = 0x8000000 + LD_FLASH_OFFSET, LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET
 }
 
 /* Sections */
@@ -103,9 +103,9 @@ SECTIONS
   } >FLASH
 
   .ARM.extab   : {
-  	. = ALIGN(4);
-  	*(.ARM.extab* .gnu.linkonce.armextab.*)
-  	. = ALIGN(4);
+    . = ALIGN(4);
+    *(.ARM.extab* .gnu.linkonce.armextab.*)
+    . = ALIGN(4);
   } >FLASH
   .ARM : {
     . = ALIGN(4);
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h
index e01d67fd59c1..4061db4e2670 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h
@@ -158,6 +158,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/ldscript.ld b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/ldscript.ld
index cac12da5c2a1..d995458f959b 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/ldscript.ld
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/ldscript.ld
@@ -1,10 +1,9 @@
 /*
 ******************************************************************************
 **
-
 **  File        : LinkerScript.ld
 **
-**  Author		: Auto-generated by STM32CubeIDE
+**  Author    : Auto-generated by STM32CubeIDE
 **
 **  Abstract    : Linker script for STM32F103Z(C/D/E/G/GTx Device from STM32F1 series
 **                      256/386/512K/786/1024bytes FLASH
@@ -54,7 +53,7 @@
 ENTRY(Reset_Handler)
 
 /* Highest address of the user mode stack */
-_estack = 0x20000000 + LD_MAX_DATA_SIZE;	/* end of "RAM" Ram type memory */
+_estack = 0x20000000 + LD_MAX_DATA_SIZE;  /* end of "RAM" Ram type memory */
 _Min_Heap_Size = 0x200;      /* required amount of heap  */
 _Min_Stack_Size = 0x400; /* required amount of stack */
 
@@ -62,7 +61,7 @@ _Min_Stack_Size = 0x400; /* required amount of stack */
 MEMORY
 {
   RAM (xrw)      : ORIGIN = 0x20000000, LENGTH = LD_MAX_DATA_SIZE
-  FLASH	(rx)	: ORIGIN = 0x8000000 + LD_FLASH_OFFSET, LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET
+  FLASH (rx)  : ORIGIN = 0x8000000 + LD_FLASH_OFFSET, LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET
 }
 
 /* Sections */
@@ -103,9 +102,9 @@ SECTIONS
   } >FLASH
 
   .ARM.extab   : {
-  	. = ALIGN(4);
-  	*(.ARM.extab* .gnu.linkonce.armextab.*)
-  	. = ALIGN(4);
+    . = ALIGN(4);
+    *(.ARM.extab* .gnu.linkonce.armextab.*)
+    . = ALIGN(4);
   } >FLASH
   .ARM : {
     . = ALIGN(4);
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/variant.h
index 330a7efbf83a..8de1e062f9c6 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/variant.h
@@ -205,6 +205,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F401RC/ldscript.ld b/buildroot/share/PlatformIO/variants/MARLIN_F401RC/ldscript.ld
index c7e67d311e89..d028dfc00034 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F401RC/ldscript.ld
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F401RC/ldscript.ld
@@ -28,10 +28,10 @@
 ENTRY(Reset_Handler)
 
 /* Highest address of the user mode stack */
-_estack = ORIGIN(RAM) + LENGTH(RAM);	/* end of "RAM" Ram type memory */
+_estack = ORIGIN(RAM) + LENGTH(RAM);  /* end of "RAM" Ram type memory */
 
-_Min_Heap_Size = 0x200;	/* required amount of heap  */
-_Min_Stack_Size = 0x400;	/* required amount of stack */
+_Min_Heap_Size = 0x200; /* required amount of heap  */
+_Min_Stack_Size = 0x400;  /* required amount of stack */
 
 /* Memories definition */
 MEMORY
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F407VE/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_F407VE/variant.h
index df8bf064fca1..df45a5dbbbe5 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F407VE/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F407VE/variant.h
@@ -326,6 +326,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F446VE/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_F446VE/variant.h
index 855616f66b4a..b2111d04f2d4 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F446VE/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F446VE/variant.h
@@ -159,6 +159,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F446Zx_TRONXY/variant.cpp b/buildroot/share/PlatformIO/variants/MARLIN_F446Zx_TRONXY/variant.cpp
index 2d94ee763a42..7e18e33f7e29 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F446Zx_TRONXY/variant.cpp
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F446Zx_TRONXY/variant.cpp
@@ -173,15 +173,15 @@ uint32_t myvar[] = {1,2,3,4,5,6,7,8};
 void myshow(int fre, int times) // YSZ-WORK
 {
   uint32_t index = 10;
-  RCC->AHB1ENR |= 1 << 6; // port G clock
-  GPIOG->MODER &= ~(3UL << 2 * index); // clear old mode
-  GPIOG->MODER |= 1 << 2 * index; // mode is output
-  GPIOG->OSPEEDR &= ~(3UL << 2 * index) // Clear old output speed
-                    GPIOG->OSPEEDR |= 2 << 2 * index; // Set output speed
-  GPIOG->OTYPER &= ~(1UL << index) // clear old output
-                   GPIOG->OTYPER |= 0 << index; // Set the output mode to push-pull
-  GPIOG->PUPDR &= ~(3 << 2 * index) // Clear the original settings first
-                  GPIOG->PUPDR |= 1 << 2 * index; // Set new up and down
+  RCC->AHB1ENR |= 1 << 6;                // port G clock
+  GPIOG->MODER &= ~(3UL << 2 * index);   // clear old mode
+  GPIOG->MODER |= 1 << 2 * index;        // mode is output
+  GPIOG->OSPEEDR &= ~(3UL << 2 * index); // Clear old output speed
+  GPIOG->OSPEEDR |= 2 << 2 * index;      // Set output speed
+  GPIOG->OTYPER &= ~(1UL << index);      // clear old output
+  GPIOG->OTYPER |= 0 << index;           // Set the output mode to push-pull
+  GPIOG->PUPDR &= ~(3 << 2 * index);     // Clear the original settings first
+  GPIOG->PUPDR |= 1 << 2 * index;        // Set new up and down
   while (times != 0) {
     GPIOG->BSRR = 1UL << index;
     for (int i = 0; i < fre; i++)
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F4x7Vx/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_F4x7Vx/variant.h
index 0b78be627fc5..d6f8e9fe834e 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_F4x7Vx/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_F4x7Vx/variant.h
@@ -176,6 +176,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_FLY_F407ZG/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_FLY_F407ZG/variant.h
index 2bfce85e21f9..80d5d3e00983 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_FLY_F407ZG/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_FLY_F407ZG/variant.h
@@ -37,121 +37,120 @@ extern "C" {
  *        Pins
  *----------------------------------------------------------------------------*/
 
-
-#define PA1 	0
-#define PA2 	1
-#define PA3 	2
-#define PA4 	3
-#define PA5 	4
-#define PA6 	5
-#define PA7 	6
-#define PA8 	7
-#define PA9   	8
-#define PA10	9
-#define PA11	10
-#define PA12	11
-#define PA13	12
-#define PA14	13
-#define PA15	14
-#define PB0	    15
-#define PB1   	16
-#define PB2	    17
-#define PB3	    18
-#define PB4    	19
-#define PB5   	20
-#define PB6	    21
-#define PB7	    22
-#define PB8	    23
-#define PB9   	24
-#define PB10	25
-#define PB11	26
-#define PB12	27
-#define PB13	28
-#define PB14	29
-#define PB15	30
-#define PC2 	31
-#define PC3 	32
-#define PC4 	33
-#define PC5 	34
-#define PC6 	35
-#define PC7 	36
-#define PC8 	37
-#define PC9 	38
-#define PC10	39
-#define PC11	40
-#define PC12	41
-#define PC13	42
-#define PC14	43
-#define PC15	44
-#define PD0 	45
-#define PD1 	46
-#define PD2 	47
-#define PD3 	48
-#define PD4 	49
-#define PD5 	50
-#define PD6 	51
-#define PD7 	52
-#define PD8 	53
-#define PD9 	54
-#define PD10	55
-#define PD11	56
-#define PD12	57
-#define PD13	58
-#define PD14	59
-#define PD15	60
-#define PE0 	61
-#define PE1 	62
-#define PE11 	63
-#define PE3 	64
-#define PE4 	65
-#define PE5 	66
-#define PE6 	67
-#define PE7 	68
-#define PE8 	69
-#define PE9 	70
-#define PE10	71
+#define PA1     0
+#define PA2     1
+#define PA3     2
+#define PA4     3
+#define PA5     4
+#define PA6     5
+#define PA7     6
+#define PA8     7
+#define PA9     8
+#define PA10    9
+#define PA11    10
+#define PA12    11
+#define PA13    12
+#define PA14    13
+#define PA15    14
+#define PB0     15
+#define PB1     16
+#define PB2     17
+#define PB3     18
+#define PB4     19
+#define PB5     20
+#define PB6     21
+#define PB7     22
+#define PB8     23
+#define PB9     24
+#define PB10    25
+#define PB11    26
+#define PB12    27
+#define PB13    28
+#define PB14    29
+#define PB15    30
+#define PC2     31
+#define PC3     32
+#define PC4     33
+#define PC5     34
+#define PC6     35
+#define PC7     36
+#define PC8     37
+#define PC9     38
+#define PC10    39
+#define PC11    40
+#define PC12    41
+#define PC13    42
+#define PC14    43
+#define PC15    44
+#define PD0     45
+#define PD1     46
+#define PD2     47
+#define PD3     48
+#define PD4     49
+#define PD5     50
+#define PD6     51
+#define PD7     52
+#define PD8     53
+#define PD9     54
+#define PD10    55
+#define PD11    56
+#define PD12    57
+#define PD13    58
+#define PD14    59
+#define PD15    60
+#define PE0     61
+#define PE1     62
+#define PE11    63
+#define PE3     64
+#define PE4     65
+#define PE5     66
+#define PE6     67
+#define PE7     68
+#define PE8     69
+#define PE9     70
+#define PE10    71
 #define PE2     72
-#define PE12	73
-#define PE13	74
-#define PE14	75
-#define PE15	76
-#define PF0 	77
-#define PF1 	78
-#define PF2 	79
-#define PF6 	80
-#define PF7 	81
-#define PF8 	82
-#define PF9 	83
-#define PF11	84
-#define PF12	85
-#define PF13	86
-#define PF14	87
-#define PF15	88
-#define PG0 	89
-#define PG1 	90
-#define PG2 	91
-#define PG3 	92
-#define PG4 	93
-#define PG5 	94
-#define PG6 	95
-#define PG7 	96
-#define PG8 	97
-#define PG9 	98
-#define PG10	99
-#define PG11	100
-#define PG12	101
-#define PG13	102
-#define PG14	103
-#define PG15	104
-#define PH0 	105
-#define PH1	    106
-#define PA0   	107
-#define PC1 	108
-#define PC0 	109
-#define PF10	110
-#define PF5 	111
-#define PF4 	112
-#define PF3 	113
+#define PE12    73
+#define PE13    74
+#define PE14    75
+#define PE15    76
+#define PF0     77
+#define PF1     78
+#define PF2     79
+#define PF6     80
+#define PF7     81
+#define PF8     82
+#define PF9     83
+#define PF11    84
+#define PF12    85
+#define PF13    86
+#define PF14    87
+#define PF15    88
+#define PG0     89
+#define PG1     90
+#define PG2     91
+#define PG3     92
+#define PG4     93
+#define PG5     94
+#define PG6     95
+#define PG7     96
+#define PG8     97
+#define PG9     98
+#define PG10    99
+#define PG11    100
+#define PG12    101
+#define PG13    102
+#define PG14    103
+#define PG15    104
+#define PH0     105
+#define PH1     106
+#define PA0     107
+#define PC1     108
+#define PC0     109
+#define PF10    110
+#define PF5     111
+#define PF4     112
+#define PF3     113
 
 // This must be a literal
 #define NUM_DIGITAL_PINS        114
@@ -212,6 +211,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
@@ -234,5 +234,5 @@ extern "C" {
 //                            pins are NOT connected to anything by default.
 #define SERIAL_PORT_MONITOR     Serial
 #define SERIAL_PORT_HARDWARE    Serial1
-#endif
 
+#endif
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_CHEETAH_V20/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_CHEETAH_V20/variant.h
index 041c43b55fad..ca3664daa165 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_CHEETAH_V20/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_CHEETAH_V20/variant.h
@@ -121,6 +121,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_SPIDER_KING407/PeripheralPins.c b/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_SPIDER_KING407/PeripheralPins.c
index 4c0a7e4fa1bc..f8ec8381467f 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_SPIDER_KING407/PeripheralPins.c
+++ b/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_SPIDER_KING407/PeripheralPins.c
@@ -47,10 +47,10 @@ WEAK const PinMap PinMap_ADC[] = {
   //{PA_1,  ADC1,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1
   //{PA_1,  ADC2,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1
   //{PA_1,  ADC3,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1
-  {PA_2,  ADC1,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2			LCD RX
+  {PA_2,  ADC1,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)},   // ADC1_IN2  LCD RX
   //{PA_2,  ADC2,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2
   //{PA_2,  ADC3,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2
-  {PA_3,  ADC1,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3			LCD TX
+  {PA_3,  ADC1,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)},   // ADC1_IN3  LCD TX
   //{PA_3,  ADC2,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3
   //{PA_3,  ADC3,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3
   //{PA_4,  ADC1,  STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_SPIDER_KING407/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_SPIDER_KING407/variant.h
index c3a0c1681160..abcbba8595f7 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_SPIDER_KING407/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_FYSETC_SPIDER_KING407/variant.h
@@ -37,121 +37,120 @@ extern "C" {
  *        Pins
  *----------------------------------------------------------------------------*/
 
-
-#define PA1 	0
-#define PA2 	1
-#define PA3 	2
-#define PA4 	3
-#define PA5 	4
-#define PA6 	5
-#define PA7 	6
-#define PA8 	7
-#define PA9   	8
-#define PA10	9
-#define PA11	10
-#define PA12	11
-#define PA13	12
-#define PA14	13
-#define PA15	14
-#define PB0 	15
-#define PB1 	16
-#define PB2 	17
-#define PB3 	18
-#define PB4 	19
-#define PB5 	20
-#define PB6 	21
-#define PB7 	22
-#define PB8 	23
-#define PB9 	24
-#define PB10	25
-#define PB11	26
-#define PB12	27
-#define PB13	28
-#define PB14	29
-#define PB15	30
-#define PC2 	31
-#define PC3 	32
-#define PC4 	33
-#define PC5 	34
-#define PC6 	35
-#define PC7 	36
-#define PC8 	37
-#define PC9 	38
-#define PC10	39
-#define PC11	40
-#define PC12	41
-#define PC13	42
-#define PC14	43
-#define PC15	44
-#define PD0 	45
-#define PD1 	46
-#define PD2 	47
-#define PD3 	48
-#define PD4 	49
-#define PD5 	50
-#define PD6 	51
-#define PD7 	52
-#define PD8 	53
-#define PD9 	54
-#define PD10	55
-#define PD11	56
-#define PD12	57
-#define PD13	58
-#define PD14	59
-#define PD15	60
-#define PE0 	61
-#define PE1 	62
-#define PE11 	63
-#define PE3 	64
-#define PE4 	65
-#define PE5 	66
-#define PE6 	67
-#define PE7 	68
-#define PE8 	69
-#define PE9 	70
-#define PE10	71
+#define PA1     0
+#define PA2     1
+#define PA3     2
+#define PA4     3
+#define PA5     4
+#define PA6     5
+#define PA7     6
+#define PA8     7
+#define PA9     8
+#define PA10    9
+#define PA11    10
+#define PA12    11
+#define PA13    12
+#define PA14    13
+#define PA15    14
+#define PB0     15
+#define PB1     16
+#define PB2     17
+#define PB3     18
+#define PB4     19
+#define PB5     20
+#define PB6     21
+#define PB7     22
+#define PB8     23
+#define PB9     24
+#define PB10    25
+#define PB11    26
+#define PB12    27
+#define PB13    28
+#define PB14    29
+#define PB15    30
+#define PC2     31
+#define PC3     32
+#define PC4     33
+#define PC5     34
+#define PC6     35
+#define PC7     36
+#define PC8     37
+#define PC9     38
+#define PC10    39
+#define PC11    40
+#define PC12    41
+#define PC13    42
+#define PC14    43
+#define PC15    44
+#define PD0     45
+#define PD1     46
+#define PD2     47
+#define PD3     48
+#define PD4     49
+#define PD5     50
+#define PD6     51
+#define PD7     52
+#define PD8     53
+#define PD9     54
+#define PD10    55
+#define PD11    56
+#define PD12    57
+#define PD13    58
+#define PD14    59
+#define PD15    60
+#define PE0     61
+#define PE1     62
+#define PE11    63
+#define PE3     64
+#define PE4     65
+#define PE5     66
+#define PE6     67
+#define PE7     68
+#define PE8     69
+#define PE9     70
+#define PE10    71
 #define PE2     72
-#define PE12	73
-#define PE13	74
-#define PE14	75
-#define PE15	76
-#define PF0 	77
-#define PF1 	78
-#define PF2 	79
-#define PF6 	80
-#define PF7 	81
-#define PF8 	82
-#define PF9 	83
-#define PF11	84
-#define PF12	85
-#define PF13	86
-#define PF14	87
-#define PF15	88
-#define PG0 	89
-#define PG1 	90
-#define PG2 	91
-#define PG3 	92
-#define PG4 	93
-#define PG5 	94
-#define PG6 	95
-#define PG7 	96
-#define PG8 	97
-#define PG9 	98
-#define PG10	99
-#define PG11	100
-#define PG12	101
-#define PG13	102
-#define PG14	103
-#define PG15	104
-#define PH0 	105
-#define PH1 	106
-#define PA0   	107
-#define PC1 	108
-#define PC0 	109
-#define PF10	110
-#define PF5 	111
-#define PF4 	112
-#define PF3 	113
+#define PE12    73
+#define PE13    74
+#define PE14    75
+#define PE15    76
+#define PF0     77
+#define PF1     78
+#define PF2     79
+#define PF6     80
+#define PF7     81
+#define PF8     82
+#define PF9     83
+#define PF11    84
+#define PF12    85
+#define PF13    86
+#define PF14    87
+#define PF15    88
+#define PG0     89
+#define PG1     90
+#define PG2     91
+#define PG3     92
+#define PG4     93
+#define PG5     94
+#define PG6     95
+#define PG7     96
+#define PG8     97
+#define PG9     98
+#define PG10    99
+#define PG11    100
+#define PG12    101
+#define PG13    102
+#define PG14    103
+#define PG15    104
+#define PH0     105
+#define PH1     106
+#define PA0     107
+#define PC1     108
+#define PC0     109
+#define PF10    110
+#define PF5     111
+#define PF4     112
+#define PF3     113
 
 // This must be a literal
 #define NUM_DIGITAL_PINS        114
@@ -210,6 +209,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
@@ -230,8 +230,7 @@ extern "C" {
 //
 // SERIAL_PORT_HARDWARE_OPEN  Hardware serial ports which are open for use.  Their RX & TX
 //                            pins are NOT connected to anything by default.
-#define SERIAL_PORT_MONITOR     	Serial
-#define SERIAL_PORT_HARDWARE    	Serial1
+#define SERIAL_PORT_MONITOR         Serial
+#define SERIAL_PORT_HARDWARE        Serial1
 #define SERIAL_PORT_HARDWARE_OPEN   Serial2
 #endif
-
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_LERDGE/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_LERDGE/variant.h
index e7bc7c0bc1db..e71bb1c5c8dd 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_LERDGE/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_LERDGE/variant.h
@@ -218,6 +218,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_MEGA_EXTENDED/pins_arduino.h b/buildroot/share/PlatformIO/variants/MARLIN_MEGA_EXTENDED/pins_arduino.h
index 1129f8edae10..f6bc62d57bc9 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_MEGA_EXTENDED/pins_arduino.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_MEGA_EXTENDED/pins_arduino.h
@@ -118,324 +118,324 @@ static const uint8_t A15 = PIN_A15;
 #ifdef ARDUINO_MAIN
 
 const uint16_t PROGMEM port_to_mode_PGM[] = {
-	NOT_A_PORT,
-	(uint16_t) &DDRA,
-	(uint16_t) &DDRB,
-	(uint16_t) &DDRC,
-	(uint16_t) &DDRD,
-	(uint16_t) &DDRE,
-	(uint16_t) &DDRF,
-	(uint16_t) &DDRG,
-	(uint16_t) &DDRH,
-	NOT_A_PORT,
-	(uint16_t) &DDRJ,
-	(uint16_t) &DDRK,
-	(uint16_t) &DDRL,
+  NOT_A_PORT,
+  (uint16_t) &DDRA,
+  (uint16_t) &DDRB,
+  (uint16_t) &DDRC,
+  (uint16_t) &DDRD,
+  (uint16_t) &DDRE,
+  (uint16_t) &DDRF,
+  (uint16_t) &DDRG,
+  (uint16_t) &DDRH,
+  NOT_A_PORT,
+  (uint16_t) &DDRJ,
+  (uint16_t) &DDRK,
+  (uint16_t) &DDRL,
 };
 
 const uint16_t PROGMEM port_to_output_PGM[] = {
-	NOT_A_PORT,
-	(uint16_t) &PORTA,
-	(uint16_t) &PORTB,
-	(uint16_t) &PORTC,
-	(uint16_t) &PORTD,
-	(uint16_t) &PORTE,
-	(uint16_t) &PORTF,
-	(uint16_t) &PORTG,
-	(uint16_t) &PORTH,
-	NOT_A_PORT,
-	(uint16_t) &PORTJ,
-	(uint16_t) &PORTK,
-	(uint16_t) &PORTL,
+  NOT_A_PORT,
+  (uint16_t) &PORTA,
+  (uint16_t) &PORTB,
+  (uint16_t) &PORTC,
+  (uint16_t) &PORTD,
+  (uint16_t) &PORTE,
+  (uint16_t) &PORTF,
+  (uint16_t) &PORTG,
+  (uint16_t) &PORTH,
+  NOT_A_PORT,
+  (uint16_t) &PORTJ,
+  (uint16_t) &PORTK,
+  (uint16_t) &PORTL,
 };
 
 const uint16_t PROGMEM port_to_input_PGM[] = {
-	NOT_A_PIN,
-	(uint16_t) &PINA,
-	(uint16_t) &PINB,
-	(uint16_t) &PINC,
-	(uint16_t) &PIND,
-	(uint16_t) &PINE,
-	(uint16_t) &PINF,
-	(uint16_t) &PING,
-	(uint16_t) &PINH,
-	NOT_A_PIN,
-	(uint16_t) &PINJ,
-	(uint16_t) &PINK,
-	(uint16_t) &PINL,
+  NOT_A_PIN,
+  (uint16_t) &PINA,
+  (uint16_t) &PINB,
+  (uint16_t) &PINC,
+  (uint16_t) &PIND,
+  (uint16_t) &PINE,
+  (uint16_t) &PINF,
+  (uint16_t) &PING,
+  (uint16_t) &PINH,
+  NOT_A_PIN,
+  (uint16_t) &PINJ,
+  (uint16_t) &PINK,
+  (uint16_t) &PINL,
 };
 
 const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
-	// PORTLIST
-	// -------------------------------------------
-	PE	, // PE 0 ** 0 ** USART0_RX
-	PE	, // PE 1 ** 1 ** USART0_TX
-	PE	, // PE 4 ** 2 ** PWM2
-	PE	, // PE 5 ** 3 ** PWM3
-	PG	, // PG 5 ** 4 ** PWM4
-	PE	, // PE 3 ** 5 ** PWM5
-	PH	, // PH 3 ** 6 ** PWM6
-	PH	, // PH 4 ** 7 ** PWM7
-	PH	, // PH 5 ** 8 ** PWM8
-	PH	, // PH 6 ** 9 ** PWM9
-	PB	, // PB 4 ** 10 ** PWM10
-	PB	, // PB 5 ** 11 ** PWM11
-	PB	, // PB 6 ** 12 ** PWM12
-	PB	, // PB 7 ** 13 ** PWM13
-	PJ	, // PJ 1 ** 14 ** USART3_TX
-	PJ	, // PJ 0 ** 15 ** USART3_RX
-	PH	, // PH 1 ** 16 ** USART2_TX
-	PH	, // PH 0 ** 17 ** USART2_RX
-	PD	, // PD 3 ** 18 ** USART1_TX
-	PD	, // PD 2 ** 19 ** USART1_RX
-	PD	, // PD 1 ** 20 ** I2C_SDA
-	PD	, // PD 0 ** 21 ** I2C_SCL
-	PA	, // PA 0 ** 22 ** D22
-	PA	, // PA 1 ** 23 ** D23
-	PA	, // PA 2 ** 24 ** D24
-	PA	, // PA 3 ** 25 ** D25
-	PA	, // PA 4 ** 26 ** D26
-	PA	, // PA 5 ** 27 ** D27
-	PA	, // PA 6 ** 28 ** D28
-	PA	, // PA 7 ** 29 ** D29
-	PC	, // PC 7 ** 30 ** D30
-	PC	, // PC 6 ** 31 ** D31
-	PC	, // PC 5 ** 32 ** D32
-	PC	, // PC 4 ** 33 ** D33
-	PC	, // PC 3 ** 34 ** D34
-	PC	, // PC 2 ** 35 ** D35
-	PC	, // PC 1 ** 36 ** D36
-	PC	, // PC 0 ** 37 ** D37
-	PD	, // PD 7 ** 38 ** D38
-	PG	, // PG 2 ** 39 ** D39
-	PG	, // PG 1 ** 40 ** D40
-	PG	, // PG 0 ** 41 ** D41
-	PL	, // PL 7 ** 42 ** D42
-	PL	, // PL 6 ** 43 ** D43
-	PL	, // PL 5 ** 44 ** D44
-	PL	, // PL 4 ** 45 ** D45
-	PL	, // PL 3 ** 46 ** D46
-	PL	, // PL 2 ** 47 ** D47
-	PL	, // PL 1 ** 48 ** D48
-	PL	, // PL 0 ** 49 ** D49
-	PB	, // PB 3 ** 50 ** SPI_MISO
-	PB	, // PB 2 ** 51 ** SPI_MOSI
-	PB	, // PB 1 ** 52 ** SPI_SCK
-	PB	, // PB 0 ** 53 ** SPI_SS
-	PF	, // PF 0 ** 54 ** A0
-	PF	, // PF 1 ** 55 ** A1
-	PF	, // PF 2 ** 56 ** A2
-	PF	, // PF 3 ** 57 ** A3
-	PF	, // PF 4 ** 58 ** A4
-	PF	, // PF 5 ** 59 ** A5
-	PF	, // PF 6 ** 60 ** A6
-	PF	, // PF 7 ** 61 ** A7
-	PK	, // PK 0 ** 62 ** A8
-	PK	, // PK 1 ** 63 ** A9
-	PK	, // PK 2 ** 64 ** A10
-	PK	, // PK 3 ** 65 ** A11
-	PK	, // PK 4 ** 66 ** A12
-	PK	, // PK 5 ** 67 ** A13
-	PK	, // PK 6 ** 68 ** A14
-	PK	, // PK 7 ** 69 ** A15
-	PG 	, // PG 4 ** 70 ** D70
-	PG 	, // PG 3 ** 71 ** D71
-	PJ 	, // PJ 2 ** 72 ** D72
-	PJ 	, // PJ 3 ** 73 ** D73
-	PJ 	, // PJ 7 ** 74 ** D74
-	PJ 	, // PJ 4 ** 75 ** D75
-	PJ 	, // PJ 5 ** 76 ** D76
-	PJ 	, // PJ 6 ** 77 ** D77
-	PE 	, // PE 2 ** 78 ** D78
-	PE 	, // PE 6 ** 79 ** D79
-	PE 	, // PE 7 ** 80 ** D80
-	PD 	, // PD 4 ** 81 ** D81
-	PD 	, // PD 5 ** 82 ** D82
-	PD 	, // PD 6 ** 83 ** D83
-	PH 	, // PH 2 ** 84 ** D84
-	PH 	, // PH 7 ** 85 ** D85
+  // PORTLIST
+  // -------------------------------------------
+  PE  , // PE 0 ** 0 ** USART0_RX
+  PE  , // PE 1 ** 1 ** USART0_TX
+  PE  , // PE 4 ** 2 ** PWM2
+  PE  , // PE 5 ** 3 ** PWM3
+  PG  , // PG 5 ** 4 ** PWM4
+  PE  , // PE 3 ** 5 ** PWM5
+  PH  , // PH 3 ** 6 ** PWM6
+  PH  , // PH 4 ** 7 ** PWM7
+  PH  , // PH 5 ** 8 ** PWM8
+  PH  , // PH 6 ** 9 ** PWM9
+  PB  , // PB 4 ** 10 ** PWM10
+  PB  , // PB 5 ** 11 ** PWM11
+  PB  , // PB 6 ** 12 ** PWM12
+  PB  , // PB 7 ** 13 ** PWM13
+  PJ  , // PJ 1 ** 14 ** USART3_TX
+  PJ  , // PJ 0 ** 15 ** USART3_RX
+  PH  , // PH 1 ** 16 ** USART2_TX
+  PH  , // PH 0 ** 17 ** USART2_RX
+  PD  , // PD 3 ** 18 ** USART1_TX
+  PD  , // PD 2 ** 19 ** USART1_RX
+  PD  , // PD 1 ** 20 ** I2C_SDA
+  PD  , // PD 0 ** 21 ** I2C_SCL
+  PA  , // PA 0 ** 22 ** D22
+  PA  , // PA 1 ** 23 ** D23
+  PA  , // PA 2 ** 24 ** D24
+  PA  , // PA 3 ** 25 ** D25
+  PA  , // PA 4 ** 26 ** D26
+  PA  , // PA 5 ** 27 ** D27
+  PA  , // PA 6 ** 28 ** D28
+  PA  , // PA 7 ** 29 ** D29
+  PC  , // PC 7 ** 30 ** D30
+  PC  , // PC 6 ** 31 ** D31
+  PC  , // PC 5 ** 32 ** D32
+  PC  , // PC 4 ** 33 ** D33
+  PC  , // PC 3 ** 34 ** D34
+  PC  , // PC 2 ** 35 ** D35
+  PC  , // PC 1 ** 36 ** D36
+  PC  , // PC 0 ** 37 ** D37
+  PD  , // PD 7 ** 38 ** D38
+  PG  , // PG 2 ** 39 ** D39
+  PG  , // PG 1 ** 40 ** D40
+  PG  , // PG 0 ** 41 ** D41
+  PL  , // PL 7 ** 42 ** D42
+  PL  , // PL 6 ** 43 ** D43
+  PL  , // PL 5 ** 44 ** D44
+  PL  , // PL 4 ** 45 ** D45
+  PL  , // PL 3 ** 46 ** D46
+  PL  , // PL 2 ** 47 ** D47
+  PL  , // PL 1 ** 48 ** D48
+  PL  , // PL 0 ** 49 ** D49
+  PB  , // PB 3 ** 50 ** SPI_MISO
+  PB  , // PB 2 ** 51 ** SPI_MOSI
+  PB  , // PB 1 ** 52 ** SPI_SCK
+  PB  , // PB 0 ** 53 ** SPI_SS
+  PF  , // PF 0 ** 54 ** A0
+  PF  , // PF 1 ** 55 ** A1
+  PF  , // PF 2 ** 56 ** A2
+  PF  , // PF 3 ** 57 ** A3
+  PF  , // PF 4 ** 58 ** A4
+  PF  , // PF 5 ** 59 ** A5
+  PF  , // PF 6 ** 60 ** A6
+  PF  , // PF 7 ** 61 ** A7
+  PK  , // PK 0 ** 62 ** A8
+  PK  , // PK 1 ** 63 ** A9
+  PK  , // PK 2 ** 64 ** A10
+  PK  , // PK 3 ** 65 ** A11
+  PK  , // PK 4 ** 66 ** A12
+  PK  , // PK 5 ** 67 ** A13
+  PK  , // PK 6 ** 68 ** A14
+  PK  , // PK 7 ** 69 ** A15
+  PG  , // PG 4 ** 70 ** D70
+  PG  , // PG 3 ** 71 ** D71
+  PJ  , // PJ 2 ** 72 ** D72
+  PJ  , // PJ 3 ** 73 ** D73
+  PJ  , // PJ 7 ** 74 ** D74
+  PJ  , // PJ 4 ** 75 ** D75
+  PJ  , // PJ 5 ** 76 ** D76
+  PJ  , // PJ 6 ** 77 ** D77
+  PE  , // PE 2 ** 78 ** D78
+  PE  , // PE 6 ** 79 ** D79
+  PE  , // PE 7 ** 80 ** D80
+  PD  , // PD 4 ** 81 ** D81
+  PD  , // PD 5 ** 82 ** D82
+  PD  , // PD 6 ** 83 ** D83
+  PH  , // PH 2 ** 84 ** D84
+  PH  , // PH 7 ** 85 ** D85
 };
 
 const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
-	// PIN IN PORT
-	// -------------------------------------------
-	_BV( 0 )	, // PE 0 ** 0 ** USART0_RX
-	_BV( 1 )	, // PE 1 ** 1 ** USART0_TX
-	_BV( 4 )	, // PE 4 ** 2 ** PWM2
-	_BV( 5 )	, // PE 5 ** 3 ** PWM3
-	_BV( 5 )	, // PG 5 ** 4 ** PWM4
-	_BV( 3 )	, // PE 3 ** 5 ** PWM5
-	_BV( 3 )	, // PH 3 ** 6 ** PWM6
-	_BV( 4 )	, // PH 4 ** 7 ** PWM7
-	_BV( 5 )	, // PH 5 ** 8 ** PWM8
-	_BV( 6 )	, // PH 6 ** 9 ** PWM9
-	_BV( 4 )	, // PB 4 ** 10 ** PWM10
-	_BV( 5 )	, // PB 5 ** 11 ** PWM11
-	_BV( 6 )	, // PB 6 ** 12 ** PWM12
-	_BV( 7 )	, // PB 7 ** 13 ** PWM13
-	_BV( 1 )	, // PJ 1 ** 14 ** USART3_TX
-	_BV( 0 )	, // PJ 0 ** 15 ** USART3_RX
-	_BV( 1 )	, // PH 1 ** 16 ** USART2_TX
-	_BV( 0 )	, // PH 0 ** 17 ** USART2_RX
-	_BV( 3 )	, // PD 3 ** 18 ** USART1_TX
-	_BV( 2 )	, // PD 2 ** 19 ** USART1_RX
-	_BV( 1 )	, // PD 1 ** 20 ** I2C_SDA
-	_BV( 0 )	, // PD 0 ** 21 ** I2C_SCL
-	_BV( 0 )	, // PA 0 ** 22 ** D22
-	_BV( 1 )	, // PA 1 ** 23 ** D23
-	_BV( 2 )	, // PA 2 ** 24 ** D24
-	_BV( 3 )	, // PA 3 ** 25 ** D25
-	_BV( 4 )	, // PA 4 ** 26 ** D26
-	_BV( 5 )	, // PA 5 ** 27 ** D27
-	_BV( 6 )	, // PA 6 ** 28 ** D28
-	_BV( 7 )	, // PA 7 ** 29 ** D29
-	_BV( 7 )	, // PC 7 ** 30 ** D30
-	_BV( 6 )	, // PC 6 ** 31 ** D31
-	_BV( 5 )	, // PC 5 ** 32 ** D32
-	_BV( 4 )	, // PC 4 ** 33 ** D33
-	_BV( 3 )	, // PC 3 ** 34 ** D34
-	_BV( 2 )	, // PC 2 ** 35 ** D35
-	_BV( 1 )	, // PC 1 ** 36 ** D36
-	_BV( 0 )	, // PC 0 ** 37 ** D37
-	_BV( 7 )	, // PD 7 ** 38 ** D38
-	_BV( 2 )	, // PG 2 ** 39 ** D39
-	_BV( 1 )	, // PG 1 ** 40 ** D40
-	_BV( 0 )	, // PG 0 ** 41 ** D41
-	_BV( 7 )	, // PL 7 ** 42 ** D42
-	_BV( 6 )	, // PL 6 ** 43 ** D43
-	_BV( 5 )	, // PL 5 ** 44 ** D44
-	_BV( 4 )	, // PL 4 ** 45 ** D45
-	_BV( 3 )	, // PL 3 ** 46 ** D46
-	_BV( 2 )	, // PL 2 ** 47 ** D47
-	_BV( 1 )	, // PL 1 ** 48 ** D48
-	_BV( 0 )	, // PL 0 ** 49 ** D49
-	_BV( 3 )	, // PB 3 ** 50 ** SPI_MISO
-	_BV( 2 )	, // PB 2 ** 51 ** SPI_MOSI
-	_BV( 1 )	, // PB 1 ** 52 ** SPI_SCK
-	_BV( 0 )	, // PB 0 ** 53 ** SPI_SS
-	_BV( 0 )	, // PF 0 ** 54 ** A0
-	_BV( 1 )	, // PF 1 ** 55 ** A1
-	_BV( 2 )	, // PF 2 ** 56 ** A2
-	_BV( 3 )	, // PF 3 ** 57 ** A3
-	_BV( 4 )	, // PF 4 ** 58 ** A4
-	_BV( 5 )	, // PF 5 ** 59 ** A5
-	_BV( 6 )	, // PF 6 ** 60 ** A6
-	_BV( 7 )	, // PF 7 ** 61 ** A7
-	_BV( 0 )	, // PK 0 ** 62 ** A8
-	_BV( 1 )	, // PK 1 ** 63 ** A9
-	_BV( 2 )	, // PK 2 ** 64 ** A10
-	_BV( 3 )	, // PK 3 ** 65 ** A11
-	_BV( 4 )	, // PK 4 ** 66 ** A12
-	_BV( 5 )	, // PK 5 ** 67 ** A13
-	_BV( 6 )	, // PK 6 ** 68 ** A14
-	_BV( 7 )	, // PK 7 ** 69 ** A15
-	_BV( 4 )	, // PG 4 ** 70 ** D70
-	_BV( 3 )	, // PG 3 ** 71 ** D71
-	_BV( 2 )	, // PJ 2 ** 72 ** D72
-	_BV( 3 )	, // PJ 3 ** 73 ** D73
-	_BV( 7 )	, // PJ 7 ** 74 ** D74
-	_BV( 4 )	, // PJ 4 ** 75 ** D75
-	_BV( 5 )	, // PJ 5 ** 76 ** D76
-	_BV( 6 )	, // PJ 6 ** 77 ** D77
-	_BV( 2 )	, // PE 2 ** 78 ** D78
-	_BV( 6 )	, // PE 6 ** 79 ** D79
-	_BV( 7 )	, // PE 7 ** 80 ** D80
-	_BV( 4 )	, // PD 4 ** 81 ** D81
-	_BV( 5 ) 	, // PD 5 ** 82 ** D82
-	_BV( 6 ) 	, // PD 6 ** 83 ** D83
-	_BV( 2 ) 	, // PH 2 ** 84 ** D84
-	_BV( 7 ) 	, // PH 7 ** 85 ** D85
+  // PIN IN PORT
+  // -------------------------------------------
+  _BV( 0 )  , // PE 0 ** 0 ** USART0_RX
+  _BV( 1 )  , // PE 1 ** 1 ** USART0_TX
+  _BV( 4 )  , // PE 4 ** 2 ** PWM2
+  _BV( 5 )  , // PE 5 ** 3 ** PWM3
+  _BV( 5 )  , // PG 5 ** 4 ** PWM4
+  _BV( 3 )  , // PE 3 ** 5 ** PWM5
+  _BV( 3 )  , // PH 3 ** 6 ** PWM6
+  _BV( 4 )  , // PH 4 ** 7 ** PWM7
+  _BV( 5 )  , // PH 5 ** 8 ** PWM8
+  _BV( 6 )  , // PH 6 ** 9 ** PWM9
+  _BV( 4 )  , // PB 4 ** 10 ** PWM10
+  _BV( 5 )  , // PB 5 ** 11 ** PWM11
+  _BV( 6 )  , // PB 6 ** 12 ** PWM12
+  _BV( 7 )  , // PB 7 ** 13 ** PWM13
+  _BV( 1 )  , // PJ 1 ** 14 ** USART3_TX
+  _BV( 0 )  , // PJ 0 ** 15 ** USART3_RX
+  _BV( 1 )  , // PH 1 ** 16 ** USART2_TX
+  _BV( 0 )  , // PH 0 ** 17 ** USART2_RX
+  _BV( 3 )  , // PD 3 ** 18 ** USART1_TX
+  _BV( 2 )  , // PD 2 ** 19 ** USART1_RX
+  _BV( 1 )  , // PD 1 ** 20 ** I2C_SDA
+  _BV( 0 )  , // PD 0 ** 21 ** I2C_SCL
+  _BV( 0 )  , // PA 0 ** 22 ** D22
+  _BV( 1 )  , // PA 1 ** 23 ** D23
+  _BV( 2 )  , // PA 2 ** 24 ** D24
+  _BV( 3 )  , // PA 3 ** 25 ** D25
+  _BV( 4 )  , // PA 4 ** 26 ** D26
+  _BV( 5 )  , // PA 5 ** 27 ** D27
+  _BV( 6 )  , // PA 6 ** 28 ** D28
+  _BV( 7 )  , // PA 7 ** 29 ** D29
+  _BV( 7 )  , // PC 7 ** 30 ** D30
+  _BV( 6 )  , // PC 6 ** 31 ** D31
+  _BV( 5 )  , // PC 5 ** 32 ** D32
+  _BV( 4 )  , // PC 4 ** 33 ** D33
+  _BV( 3 )  , // PC 3 ** 34 ** D34
+  _BV( 2 )  , // PC 2 ** 35 ** D35
+  _BV( 1 )  , // PC 1 ** 36 ** D36
+  _BV( 0 )  , // PC 0 ** 37 ** D37
+  _BV( 7 )  , // PD 7 ** 38 ** D38
+  _BV( 2 )  , // PG 2 ** 39 ** D39
+  _BV( 1 )  , // PG 1 ** 40 ** D40
+  _BV( 0 )  , // PG 0 ** 41 ** D41
+  _BV( 7 )  , // PL 7 ** 42 ** D42
+  _BV( 6 )  , // PL 6 ** 43 ** D43
+  _BV( 5 )  , // PL 5 ** 44 ** D44
+  _BV( 4 )  , // PL 4 ** 45 ** D45
+  _BV( 3 )  , // PL 3 ** 46 ** D46
+  _BV( 2 )  , // PL 2 ** 47 ** D47
+  _BV( 1 )  , // PL 1 ** 48 ** D48
+  _BV( 0 )  , // PL 0 ** 49 ** D49
+  _BV( 3 )  , // PB 3 ** 50 ** SPI_MISO
+  _BV( 2 )  , // PB 2 ** 51 ** SPI_MOSI
+  _BV( 1 )  , // PB 1 ** 52 ** SPI_SCK
+  _BV( 0 )  , // PB 0 ** 53 ** SPI_SS
+  _BV( 0 )  , // PF 0 ** 54 ** A0
+  _BV( 1 )  , // PF 1 ** 55 ** A1
+  _BV( 2 )  , // PF 2 ** 56 ** A2
+  _BV( 3 )  , // PF 3 ** 57 ** A3
+  _BV( 4 )  , // PF 4 ** 58 ** A4
+  _BV( 5 )  , // PF 5 ** 59 ** A5
+  _BV( 6 )  , // PF 6 ** 60 ** A6
+  _BV( 7 )  , // PF 7 ** 61 ** A7
+  _BV( 0 )  , // PK 0 ** 62 ** A8
+  _BV( 1 )  , // PK 1 ** 63 ** A9
+  _BV( 2 )  , // PK 2 ** 64 ** A10
+  _BV( 3 )  , // PK 3 ** 65 ** A11
+  _BV( 4 )  , // PK 4 ** 66 ** A12
+  _BV( 5 )  , // PK 5 ** 67 ** A13
+  _BV( 6 )  , // PK 6 ** 68 ** A14
+  _BV( 7 )  , // PK 7 ** 69 ** A15
+  _BV( 4 )  , // PG 4 ** 70 ** D70
+  _BV( 3 )  , // PG 3 ** 71 ** D71
+  _BV( 2 )  , // PJ 2 ** 72 ** D72
+  _BV( 3 )  , // PJ 3 ** 73 ** D73
+  _BV( 7 )  , // PJ 7 ** 74 ** D74
+  _BV( 4 )  , // PJ 4 ** 75 ** D75
+  _BV( 5 )  , // PJ 5 ** 76 ** D76
+  _BV( 6 )  , // PJ 6 ** 77 ** D77
+  _BV( 2 )  , // PE 2 ** 78 ** D78
+  _BV( 6 )  , // PE 6 ** 79 ** D79
+  _BV( 7 )  , // PE 7 ** 80 ** D80
+  _BV( 4 )  , // PD 4 ** 81 ** D81
+  _BV( 5 )  , // PD 5 ** 82 ** D82
+  _BV( 6 )  , // PD 6 ** 83 ** D83
+  _BV( 2 )  , // PH 2 ** 84 ** D84
+  _BV( 7 )  , // PH 7 ** 85 ** D85
 };
 
 const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
-	// TIMERS
-	// -------------------------------------------
-	NOT_ON_TIMER	, // PE 0 ** 0 ** USART0_RX
-	NOT_ON_TIMER	, // PE 1 ** 1 ** USART0_TX
-	TIMER3B	, // PE 4 ** 2 ** PWM2
-	TIMER3C	, // PE 5 ** 3 ** PWM3
-	TIMER0B	, // PG 5 ** 4 ** PWM4
-	TIMER3A	, // PE 3 ** 5 ** PWM5
-	TIMER4A	, // PH 3 ** 6 ** PWM6
-	TIMER4B	, // PH 4 ** 7 ** PWM7
-	TIMER4C	, // PH 5 ** 8 ** PWM8
-	TIMER2B	, // PH 6 ** 9 ** PWM9
-	TIMER2A	, // PB 4 ** 10 ** PWM10
-	TIMER1A	, // PB 5 ** 11 ** PWM11
-	TIMER1B	, // PB 6 ** 12 ** PWM12
-	TIMER0A	, // PB 7 ** 13 ** PWM13
-	NOT_ON_TIMER	, // PJ 1 ** 14 ** USART3_TX
-	NOT_ON_TIMER	, // PJ 0 ** 15 ** USART3_RX
-	NOT_ON_TIMER	, // PH 1 ** 16 ** USART2_TX
-	NOT_ON_TIMER	, // PH 0 ** 17 ** USART2_RX
-	NOT_ON_TIMER	, // PD 3 ** 18 ** USART1_TX
-	NOT_ON_TIMER	, // PD 2 ** 19 ** USART1_RX
-	NOT_ON_TIMER	, // PD 1 ** 20 ** I2C_SDA
-	NOT_ON_TIMER	, // PD 0 ** 21 ** I2C_SCL
-	NOT_ON_TIMER	, // PA 0 ** 22 ** D22
-	NOT_ON_TIMER	, // PA 1 ** 23 ** D23
-	NOT_ON_TIMER	, // PA 2 ** 24 ** D24
-	NOT_ON_TIMER	, // PA 3 ** 25 ** D25
-	NOT_ON_TIMER	, // PA 4 ** 26 ** D26
-	NOT_ON_TIMER	, // PA 5 ** 27 ** D27
-	NOT_ON_TIMER	, // PA 6 ** 28 ** D28
-	NOT_ON_TIMER	, // PA 7 ** 29 ** D29
-	NOT_ON_TIMER	, // PC 7 ** 30 ** D30
-	NOT_ON_TIMER	, // PC 6 ** 31 ** D31
-	NOT_ON_TIMER	, // PC 5 ** 32 ** D32
-	NOT_ON_TIMER	, // PC 4 ** 33 ** D33
-	NOT_ON_TIMER	, // PC 3 ** 34 ** D34
-	NOT_ON_TIMER	, // PC 2 ** 35 ** D35
-	NOT_ON_TIMER	, // PC 1 ** 36 ** D36
-	NOT_ON_TIMER	, // PC 0 ** 37 ** D37
-	NOT_ON_TIMER	, // PD 7 ** 38 ** D38
-	NOT_ON_TIMER	, // PG 2 ** 39 ** D39
-	NOT_ON_TIMER	, // PG 1 ** 40 ** D40
-	NOT_ON_TIMER	, // PG 0 ** 41 ** D41
-	NOT_ON_TIMER	, // PL 7 ** 42 ** D42
-	NOT_ON_TIMER	, // PL 6 ** 43 ** D43
-	TIMER5C	, // PL 5 ** 44 ** D44
-	TIMER5B	, // PL 4 ** 45 ** D45
-	TIMER5A	, // PL 3 ** 46 ** D46
-	NOT_ON_TIMER	, // PL 2 ** 47 ** D47
-	NOT_ON_TIMER	, // PL 1 ** 48 ** D48
-	NOT_ON_TIMER	, // PL 0 ** 49 ** D49
-	NOT_ON_TIMER	, // PB 3 ** 50 ** SPI_MISO
-	NOT_ON_TIMER	, // PB 2 ** 51 ** SPI_MOSI
-	NOT_ON_TIMER	, // PB 1 ** 52 ** SPI_SCK
-	NOT_ON_TIMER	, // PB 0 ** 53 ** SPI_SS
-	NOT_ON_TIMER	, // PF 0 ** 54 ** A0
-	NOT_ON_TIMER	, // PF 1 ** 55 ** A1
-	NOT_ON_TIMER	, // PF 2 ** 56 ** A2
-	NOT_ON_TIMER	, // PF 3 ** 57 ** A3
-	NOT_ON_TIMER	, // PF 4 ** 58 ** A4
-	NOT_ON_TIMER	, // PF 5 ** 59 ** A5
-	NOT_ON_TIMER	, // PF 6 ** 60 ** A6
-	NOT_ON_TIMER	, // PF 7 ** 61 ** A7
-	NOT_ON_TIMER	, // PK 0 ** 62 ** A8
-	NOT_ON_TIMER	, // PK 1 ** 63 ** A9
-	NOT_ON_TIMER	, // PK 2 ** 64 ** A10
-	NOT_ON_TIMER	, // PK 3 ** 65 ** A11
-	NOT_ON_TIMER	, // PK 4 ** 66 ** A12
-	NOT_ON_TIMER	, // PK 5 ** 67 ** A13
-	NOT_ON_TIMER	, // PK 6 ** 68 ** A14
-	NOT_ON_TIMER	, // PK 7 ** 69 ** A15
-	NOT_ON_TIMER	, // PG 4 ** 70 ** D70
-	NOT_ON_TIMER	, // PG 3 ** 71 ** D71
-	NOT_ON_TIMER	, // PJ 2 ** 72 ** D72
-	NOT_ON_TIMER	, // PJ 3 ** 73 ** D73
-	NOT_ON_TIMER	, // PJ 7 ** 74 ** D74
-	NOT_ON_TIMER	, // PJ 4 ** 75 ** D75
-	NOT_ON_TIMER	, // PJ 5 ** 76 ** D76
-	NOT_ON_TIMER	, // PJ 6 ** 77 ** D77
-	NOT_ON_TIMER	, // PE 2 ** 78 ** D78
-	NOT_ON_TIMER	, // PE 6 ** 79 ** D79
-	NOT_ON_TIMER	, // PE 7 ** 80 ** D80
-	NOT_ON_TIMER	, // PD 4 ** 81 ** D81
-	NOT_ON_TIMER 	, // PD 5 ** 82 ** D82
-	NOT_ON_TIMER 	, // PD 6 ** 83 ** D83
-	NOT_ON_TIMER 	, // PH 2 ** 84 ** D84
-	NOT_ON_TIMER 	, // PH 7 ** 85 ** D85
+  // TIMERS
+  // -------------------------------------------
+  NOT_ON_TIMER  , // PE 0 ** 0 ** USART0_RX
+  NOT_ON_TIMER  , // PE 1 ** 1 ** USART0_TX
+  TIMER3B , // PE 4 ** 2 ** PWM2
+  TIMER3C , // PE 5 ** 3 ** PWM3
+  TIMER0B , // PG 5 ** 4 ** PWM4
+  TIMER3A , // PE 3 ** 5 ** PWM5
+  TIMER4A , // PH 3 ** 6 ** PWM6
+  TIMER4B , // PH 4 ** 7 ** PWM7
+  TIMER4C , // PH 5 ** 8 ** PWM8
+  TIMER2B , // PH 6 ** 9 ** PWM9
+  TIMER2A , // PB 4 ** 10 ** PWM10
+  TIMER1A , // PB 5 ** 11 ** PWM11
+  TIMER1B , // PB 6 ** 12 ** PWM12
+  TIMER0A , // PB 7 ** 13 ** PWM13
+  NOT_ON_TIMER  , // PJ 1 ** 14 ** USART3_TX
+  NOT_ON_TIMER  , // PJ 0 ** 15 ** USART3_RX
+  NOT_ON_TIMER  , // PH 1 ** 16 ** USART2_TX
+  NOT_ON_TIMER  , // PH 0 ** 17 ** USART2_RX
+  NOT_ON_TIMER  , // PD 3 ** 18 ** USART1_TX
+  NOT_ON_TIMER  , // PD 2 ** 19 ** USART1_RX
+  NOT_ON_TIMER  , // PD 1 ** 20 ** I2C_SDA
+  NOT_ON_TIMER  , // PD 0 ** 21 ** I2C_SCL
+  NOT_ON_TIMER  , // PA 0 ** 22 ** D22
+  NOT_ON_TIMER  , // PA 1 ** 23 ** D23
+  NOT_ON_TIMER  , // PA 2 ** 24 ** D24
+  NOT_ON_TIMER  , // PA 3 ** 25 ** D25
+  NOT_ON_TIMER  , // PA 4 ** 26 ** D26
+  NOT_ON_TIMER  , // PA 5 ** 27 ** D27
+  NOT_ON_TIMER  , // PA 6 ** 28 ** D28
+  NOT_ON_TIMER  , // PA 7 ** 29 ** D29
+  NOT_ON_TIMER  , // PC 7 ** 30 ** D30
+  NOT_ON_TIMER  , // PC 6 ** 31 ** D31
+  NOT_ON_TIMER  , // PC 5 ** 32 ** D32
+  NOT_ON_TIMER  , // PC 4 ** 33 ** D33
+  NOT_ON_TIMER  , // PC 3 ** 34 ** D34
+  NOT_ON_TIMER  , // PC 2 ** 35 ** D35
+  NOT_ON_TIMER  , // PC 1 ** 36 ** D36
+  NOT_ON_TIMER  , // PC 0 ** 37 ** D37
+  NOT_ON_TIMER  , // PD 7 ** 38 ** D38
+  NOT_ON_TIMER  , // PG 2 ** 39 ** D39
+  NOT_ON_TIMER  , // PG 1 ** 40 ** D40
+  NOT_ON_TIMER  , // PG 0 ** 41 ** D41
+  NOT_ON_TIMER  , // PL 7 ** 42 ** D42
+  NOT_ON_TIMER  , // PL 6 ** 43 ** D43
+  TIMER5C , // PL 5 ** 44 ** D44
+  TIMER5B , // PL 4 ** 45 ** D45
+  TIMER5A , // PL 3 ** 46 ** D46
+  NOT_ON_TIMER  , // PL 2 ** 47 ** D47
+  NOT_ON_TIMER  , // PL 1 ** 48 ** D48
+  NOT_ON_TIMER  , // PL 0 ** 49 ** D49
+  NOT_ON_TIMER  , // PB 3 ** 50 ** SPI_MISO
+  NOT_ON_TIMER  , // PB 2 ** 51 ** SPI_MOSI
+  NOT_ON_TIMER  , // PB 1 ** 52 ** SPI_SCK
+  NOT_ON_TIMER  , // PB 0 ** 53 ** SPI_SS
+  NOT_ON_TIMER  , // PF 0 ** 54 ** A0
+  NOT_ON_TIMER  , // PF 1 ** 55 ** A1
+  NOT_ON_TIMER  , // PF 2 ** 56 ** A2
+  NOT_ON_TIMER  , // PF 3 ** 57 ** A3
+  NOT_ON_TIMER  , // PF 4 ** 58 ** A4
+  NOT_ON_TIMER  , // PF 5 ** 59 ** A5
+  NOT_ON_TIMER  , // PF 6 ** 60 ** A6
+  NOT_ON_TIMER  , // PF 7 ** 61 ** A7
+  NOT_ON_TIMER  , // PK 0 ** 62 ** A8
+  NOT_ON_TIMER  , // PK 1 ** 63 ** A9
+  NOT_ON_TIMER  , // PK 2 ** 64 ** A10
+  NOT_ON_TIMER  , // PK 3 ** 65 ** A11
+  NOT_ON_TIMER  , // PK 4 ** 66 ** A12
+  NOT_ON_TIMER  , // PK 5 ** 67 ** A13
+  NOT_ON_TIMER  , // PK 6 ** 68 ** A14
+  NOT_ON_TIMER  , // PK 7 ** 69 ** A15
+  NOT_ON_TIMER  , // PG 4 ** 70 ** D70
+  NOT_ON_TIMER  , // PG 3 ** 71 ** D71
+  NOT_ON_TIMER  , // PJ 2 ** 72 ** D72
+  NOT_ON_TIMER  , // PJ 3 ** 73 ** D73
+  NOT_ON_TIMER  , // PJ 7 ** 74 ** D74
+  NOT_ON_TIMER  , // PJ 4 ** 75 ** D75
+  NOT_ON_TIMER  , // PJ 5 ** 76 ** D76
+  NOT_ON_TIMER  , // PJ 6 ** 77 ** D77
+  NOT_ON_TIMER  , // PE 2 ** 78 ** D78
+  NOT_ON_TIMER  , // PE 6 ** 79 ** D79
+  NOT_ON_TIMER  , // PE 7 ** 80 ** D80
+  NOT_ON_TIMER  , // PD 4 ** 81 ** D81
+  NOT_ON_TIMER  , // PD 5 ** 82 ** D82
+  NOT_ON_TIMER  , // PD 6 ** 83 ** D83
+  NOT_ON_TIMER  , // PH 2 ** 84 ** D84
+  NOT_ON_TIMER  , // PH 7 ** 85 ** D85
 };
 
 #endif
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_MKS_SKIPR_V1/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_MKS_SKIPR_V1/variant.h
index 51a9e92286bf..0b6e6142bae9 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_MKS_SKIPR_V1/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_MKS_SKIPR_V1/variant.h
@@ -167,6 +167,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_TH3D_EZBOARD_V2/PeripheralPins.c b/buildroot/share/PlatformIO/variants/MARLIN_TH3D_EZBOARD_V2/PeripheralPins.c
index 03d75bbfa823..edefd00f7ab0 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_TH3D_EZBOARD_V2/PeripheralPins.c
+++ b/buildroot/share/PlatformIO/variants/MARLIN_TH3D_EZBOARD_V2/PeripheralPins.c
@@ -161,7 +161,7 @@ WEAK const PinMap PinMap_PWM[] = {
   //{PB_14, TIM8,   STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)},  // TIM8_CH2N
   //{PB_14, TIM12,  STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1
 
-  //{PB_15, TIM1,   STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)},  // TIM1_CH3N  LCD_PINS_ENABLE
+  //{PB_15, TIM1,   STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)},  // TIM1_CH3N  LCD_PINS_EN
   //{PB_15, TIM8,   STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)},  // TIM8_CH3N
   //{PB_15, TIM12,  STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2
 
@@ -292,7 +292,7 @@ WEAK const PinMap PinMap_USB_OTG_HS[] = {
   //{PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID   CS (LCD)
   //{PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_OTG_HS_VBUS        LCD_PINS_D4
   //{PB_14, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DM   MISO (LCD)
-  //{PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP   LCD_PINS_ENABLE
+  //{PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP   LCD_PINS_EN
 #else
   //{PA_3,  USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0  Z_STEP
   //{PA_5,  USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK  SPI-SCK
diff --git a/buildroot/share/PlatformIO/variants/MARLIN_TH3D_EZBOARD_V2/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_TH3D_EZBOARD_V2/variant.h
index 30c3d953494f..5232a1eaf2e4 100644
--- a/buildroot/share/PlatformIO/variants/MARLIN_TH3D_EZBOARD_V2/variant.h
+++ b/buildroot/share/PlatformIO/variants/MARLIN_TH3D_EZBOARD_V2/variant.h
@@ -121,6 +121,7 @@ extern "C" {
 #ifdef __cplusplus
 } // extern "C"
 #endif
+
 /*----------------------------------------------------------------------------
  *        Arduino objects - C++ only
  *----------------------------------------------------------------------------*/
diff --git a/buildroot/share/cmake/CMakeLists.txt b/buildroot/share/cmake/CMakeLists.txt
index 9d3f24f990aa..1ed9091e01d6 100644
--- a/buildroot/share/cmake/CMakeLists.txt
+++ b/buildroot/share/cmake/CMakeLists.txt
@@ -25,7 +25,7 @@ set(SCRIPT_BRANCH 1.0.2) #Set to wanted marlin-cmake release tag or branch
 if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/marlin-cmake)
 
 	file(DOWNLOAD https://github.com/tohara/marlin-cmake/archive/${SCRIPT_BRANCH}.tar.gz
-				  ${CMAKE_CURRENT_LIST_DIR}/marlin-cmake-src.tar.gz SHOW_PROGRESS)
+	${CMAKE_CURRENT_LIST_DIR}/marlin-cmake-src.tar.gz SHOW_PROGRESS)
 
 	execute_process(COMMAND ${CMAKE_COMMAND} -E tar -xvf ${CMAKE_CURRENT_LIST_DIR}/marlin-cmake-src.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
 
@@ -36,7 +36,7 @@ if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/marlin-cmake)
 endif()
 
 if(WIN32 AND NOT EXISTS ${CMAKE_BINARY_DIR}/make.exe)
-    file(COPY ${CMAKE_CURRENT_LIST_DIR}/marlin-cmake/resources/make.exe DESTINATION ${CMAKE_BINARY_DIR}/)
+	file(COPY ${CMAKE_CURRENT_LIST_DIR}/marlin-cmake/resources/make.exe DESTINATION ${CMAKE_BINARY_DIR}/)
 endif()
 
 set(CMAKE_MODULE_PATH  ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/marlin-cmake/modules)
@@ -105,9 +105,9 @@ set(${PROJECT_NAME}_SRCS "${SOURCES};../../../Marlin/Marlin.ino")
 #    cmake .. -DUPLOAD_PORT=/dev/ttyACM0                             #
 #====================================================================#
 if(UPLOAD_PORT)
-    set(${PROJECT_NAME}_PORT ${UPLOAD_PORT})
+	set(${PROJECT_NAME}_PORT ${UPLOAD_PORT})
 else()
-    set(${PROJECT_NAME}_PORT /dev/ttyACM0)
+	set(${PROJECT_NAME}_PORT /dev/ttyACM0)
 endif()
 
 #====================================================================#
diff --git a/buildroot/share/dwin/bin/README.md b/buildroot/share/dwin/bin/README.md
index 9d513bc0c8f5..a00d679bf8e1 100644
--- a/buildroot/share/dwin/bin/README.md
+++ b/buildroot/share/dwin/bin/README.md
@@ -4,7 +4,7 @@ Tools for processing `.ICO` files used by DWIN displays.
 
 ## Introduction
 
-The DWIN LCDs that come with the Creality Ender 3 v2 and other 3D printers contain image and container files stored on them which are used to draw various the UI elements.
+The DWIN LCDs that come with the Creality Ender-3 v2 and other 3D printers contain image and container files stored on them which are used to draw various the UI elements.
 
 Standard `.JPG` files can be installed for things like the boot screen, and `.ICO` files can contain several images within a structured file format.
 
@@ -42,15 +42,15 @@ These tools must be run from a terminal with access to an installed Python 3 and
 
 Pillow is most easily installed with pip:
 
-    python3 -m pip install pillow
+  python3 -m pip install pillow
 
 ## Examples
 
 These tools process an `.ICO` file that you specify. The safest method is to create a folder and copy your `.ICO` file there. For example:
 
-	$ mkdir hackicons
-	$ cp 9.ICO hackicons
-	$ cd hackicons
+  $ mkdir hackicons
+  $ cp 9.ICO hackicons
+  $ cd hackicons
 
 The following explanations will refer back to this layout.
 
@@ -64,19 +64,19 @@ If you want to edit the individual icons stored in an ICO file (or add more imag
 
 In this example we're extracting the constituent JPEG files from `9.ICO` and storing them in a folder named `icons`. As each file is extracted the script reports its index number, byte offset, size, dimensions, and filename:
 
-    $ cd buildroot/share/dwin
-    $ ./bin/splitIco.py 9.ICO icons-9
-      Splitting 9.ICO into dir icons
-      Splitting Entry Data...
-      00: offset: 0x001000 len: 0x10a2 width: 130 height: 17
-       Wrote 4258 bytes to icons/000-ICON_LOGO.jpg
-      01: offset: 0x0020a2 len: 0x0eac width: 110 height: 100
-      Wrote 3756 bytes to icons/001-ICON_Print_0.jpg
-      02: offset: 0x002f4e len: 0x0eaa width: 110 height: 100
-      Wrote 3754 bytes to icons/002-ICON_Print_1.jpg
-      ...
-      91: offset: 0x0345fc len: 0x0d89 width: 110 height: 100
-      Wrote 3465 bytes to icons/091-ICON_Info_1.jpg
+  $ cd buildroot/share/dwin
+  $ ./bin/splitIco.py 9.ICO icons-9
+    Splitting 9.ICO into dir icons
+    Splitting Entry Data...
+    00: offset: 0x001000 len: 0x10a2 width: 130 height: 17
+     Wrote 4258 bytes to icons/000-ICON_LOGO.jpg
+    01: offset: 0x0020a2 len: 0x0eac width: 110 height: 100
+    Wrote 3756 bytes to icons/001-ICON_Print_0.jpg
+    02: offset: 0x002f4e len: 0x0eaa width: 110 height: 100
+    Wrote 3754 bytes to icons/002-ICON_Print_1.jpg
+    ...
+    91: offset: 0x0345fc len: 0x0d89 width: 110 height: 100
+    Wrote 3465 bytes to icons/091-ICON_Info_1.jpg
 
 Once the individual JPEG files have been saved they can be edited using common graphics applications like Photoshop. JPEG files are inherently lossy and will usually contain ugly artifacts, so cleanup may be needed before they are re-exported. Keep the limits of bank size in mind when exporting images and try to find the best balance between compressed size and image quality.
 
@@ -84,9 +84,9 @@ Once the individual JPEG files have been saved they can be edited using common g
 
 After editing images you'll create a new `9.ICO` archive with `makeIco.py` like so:
 
-    $ cd buildroot/share/dwin
-    $ ./bin/makeIco.py icons-3 3.ICO
-      Making .ico file '3.ICO' from contents of 'icons-3'
-      Scanning icon directory icons-3
-      ...Scanned 16 icon files
-      Scanning done. 16 icons included.
+  $ cd buildroot/share/dwin
+  $ ./bin/makeIco.py icons-3 3.ICO
+    Making .ico file '3.ICO' from contents of 'icons-3'
+    Scanning icon directory icons-3
+    ...Scanned 16 icon files
+    Scanning done. 16 icons included.
diff --git a/buildroot/share/scripts/pinsformat.js b/buildroot/share/scripts/pinsformat.js
index a82c2f2659f0..1ce0d75d9a14 100755
--- a/buildroot/share/scripts/pinsformat.js
+++ b/buildroot/share/scripts/pinsformat.js
@@ -27,9 +27,9 @@ String.prototype.rpad = function(len, chr) {
   return s;
 };
 
-const mpatt = [ '-?\\d+', 'P[A-I]\\d+', 'P\\d_\\d+' ],
-      definePatt = new RegExp(`^\\s*(//)?#define\\s+[A-Z_][A-Z0-9_]+\\s+(${mpatt[0]}|${mpatt[1]}|${mpatt[2]})\\s*(//.*)?$`, 'gm'),
-      ppad = [ 3, 4, 5 ],
+const mpatt = [ '-?\\d{1,3}', 'P[A-I]\\d+', 'P\\d_\\d+', 'Pin[A-Z]\\d\\b' ],
+      definePatt = new RegExp(`^\\s*(//)?#define\\s+[A-Z_][A-Z0-9_]+\\s+(${mpatt[0]}|${mpatt[1]}|${mpatt[2]}|${mpatt[3]})\\s*(//.*)?$`, 'gm'),
+      ppad = [ 3, 4, 5, 5 ],
       col_comment = 50,
       col_value_rj = col_comment - 3;
 
@@ -55,7 +55,7 @@ else
 
 // Find the pin pattern so non-pin defines can be skipped
 function get_pin_pattern(txt) {
-  var r, m = 0, match_count = [ 0, 0, 0 ];
+  var r, m = 0, match_count = [ 0, 0, 0, 0 ];
   definePatt.lastIndex = 0;
   while ((r = definePatt.exec(txt)) !== null) {
     let ind = -1;
@@ -65,7 +65,7 @@ function get_pin_pattern(txt) {
       return r[2].match(p);
     }) ) {
       const m = ++match_count[ind];
-      if (m >= 10) {
+      if (m >= 5) {
         return { match: mpatt[ind], pad:ppad[ind] };
       }
     }
@@ -79,7 +79,8 @@ function process_text(txt) {
   if (!patt) return txt;
   const pindefPatt = new RegExp(`^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+(${patt.match})\\s*(//.*)?$`),
          noPinPatt = new RegExp(`^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+(-1)\\s*(//.*)?$`),
-          skipPatt = new RegExp('^(\\s*(//)?#define)\\s+(AT90USB|USBCON|BOARD_.+|.+_MACHINE_NAME|.+_SERIAL)\\s+(.+)\\s*(//.*)?$'),
+         skipPatt1 = new RegExp('^(\\s*(//)?#define)\\s+(AT90USB|USBCON|(BOARD|DAC|FLASH|HAS|IS|USE)_.+|.+_(ADDRESS|AVAILABLE|BAUDRATE|CLOCK|CONNECTION|DEFAULT|FREQ|ITEM|MODULE|NAME|ONLY|PERIOD|RANGE|RATE|SERIAL|SIZE|SPI|STATE|STEP|TIMER))\\s+(.+)\\s*(//.*)?$'),
+         skipPatt2 = new RegExp('^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+(0x[0-9A-Fa-f]+|\d+|.+[a-z].+)\\s*(//.*)?$'),
          aliasPatt = new RegExp('^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+([A-Z_][A-Z0-9_()]+)\\s*(//.*)?$'),
         switchPatt = new RegExp('^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s*(//.*)?$'),
          undefPatt = new RegExp('^(\\s*(//)?#undef)\\s+([A-Z_][A-Z0-9_]+)\\s*(//.*)?$'),
@@ -96,6 +97,12 @@ function process_text(txt) {
       // Comments in column 45
       line = ''.rpad(col_comment) + r[1];
 
+    else if (skipPatt1.exec(line) !== null) {
+      //
+      // #define SKIP_ME
+      //
+      if (do_log) console.log("skip:", line);
+    }
     else if ((r = pindefPatt.exec(line)) !== null) {
       //
       // #define MY_PIN [pin]
@@ -115,7 +122,7 @@ function process_text(txt) {
       line = line.rpad(col_value_lj) + '-1';
       if (r[5]) line = line.rpad(col_comment) + r[5];
     }
-    else if ((r = skipPatt.exec(line)) !== null) {
+    else if (skipPatt2.exec(line) !== null) {
       //
       // #define SKIP_ME
       //
diff --git a/buildroot/share/vscode/avrdude_linux.conf b/buildroot/share/vscode/avrdude_linux.conf
index ff429a028cca..f889e3e14260 100644
--- a/buildroot/share/vscode/avrdude_linux.conf
+++ b/buildroot/share/vscode/avrdude_linux.conf
@@ -240,8 +240,8 @@
 #define AT86RF401   0xD0
 
 #define AT89START   0xE0
-#define AT89S51	    0xE0
-#define AT89S52	    0xE1
+#define AT89S51     0xE0
+#define AT89S52     0xE1
 
 # The following table lists the devices in the original AVR910
 # appnote:
@@ -293,15 +293,15 @@
 # in the Internet.  These add the following codes (only devices that
 # actually exist are listed):
 
-# ATmega8515	0x3A
-# ATmega128	0x43
-# ATmega64	0x45
-# ATtiny26	0x5E
-# ATmega8535	0x69
-# ATmega32	0x72
-# ATmega16	0x74
-# ATmega8	0x76
-# ATmega169	0x78
+# ATmega8515    0x3A
+# ATmega128 0x43
+# ATmega64  0x45
+# ATtiny26  0x5E
+# ATmega8535    0x69
+# ATmega32  0x72
+# ATmega16  0x74
+# ATmega8   0x76
+# ATmega169 0x78
 
 #
 # Overall avrdude defaults
@@ -894,63 +894,63 @@ programmer
 # This is an HVSP-only device.
 
 part
-    id                  = "t11";
-    desc                = "ATtiny11";
-    stk500_devcode      = 0x11;
-    signature           = 0x1e 0x90 0x04;
-    chip_erase_delay    = 20000;
-
-    timeout		= 200;
-    hvsp_controlstack     =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
-        0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
-        0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 50;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-    memory "eeprom"
-        size            = 64;
-	blocksize	= 64;
-	readsize	= 256;
-	delay		= 5;
-    ;
-
-    memory "flash"
-        size            = 1024;
-	blocksize	= 128;
-	readsize	= 256;
-	delay		= 3;
-    ;
-
-    memory "signature"
-        size            = 3;
-    ;
-
-    memory "lock"
-        size            = 1;
-    ;
-
-    memory "calibration"
-        size            = 1;
-    ;
-
-    memory "fuse"
-        size            = 1;
-    ;
+	id                  = "t11";
+	desc                = "ATtiny11";
+	stk500_devcode      = 0x11;
+	signature           = 0x1e 0x90 0x04;
+	chip_erase_delay    = 20000;
+
+	timeout     = 200;
+	hvsp_controlstack     =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
+		0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
+		0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 50;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	memory "eeprom"
+		size            = 64;
+	blocksize   = 64;
+	readsize    = 256;
+	delay       = 5;
+	;
+
+	memory "flash"
+		size            = 1024;
+	blocksize   = 128;
+	readsize    = 256;
+	delay       = 3;
+	;
+
+	memory "signature"
+		size            = 3;
+	;
+
+	memory "lock"
+		size            = 1;
+	;
+
+	memory "calibration"
+		size            = 1;
+	;
+
+	memory "fuse"
+		size            = 1;
+	;
 ;
 
 #------------------------------------------------------------
@@ -958,132 +958,132 @@ part
 #------------------------------------------------------------
 
 part
-    id                  = "t12";
-    desc                = "ATtiny12";
-    stk500_devcode      = 0x12;
-    avr910_devcode      = 0x55;
-    signature           = 0x1e 0x90 0x05;
-    chip_erase_delay    = 20000;
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
-        0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
-        0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 50;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-    memory "eeprom"
-        size            = 64;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 8;
-	blocksize	= 64;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        size            = 1024;
-        min_write_delay = 4500;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0  0  1  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        read_hi         = "  0  0  1  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        write_lo        = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        write_hi        = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-	mode		= 0x04;
-	delay		= 5;
-	blocksize	= 128;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x o o x";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 i i 1",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-    ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0  0  0    o o o o  o o o o";
-    ;
-
-    memory "fuse"
-        size            = 1;
-        read            = "0  1  0  1   0  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    o o o o  o o o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 0 1 x  x x x x",
-                          "x  x  x  x   x  x  x  x    i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-    ;
+	id                  = "t12";
+	desc                = "ATtiny12";
+	stk500_devcode      = 0x12;
+	avr910_devcode      = 0x55;
+	signature           = 0x1e 0x90 0x05;
+	chip_erase_delay    = 20000;
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
+		0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
+		0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 50;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	memory "eeprom"
+		size            = 64;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 8;
+	blocksize   = 64;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		size            = 1024;
+		min_write_delay = 4500;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0  0  1  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		read_hi         = "  0  0  1  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		write_lo        = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		write_hi        = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+	mode        = 0x04;
+	delay       = 5;
+	blocksize   = 128;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x o o x";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 i i 1",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	;
+
+	memory "fuse"
+		size            = 1;
+		read            = "0  1  0  1   0  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    o o o o  o o o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 0 1 x  x x x x",
+						  "x  x  x  x   x  x  x  x    i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	;
 ;
 
 #------------------------------------------------------------
@@ -1091,170 +1091,170 @@ part
 #------------------------------------------------------------
 
 part
-    id                  = "t13";
-    desc                = "ATtiny13";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x0E, 0x1E;
-     eeprom_instr  = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
-    stk500_devcode      = 0x14;
-    signature           = 0x1e 0x90 0x07;
-    chip_erase_delay    = 4000;
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack     =
+	id                  = "t13";
+	desc                = "ATtiny13";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x0E, 0x1E;
+	 eeprom_instr  = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
+	stk500_devcode      = 0x14;
+	signature           = 0x1e 0x90 0x07;
+	chip_erase_delay    = 4000;
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack     =
 	0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 90;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-    memory "eeprom"
-        size            = 64;
-        page_size       = 4;
-        min_write_delay = 4000;
-        max_write_delay = 4000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 90;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	memory "eeprom"
+		size            = 64;
+		page_size       = 4;
+		min_write_delay = 4000;
+		max_write_delay = 4000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x   x  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 1024;
-        page_size       = 32;
-        num_pages       = 32;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0  0  1  0   0  0  0  0",
-                          "  0  0  0  0   0  0  0 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        read_hi         = "  0  0  1  0   1  0  0  0",
-                          "  0  0  0  0   0  0  0 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        loadpage_lo     = "  0  1  0  0   0  0  0  0",
-                          "  0  0  0  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        loadpage_hi     = "  0  1  0  0   1  0  0  0",
-                          "  0  0  0  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        writepage       = "  0  1  0  0   1  1  0  0",
-                          "  0  0  0  0   0  0  0 a8",
-                          " a7 a6 a5 a4   x  x  x  x",
-                          "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    0 0 0 x  x x x x",
-                          "x  x  x  x   x  x a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		paged           = yes;
+		size            = 1024;
+		page_size       = 32;
+		num_pages       = 32;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0  0  1  0   0  0  0  0",
+						  "  0  0  0  0   0  0  0 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		read_hi         = "  0  0  1  0   1  0  0  0",
+						  "  0  0  0  0   0  0  0 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		loadpage_lo     = "  0  1  0  0   0  0  0  0",
+						  "  0  0  0  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		loadpage_hi     = "  0  1  0  0   1  0  0  0",
+						  "  0  0  0  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		writepage       = "  0  1  0  0   1  1  0  0",
+						  "  0  0  0  0   0  0  0 a8",
+						  " a7 a6 a5 a4   x  x  x  x",
+						  "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    0 0 0 x  x x x x",
+						  "x  x  x  x   x  x a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
 
 	read            = "0  1  0  1   1  0  0  0    0 0 0 0  0 0 0 0",
-                          "x  x  x  x   x  x  x  x    x x o o  o o o o";
+						  "x  x  x  x   x  x  x  x    x x o o  o o o o";
 
-        write           = "1  0  1  0   1  1  0  0    1 1 1 x  x x x x",
-                          "x  x  x  x   x  x  x  x    1 1 i i  i i i i";
-    ;
+		write           = "1  0  1  0   1  1  0  0    1 1 1 x  x x x x",
+						  "x  x  x  x   x  x  x  x    1 1 i i  i i i i";
+	;
 
-    memory "calibration"
-        size            = 2;
-        read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                          "0  0  0  0   0  0  0 a0    o o o o  o o o o";
-    ;
+	memory "calibration"
+		size            = 2;
+		read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						  "0  0  0  0   0  0  0 a0    o o o o  o o o o";
+	;
 
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
 
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
 
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-      ;
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+	  ;
 
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
 
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
 
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-      ;
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+	  ;
 
 ;
 
@@ -1264,132 +1264,132 @@ part
 #------------------------------------------------------------
 
 part
-    id                  = "t15";
-    desc                = "ATtiny15";
-    stk500_devcode      = 0x13;
-    avr910_devcode      = 0x56;
-    signature           = 0x1e 0x90 0x06;
-    chip_erase_delay    = 8200;
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
-        0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
-        0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 5;
-    synchcycles         = 6;
-    latchcycles         = 16;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 50;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-    memory "eeprom"
-        size            = 64;
-        min_write_delay = 8200;
-        max_write_delay = 8200;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 64;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        size            = 1024;
-        min_write_delay = 4100;
-        max_write_delay = 4100;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0  0  1  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        read_hi         = "  0  0  1  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        write_lo        = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        write_hi        = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-	mode		= 0x04;
-	delay		= 5;
-	blocksize	= 128;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x o o x";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 i i 1",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-    ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0  0  0    o o o o  o o o o";
-    ;
-
-    memory "fuse"
-        size            = 1;
-        read            = "0  1  0  1   0  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    o o o o  x x o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 0 1 x  x x x x",
-                          "x  x  x  x   x  x  x  x    i i i i  1 1 i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-    ;
+	id                  = "t15";
+	desc                = "ATtiny15";
+	stk500_devcode      = 0x13;
+	avr910_devcode      = 0x56;
+	signature           = 0x1e 0x90 0x06;
+	chip_erase_delay    = 8200;
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
+		0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
+		0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 5;
+	synchcycles         = 6;
+	latchcycles         = 16;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 50;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	memory "eeprom"
+		size            = 64;
+		min_write_delay = 8200;
+		max_write_delay = 8200;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 64;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		size            = 1024;
+		min_write_delay = 4100;
+		max_write_delay = 4100;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0  0  1  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		read_hi         = "  0  0  1  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		write_lo        = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		write_hi        = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+	mode        = 0x04;
+	delay       = 5;
+	blocksize   = 128;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x o o x";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 i i 1",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	;
+
+	memory "fuse"
+		size            = 1;
+		read            = "0  1  0  1   0  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    o o o o  x x o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 0 1 x  x x x x",
+						  "x  x  x  x   x  x  x  x    i i i i  1 1 i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	;
 ;
 
 #------------------------------------------------------------
@@ -1397,114 +1397,114 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "1200";
-    desc             = "AT90S1200";
-    stk500_devcode   = 0x33;
-    avr910_devcode   = 0x13;
-    signature        = 0x1e 0x90 0x01;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 1;
-    bytedelay		= 0;
-    pollindex		= 0;
-    pollvalue		= 0xFF;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 64;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = "1 0  1  0   0  0  0  0   x x x x  x x x x",
-                          "x x a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = "1 1  0  0   0  0  0  0   x x x x  x x x x",
-                          "x x a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 20;
-	blocksize	= 32;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 1024;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x   x   x  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x   x   x  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x   x   x  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x   x   x  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x02;
-	delay		= 15;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-      ;
-    memory "lock"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
+	id               = "1200";
+	desc             = "AT90S1200";
+	stk500_devcode   = 0x33;
+	avr910_devcode   = 0x13;
+	signature        = 0x1e 0x90 0x01;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 1;
+	bytedelay       = 0;
+	pollindex       = 0;
+	pollvalue       = 0xFF;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 64;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = "1 0  1  0   0  0  0  0   x x x x  x x x x",
+						  "x x a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = "1 1  0  0   0  0  0  0   x x x x  x x x x",
+						  "x x a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 20;
+	blocksize   = 32;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 1024;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x   x   x  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x   x   x  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x   x   x  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x   x   x  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x02;
+	delay       = 15;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+	  ;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -1512,112 +1512,112 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "4414";
-    desc             = "AT90S4414";
-    stk500_devcode   = 0x50;
-    avr910_devcode   = 0x28;
-    signature        = 0x1e 0x92 0x01;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 256;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x80;
-        readback_p2     = 0x7f;
-        read            = " 1  0  1  0   0  0  0  0  x x x x  x x x a8",
-                          "a7 a6 a5 a4 a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x7f;
-        readback_p2     = 0x7f;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-	size		= 1;
-      ;
-    memory "lock"
-	size		= 1;
-	write		= "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
+	id               = "4414";
+	desc             = "AT90S4414";
+	stk500_devcode   = 0x50;
+	avr910_devcode   = 0x28;
+	signature        = 0x1e 0x92 0x01;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 256;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x80;
+		readback_p2     = 0x7f;
+		read            = " 1  0  1  0   0  0  0  0  x x x x  x x x a8",
+						  "a7 a6 a5 a4 a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x7f;
+		readback_p2     = 0x7f;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+	size        = 1;
+	  ;
+	memory "lock"
+	size        = 1;
+	write       = "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
 			  "x  x  x  x   x  x  x  x   x  x  x  x   x  x  x  x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -1625,112 +1625,112 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "2313";
-    desc             = "AT90S2313";
-    stk500_devcode   = 0x40;
-    avr910_devcode   = 0x20;
-    signature        = 0x1e 0x91 0x01;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 128;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x80;
-        readback_p2     = 0x7f;
-        read            = "1  0  1  0   0  0  0  0   x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0   x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 2048;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x7f;
-        readback_p2     = 0x7f;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-      ;
-    memory "lock"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 1 1 x  x i i x",
-                          "x x x x  x x x x  x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
+	id               = "2313";
+	desc             = "AT90S2313";
+	stk500_devcode   = 0x40;
+	avr910_devcode   = 0x20;
+	signature        = 0x1e 0x91 0x01;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 128;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x80;
+		readback_p2     = 0x7f;
+		read            = "1  0  1  0   0  0  0  0   x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0   x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 2048;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x7f;
+		readback_p2     = 0x7f;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+	  ;
+	memory "lock"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 1 1 x  x i i x",
+						  "x x x x  x x x x  x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -1738,126 +1738,126 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "2333";
+	id               = "2333";
 ##### WARNING: No XML file for device 'AT90S2333'! #####
-    desc             = "AT90S2333";
-    stk500_devcode   = 0x42;
-    avr910_devcode   = 0x34;
-    signature        = 0x1e 0x91 0x05;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 128;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0   x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0   x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        pwroff_after_write = yes;
-        read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
-    memory "lock"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x x x  x o o x";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
+	desc             = "AT90S2333";
+	stk500_devcode   = 0x42;
+	avr910_devcode   = 0x34;
+	signature        = 0x1e 0x91 0x05;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 128;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0   x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0   x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		pwroff_after_write = yes;
+		read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x x x  x o o x";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
   ;
 
 
@@ -1866,122 +1866,122 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "2343";
-    desc             = "AT90S2343";
-    stk500_devcode   = 0x43;
-    avr910_devcode   = 0x4c;
-    signature        = 0x1e 0x91 0x03;
-    chip_erase_delay = 18000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
-        0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
-        0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 0;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 50;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-    memory "eeprom"
-        size            = 128;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0   0 0 0 0  0 0 0 0",
-                          "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0   0 0 0 0  0 0 0 0",
-                          "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 128;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   o o o x  x x x o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 1  1 1 1 i",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
-    memory "lock"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   o o o x  x x x o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
+	id               = "2343";
+	desc             = "AT90S2343";
+	stk500_devcode   = 0x43;
+	avr910_devcode   = 0x4c;
+	signature        = 0x1e 0x91 0x03;
+	chip_erase_delay = 18000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
+		0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
+		0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 0;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 50;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	memory "eeprom"
+		size            = 128;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0   0 0 0 0  0 0 0 0",
+						  "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0   0 0 0 0  0 0 0 0",
+						  "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 128;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   o o o x  x x x o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 1  1 1 1 i",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   o o o x  x x x o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
   ;
 
 
@@ -1990,123 +1990,123 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "4433";
-    desc             = "AT90S4433";
-    stk500_devcode   = 0x51;
-    avr910_devcode   = 0x30;
-    signature        = 0x1e 0x92 0x03;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 256;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = " 1  0  1  0   0  0  0  0   x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0   x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        pwroff_after_write = yes;
-        read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
-    memory "lock"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x x x  x o o x";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
+	id               = "4433";
+	desc             = "AT90S4433";
+	stk500_devcode   = 0x51;
+	avr910_devcode   = 0x30;
+	signature        = 0x1e 0x92 0x03;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 256;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = " 1  0  1  0   0  0  0  0   x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0   x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		pwroff_after_write = yes;
+		read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x x x  x o o x";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -2114,82 +2114,82 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "4434";
+	id               = "4434";
 ##### WARNING: No XML file for device 'AT90S4434'! #####
-    desc             = "AT90S4434";
-    stk500_devcode   = 0x52;
-    avr910_devcode   = 0x6c;
-    signature        = 0x1e 0x92 0x02;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    memory "eeprom"
-        size            = 256;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = " 1  0  1  0   0  0  0  0   x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0   x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-      ;
-    memory "flash"
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
-    memory "lock"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x x x  x o o x";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
+	desc             = "AT90S4434";
+	stk500_devcode   = 0x52;
+	avr910_devcode   = 0x6c;
+	signature        = 0x1e 0x92 0x02;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	memory "eeprom"
+		size            = 256;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = " 1  0  1  0   0  0  0  0   x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0   x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+	  ;
+	memory "flash"
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x x x  x o o x";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -2197,113 +2197,113 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "8515";
-    desc             = "AT90S8515";
-    stk500_devcode   = 0x60;
-    avr910_devcode   = 0x38;
-    signature        = 0x1e 0x93 0x01;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
+	id               = "8515";
+	desc             = "AT90S8515";
+	stk500_devcode   = 0x60;
+	avr910_devcode   = 0x38;
+	signature        = 0x1e 0x93 0x01;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 512;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x80;
-        readback_p2     = 0x7f;
-        read            = " 1  0  1  0   0  0  0  0  x x x x  x x x a8",
-                          "a7 a6 a5 a4 a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 8192;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x7f;
-        readback_p2     = 0x7f;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-	size		= 1;
-      ;
-    memory "lock"
-	size		= 1;
-	write		= "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 512;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x80;
+		readback_p2     = 0x7f;
+		read            = " 1  0  1  0   0  0  0  0  x x x x  x x x a8",
+						  "a7 a6 a5 a4 a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 8192;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x7f;
+		readback_p2     = 0x7f;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+	size        = 1;
+	  ;
+	memory "lock"
+	size        = 1;
+	write       = "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
 			  "x  x  x  x   x  x  x  x   x  x  x  x   x  x  x  x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -2311,120 +2311,120 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "8535";
-    desc             = "AT90S8535";
-    stk500_devcode   = 0x61;
-    avr910_devcode   = 0x68;
-    signature        = 0x1e 0x93 0x03;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = " 1  0  1  0   0  0  0  0   x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 8192;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-	size		= 1;
-	read		= "0  1  0  1   1  0  0  0   x  x  x  x   x  x  x  x",
+	id               = "8535";
+	desc             = "AT90S8535";
+	stk500_devcode   = 0x61;
+	avr910_devcode   = 0x68;
+	signature        = 0x1e 0x93 0x03;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = " 1  0  1  0   0  0  0  0   x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 8192;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+	size        = 1;
+	read        = "0  1  0  1   1  0  0  0   x  x  x  x   x  x  x  x",
 			  "x  x  x  x   x  x  x  x   x  x  x  x   x  x  x  o";
-	write		= "1  0  1  0   1  1  0  0   1  0  1  1   1  1  1  i",
+	write       = "1  0  1  0   1  1  0  0   1  0  1  1   1  1  1  i",
 			  "x  x  x  x   x  x  x  x   x  x  x  x   x  x  x  x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-    memory "lock"
-	size		= 1;
-	read		= "0  1  0  1   1  0  0  0   x  x  x  x   x  x  x  x",
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+	memory "lock"
+	size        = 1;
+	read        = "0  1  0  1   1  0  0  0   x  x  x  x   x  x  x  x",
 			  "x  x  x  x   x  x  x  x   o  o  x  x   x  x  x  x";
-	write		= "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
+	write       = "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
 			  "x  x  x  x   x  x  x  x   x  x  x  x   x  x  x  x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -2432,138 +2432,138 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m103";
-    desc             = "ATMEGA103";
-    stk500_devcode   = 0xB1;
-    avr910_devcode   = 0x41;
-    signature        = 0x1e 0x97 0x01;
-    chip_erase_delay = 112000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE,
-        0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE,
-        0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A,
-        0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 10;
-
-    memory "eeprom"
-        size            = 4096;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x80;
-        readback_p2     = 0x7f;
+	id               = "m103";
+	desc             = "ATMEGA103";
+	stk500_devcode   = 0xB1;
+	avr910_devcode   = 0x41;
+	signature        = 0x1e 0x97 0x01;
+	chip_erase_delay = 112000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE,
+		0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE,
+		0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A,
+		0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 10;
+
+	memory "eeprom"
+		size            = 4096;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x80;
+		readback_p2     = 0x7f;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 22000;
-        max_write_delay = 56000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x11;
-	delay		= 70;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "fuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0  x x x x  x x x x",
-                          "x x x x  x x x x  x x o x  o 1 o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 1  i 1 i i",
-                          "x x x x  x x x x  x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x x x  x o o x";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 22000;
+		max_write_delay = 56000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x11;
+	delay       = 70;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "fuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0  x x x x  x x x x",
+						  "x x x x  x x x x  x x o x  o 1 o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 1  i 1 i i",
+						  "x x x x  x x x x  x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x x x  x o o x";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -2572,177 +2572,177 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m64";
-    desc             = "ATMEGA64";
-    has_jtag         = yes;
-    stk500_devcode   = 0xA0;
-    avr910_devcode   = 0x45;
-    signature        = 0x1e 0x96 0x02;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x22;
-    spmcr               = 0x68;
-    allowfullpagebitstream = yes;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 20;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x x i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	id               = "m64";
+	desc             = "ATMEGA64";
+	has_jtag         = yes;
+	stk500_devcode   = 0xA0;
+	avr910_devcode   = 0x45;
+	signature        = 0x1e 0x96 0x02;
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x22;
+	spmcr               = 0x68;
+	allowfullpagebitstream = yes;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 20;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x x i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -2753,177 +2753,177 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m128";
-    desc             = "ATMEGA128";
-    has_jtag         = yes;
-    stk500_devcode   = 0xB2;
-    avr910_devcode   = 0x43;
-    signature        = 0x1e 0x97 0x02;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x22;
-    spmcr               = 0x68;
-    rampz               = 0x3b;
-    allowfullpagebitstream = yes;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x x i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	id               = "m128";
+	desc             = "ATMEGA128";
+	has_jtag         = yes;
+	stk500_devcode   = 0xB2;
+	avr910_devcode   = 0x43;
+	signature        = 0x1e 0x97 0x02;
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x22;
+	spmcr               = 0x68;
+	rampz               = 0x3b;
+	allowfullpagebitstream = yes;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x x i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -2931,189 +2931,189 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "c128";
-    desc             = "AT90CAN128";
-    has_jtag         = yes;
-    stk500_devcode   = 0xB3;
+	id               = "c128";
+	desc             = "AT90CAN128";
+	has_jtag         = yes;
+	stk500_devcode   = 0xB3;
 #    avr910_devcode   = 0x43;
-    signature        = 0x1e 0x97 0x81;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    eecr                = 0x3f;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	signature        = 0x1e 0x97 0x81;
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	eecr                = 0x3f;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -3121,189 +3121,189 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "c64";
-    desc             = "AT90CAN64";
-    has_jtag         = yes;
-    stk500_devcode   = 0xB3;
+	id               = "c64";
+	desc             = "AT90CAN64";
+	has_jtag         = yes;
+	stk500_devcode   = 0xB3;
 #    avr910_devcode   = 0x43;
-    signature        = 0x1e 0x96 0x81;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    eecr                = 0x3f;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	signature        = 0x1e 0x96 0x81;
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	eecr                = 0x3f;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -3311,189 +3311,189 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "c32";
-    desc             = "AT90CAN32";
-    has_jtag         = yes;
-    stk500_devcode   = 0xB3;
+	id               = "c32";
+	desc             = "AT90CAN32";
+	has_jtag         = yes;
+	stk500_devcode   = 0xB3;
 #    avr910_devcode   = 0x43;
-    signature        = 0x1e 0x95 0x81;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    eecr                = 0x3f;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	signature        = 0x1e 0x95 0x81;
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	eecr                = 0x3f;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 256;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 256;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -3502,174 +3502,174 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m16";
-    desc             = "ATMEGA16";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82;
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x94 0x03;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
+	id               = "m16";
+	desc             = "ATMEGA16";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82;
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x94 0x03;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 100;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = yes;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	hventerstabdelay    = 100;
+	progmodedelay       = 100;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = yes;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "calibration"
-        size            = 4;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 a1 a0 o o o o  o o o o";
-        ;
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "calibration"
+		size            = 4;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 a1 a0 o o o o  o o o o";
+		;
   ;
 
 
@@ -3680,187 +3680,187 @@ part
 # close to ATmega16
 
 part
-    id               = "m164p";
-    desc             = "ATMEGA164P";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x94 0x0a;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m164p";
+	desc             = "ATMEGA164P";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x94 0x0a;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 
@@ -3871,187 +3871,187 @@ part
 # similar to ATmega164P
 
 part
-    id               = "m324p";
-    desc             = "ATMEGA324P";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x95 0x08;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m324p";
+	desc             = "ATMEGA324P";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x95 0x08;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 
@@ -4062,187 +4062,187 @@ part
 # similar to ATmega164
 
 part
-    id               = "m644";
-    desc             = "ATMEGA644";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x96 0x09;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m644";
+	desc             = "ATMEGA644";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x96 0x09;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 #------------------------------------------------------------
@@ -4252,187 +4252,187 @@ part
 # similar to ATmega164p
 
 part
-    id               = "m644p";
-    desc             = "ATMEGA644P";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x96 0x0a;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m644p";
+	desc             = "ATMEGA644P";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x96 0x0a;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 
@@ -4444,187 +4444,187 @@ part
 # similar to ATmega164p
 
 part
-    id               = "m1284p";
-    desc             = "ATMEGA1284P";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x97 0x05;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m1284p";
+	desc             = "ATMEGA1284P";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x97 0x05;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 
@@ -4634,193 +4634,193 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m162";
-    desc             = "ATMEGA162";
-    has_jtag         = yes;
-    stk500_devcode   = 0x83;
-    avr910_devcode   = 0x63;
-    signature        = 0x1e 0x94 0x04;
-    chip_erase_delay = 9000;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-
-    idr              = 0x04;
-    spmcr            = 0x57;
-    allowfullpagebitstream = yes;
-
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-       mode        = 0x41;
-    delay       = 10;
-    blocksize   = 128;
-    readsize    = 256;
-
-        ;
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-                read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-                write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	id               = "m162";
+	desc             = "ATMEGA162";
+	has_jtag         = yes;
+	stk500_devcode   = 0x83;
+	avr910_devcode   = 0x63;
+	signature        = 0x1e 0x94 0x04;
+	chip_erase_delay = 9000;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+
+	idr              = 0x04;
+	spmcr            = 0x57;
+	allowfullpagebitstream = yes;
+
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+	   mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+
+		;
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+				read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+				write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 4;
-	readsize	= 256;
-        ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 4;
+	readsize    = 256;
+		;
 
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 16000;
-        max_write_delay = 16000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 16000;
+		max_write_delay = 16000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
 
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        ;
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		;
 
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 16000;
-        max_write_delay = 16000;
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 16000;
+		max_write_delay = 16000;
 
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
 
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        ;
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		;
 
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 16000;
-        max_write_delay = 16000;
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 16000;
+		max_write_delay = 16000;
 
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
 
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-      ;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+	  ;
 
-    memory "lock"
-        size            = 1;
-        min_write_delay = 16000;
-        max_write_delay = 16000;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 16000;
+		max_write_delay = 16000;
 
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
 
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        ;
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		;
 
-    memory "signature"
-        size            = 3;
+	memory "signature"
+		size            = 3;
 
-        read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-        ;
+		read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+		;
 
-    memory "calibration"
-        size            = 1;
+	memory "calibration"
+		size            = 1;
 
-        read            = "0 0 1 1  1 0 0 0   0 0 x x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+		read            = "0 0 1 1  1 0 0 0   0 0 x x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
 ;
 
 
@@ -4830,157 +4830,157 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m163";
-    desc             = "ATMEGA163";
-    stk500_devcode   = 0x81;
-    avr910_devcode   = 0x64;
-    signature        = 0x1e 0x94 0x02;
-    chip_erase_delay = 32000;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout             = 200;
-    stabdelay           = 100;
-    cmdexedelay         = 25;
-    synchloops          = 32;
-    bytedelay           = 0;
-    pollindex           = 3;
-    pollvalue           = 0x53;
-    predelay            = 1;
-    postdelay           = 1;
-    pollmethod          = 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 30;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 2;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 2;
+	id               = "m163";
+	desc             = "ATMEGA163";
+	stk500_devcode   = 0x81;
+	avr910_devcode   = 0x64;
+	signature        = 0x1e 0x94 0x02;
+	chip_erase_delay = 32000;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout             = 200;
+	stabdelay           = 100;
+	cmdexedelay         = 25;
+	synchloops          = 32;
+	bytedelay           = 0;
+	pollindex           = 3;
+	pollvalue           = 0x53;
+	predelay            = 1;
+	postdelay           = 1;
+	pollmethod          = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 30;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 2;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 2;
 
 
    memory "eeprom"
-        size            = 512;
-        min_write_delay = 4000;
-        max_write_delay = 4000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		size            = 512;
+		min_write_delay = 4000;
+		max_write_delay = 4000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-        mode            = 0x41;
-        delay           = 20;
-        blocksize       = 4;
-        readsize        = 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 16000;
-        max_write_delay = 16000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x11;
-	delay		= 20;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o x x  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i 1 1  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  1 o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   1 1 1 1  1 i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  0 x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+		mode            = 0x41;
+		delay           = 20;
+		blocksize       = 4;
+		readsize        = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 16000;
+		max_write_delay = 16000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x11;
+	delay       = 20;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o x x  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i 1 1  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  1 o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   1 1 1 1  1 i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  0 x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -4988,179 +4988,179 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m169";
-    desc             = "ATMEGA169";
-    has_jtag         = yes;
-    stk500_devcode   = 0x85;
-    avr910_devcode   = 0x78;
-    signature        = 0x1e 0x94 0x05;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	id               = "m169";
+	desc             = "ATMEGA169";
+	has_jtag         = yes;
+	stk500_devcode   = 0x85;
+	avr910_devcode   = 0x78;
+	signature        = 0x1e 0x94 0x05;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 4;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 4;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -5168,182 +5168,182 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m329";
-    desc             = "ATMEGA329";
-    has_jtag         = yes;
+	id               = "m329";
+	desc             = "ATMEGA329";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x95 0x03;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x95 0x03;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -5352,182 +5352,182 @@ part
 # Identical to ATmega329 except of the signature
 
 part
-    id               = "m329p";
-    desc             = "ATMEGA329P";
-    has_jtag         = yes;
+	id               = "m329p";
+	desc             = "ATMEGA329P";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x95 0x0b;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x95 0x0b;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -5537,182 +5537,182 @@ part
 # identical to ATmega329
 
 part
-    id               = "m3290";
-    desc             = "ATMEGA3290";
-    has_jtag         = yes;
+	id               = "m3290";
+	desc             = "ATMEGA3290";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x95 0x04;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x95 0x04;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a3   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -5722,182 +5722,182 @@ part
 # identical to ATmega3290 except of the signature
 
 part
-    id               = "m3290p";
-    desc             = "ATMEGA3290P";
-    has_jtag         = yes;
+	id               = "m3290p";
+	desc             = "ATMEGA3290P";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x95 0x0c;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x95 0x0c;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a3   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -5905,182 +5905,182 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m649";
-    desc             = "ATMEGA649";
-    has_jtag         = yes;
+	id               = "m649";
+	desc             = "ATMEGA649";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x96 0x03;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x96 0x03;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -6090,192 +6090,192 @@ part
 # identical to ATmega649
 
 part
-    id               = "m6490";
-    desc             = "ATMEGA6490";
-    has_jtag         = yes;
+	id               = "m6490";
+	desc             = "ATMEGA6490";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x96 0x04;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x96 0x04;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -6283,174 +6283,174 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m32";
-    desc             = "ATMEGA32";
-    has_jtag         = yes;
-    stk500_devcode   = 0x91;
-    avr910_devcode   = 0x72;
-    signature        = 0x1e 0x95 0x02;
-    chip_erase_delay = 9000;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = yes;
+	id               = "m32";
+	desc             = "ATMEGA32";
+	has_jtag         = yes;
+	stk500_devcode   = 0x91;
+	avr910_devcode   = 0x72;
+	signature        = 0x1e 0x95 0x02;
+	chip_erase_delay = 9000;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = yes;
 
    memory "eeprom"
-        paged           = no;   /* leave this "no" */
-        page_size       = 4;    /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+		paged           = no;   /* leave this "no" */
+		page_size       = 4;    /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o o";
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0 0 1 1  1 0 0 0    0 0 x x  x x x x",
-                          "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
-      ;
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o o";
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0 0 1 1  1 0 0 0    0 0 x x  x x x x",
+						  "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -6458,138 +6458,138 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m161";
-    desc             = "ATMEGA161";
-    stk500_devcode   = 0x80;
-    avr910_devcode   = 0x60;
-    signature        = 0x1e 0x94 0x01;
-    chip_erase_delay = 28000;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 30;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 2;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 2;
+	id               = "m161";
+	desc             = "ATMEGA161";
+	stk500_devcode   = 0x80;
+	avr910_devcode   = 0x60;
+	signature        = 0x1e 0x94 0x01;
+	chip_erase_delay = 28000;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 30;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 2;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 2;
 
    memory "eeprom"
-        size            = 512;
-        min_write_delay = 3400;
-        max_write_delay = 3400;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		size            = 512;
+		min_write_delay = 3400;
+		max_write_delay = 3400;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 5;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 14000;
-        max_write_delay = 14000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 16;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "fuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x o x o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 x  x x x x",
-                          "x x x x  x x x x   1 i 1 i  i i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 5;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 14000;
+		max_write_delay = 14000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 16;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "fuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x o x o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 x  x x x x",
+						  "x x x x  x x x x   1 i 1 i  i i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -6598,158 +6598,158 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m8";
-    desc             = "ATMEGA8";
-    stk500_devcode   = 0x70;
-    avr910_devcode   = 0x76;
-    signature        = 0x1e 0x93 0x07;
-    pagel            = 0xd7;
-    bs2              = 0xc2;
-    chip_erase_delay = 10000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
+	id               = "m8";
+	desc             = "ATMEGA8";
+	stk500_devcode   = 0x70;
+	avr910_devcode   = 0x76;
+	signature        = 0x1e 0x93 0x07;
+	pagel            = 0xd7;
+	bs2              = 0xc2;
+	chip_erase_delay = 10000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 2;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        size            = 512;
-        page_size       = 4;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 2;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		size            = 512;
+		page_size       = 4;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 20;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 10;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0  0  1  1   1  0  0  0   0  0  x  x   x  x  x  x",
-                          "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 20;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 10;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0  0  1  1   1  0  0  0   0  0  x  x   x  x  x  x",
+						  "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -6759,154 +6759,154 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m8515";
-    desc             = "ATMEGA8515";
-    stk500_devcode   = 0x63;
-    avr910_devcode   = 0x3A;
-    signature        = 0x1e 0x93 0x06;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m8515";
+	desc             = "ATMEGA8515";
+	stk500_devcode   = 0x63;
+	avr910_devcode   = 0x3A;
+	signature        = 0x1e 0x93 0x06;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
  read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
  write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0 0 1 1  1 0 0 0     0 0 x x  x x x x",
-                          "0 0 0 0  0 0 a1 a0   o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0 0 1 1  1 0 0 0     0 0 x x  x x x x",
+						  "0 0 0 0  0 0 a1 a0   o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -6917,156 +6917,156 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m8535";
-    desc             = "ATMEGA8535";
-    stk500_devcode   = 0x64;
-    avr910_devcode   = 0x69;
-    signature        = 0x1e 0x93 0x08;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m8535";
+	desc             = "ATMEGA8535";
+	stk500_devcode   = 0x64;
+	avr910_devcode   = 0x69;
+	signature        = 0x1e 0x93 0x08;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0 0 1 1  1 0 0 0   0 0 x x  x x x x",
-                          "0 0 0 0  0 0 a1 a0 o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0 0 1 1  1 0 0 0   0 0 x x  x x x x",
+						  "0 0 0 0  0 0 a1 a0 o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -7075,153 +7075,153 @@ part
 #------------------------------------------------------------
 
 part
-    id                  = "t26";
-    desc                = "ATTINY26";
-    stk500_devcode      = 0x21;
-    avr910_devcode      = 0x5e;
-    signature           = 0x1e 0x91 0x09;
-    pagel               = 0xb3;
-    bs2                 = 0xb2;
-    chip_erase_delay    = 9000;
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
-        0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
-        0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
-        0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 2;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        size            = 128;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 64;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 2048;
-        page_size       = 32;
-        num_pages       = 64;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0  0  1  0   0  0  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        read_hi         = "  0  0  1  0   1  0  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        loadpage_lo     = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        loadpage_hi     = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        writepage       = "  0  1  0  0   1  1  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4   x  x  x  x",
-                          "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 16;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x x o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-    ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  x x x i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  x x x o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
+	id                  = "t26";
+	desc                = "ATTINY26";
+	stk500_devcode      = 0x21;
+	avr910_devcode      = 0x5e;
+	signature           = 0x1e 0x91 0x09;
+	pagel               = 0xb3;
+	bs2                 = 0xb2;
+	chip_erase_delay    = 9000;
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
+		0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
+		0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
+		0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 2;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		size            = 128;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 64;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		paged           = yes;
+		size            = 2048;
+		page_size       = 32;
+		num_pages       = 64;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0  0  1  0   0  0  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		read_hi         = "  0  0  1  0   1  0  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		loadpage_lo     = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		loadpage_hi     = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		writepage       = "  0  1  0  0   1  1  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4   x  x  x  x",
+						  "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 16;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x x o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  x x x i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  x x x o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
 
 ;
 
@@ -7232,185 +7232,185 @@ part
 # Close to ATtiny26
 
 part
-    id                  = "t261";
-    desc                = "ATTINY261";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x00, 0x10;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	id                  = "t261";
+	desc                = "ATTINY261";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x00, 0x10;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 #    stk500_devcode      = 0x21;
 #    avr910_devcode      = 0x5e;
-    signature           = 0x1e 0x91 0x0c;
-    pagel               = 0xb3;
-    bs2                 = 0xb2;
-    chip_erase_delay    = 4000;
-
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
-        0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
-        0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
-        0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 2;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        size            = 128;
-        page_size       = 4;
-        num_pages       = 32;
-        min_write_delay = 4000;
-        max_write_delay = 4000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	signature           = 0x1e 0x91 0x0c;
+	pagel               = 0xb3;
+	bs2                 = 0xb2;
+	chip_erase_delay    = 4000;
+
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
+		0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
+		0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
+		0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 2;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		size            = 128;
+		page_size       = 4;
+		num_pages       = 32;
+		min_write_delay = 4000;
+		max_write_delay = 4000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 4;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 2048;
-        page_size       = 32;
-        num_pages       = 64;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read_lo         = "  0  0  1  0   0  0  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        read_hi         = "  0  0  1  0   1  0  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        loadpage_lo     = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        loadpage_hi     = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        writepage       = "  0  1  0  0   1  1  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4   x  x  x  x",
-                          "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x x o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-    ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x x x i";
-
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x x x o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0  0  0    o o o o  o o o o";
-    ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 4;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		paged           = yes;
+		size            = 2048;
+		page_size       = 32;
+		num_pages       = 64;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read_lo         = "  0  0  1  0   0  0  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		read_hi         = "  0  0  1  0   1  0  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		loadpage_lo     = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		loadpage_hi     = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		writepage       = "  0  1  0  0   1  1  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4   x  x  x  x",
+						  "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x x o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x x x i";
+
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x x x o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	;
 
 ;
 
@@ -7421,185 +7421,185 @@ part
 # Close to ATtiny261
 
 part
-    id                  = "t461";
-    desc                = "ATTINY461";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x00, 0x10;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	id                  = "t461";
+	desc                = "ATTINY461";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x00, 0x10;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 #    stk500_devcode      = 0x21;
 #    avr910_devcode      = 0x5e;
-    signature           = 0x1e 0x92 0x08;
-    pagel               = 0xb3;
-    bs2                 = 0xb2;
-    chip_erase_delay    = 4000;
-
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
-        0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
-        0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
-        0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 2;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        size            = 256;
-        page_size       = 4;
-        num_pages       = 64;
-        min_write_delay = 4000;
-        max_write_delay = 4000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read            = " 1  0  1  0   0  0  0  0    x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0    x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	signature           = 0x1e 0x92 0x08;
+	pagel               = 0xb3;
+	bs2                 = 0xb2;
+	chip_erase_delay    = 4000;
+
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
+		0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
+		0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
+		0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 2;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		size            = 256;
+		page_size       = 4;
+		num_pages       = 64;
+		min_write_delay = 4000;
+		max_write_delay = 4000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read            = " 1  0  1  0   0  0  0  0    x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0    x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 4;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 4096;
-        page_size       = 64;
-        num_pages       = 64;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read_lo         = "  0  0  1  0   0   0  0  0",
-                          "  x  x  x  x   x a10 a9 a8",
-                          " a7 a6 a5 a4  a3  a2 a1 a0",
-                          "  o  o  o  o   o   o  o  o";
-
-        read_hi         = "  0  0  1  0   1   0  0  0",
-                          "  x  x  x  x   x a10 a9 a8",
-                          " a7 a6 a5 a4  a3  a2 a1 a0",
-                          "  o  o  o  o   o   o  o  o";
-
-        loadpage_lo     = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        loadpage_hi     = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        writepage       = "  0  1  0  0   1   1  0  0",
-                          "  x  x  x  x   x a10 a9 a8",
-                          " a7 a6 a5  x   x   x  x  x",
-                          "  x  x  x  x   x   x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x x o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-    ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x x x i";
-
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x x x o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0  0  0    o o o o  o o o o";
-    ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 4;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		paged           = yes;
+		size            = 4096;
+		page_size       = 64;
+		num_pages       = 64;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read_lo         = "  0  0  1  0   0   0  0  0",
+						  "  x  x  x  x   x a10 a9 a8",
+						  " a7 a6 a5 a4  a3  a2 a1 a0",
+						  "  o  o  o  o   o   o  o  o";
+
+		read_hi         = "  0  0  1  0   1   0  0  0",
+						  "  x  x  x  x   x a10 a9 a8",
+						  " a7 a6 a5 a4  a3  a2 a1 a0",
+						  "  o  o  o  o   o   o  o  o";
+
+		loadpage_lo     = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		loadpage_hi     = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		writepage       = "  0  1  0  0   1   1  0  0",
+						  "  x  x  x  x   x a10 a9 a8",
+						  " a7 a6 a5  x   x   x  x  x",
+						  "  x  x  x  x   x   x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x x o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x x x i";
+
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x x x o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	;
 
 ;
 
@@ -7610,185 +7610,185 @@ part
 # Close to ATtiny461
 
 part
-    id                  = "t861";
-    desc                = "ATTINY861";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x00, 0x10;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	id                  = "t861";
+	desc                = "ATTINY861";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x00, 0x10;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 #    stk500_devcode      = 0x21;
 #    avr910_devcode      = 0x5e;
-    signature           = 0x1e 0x93 0x0d;
-    pagel               = 0xb3;
-    bs2                 = 0xb2;
-    chip_erase_delay    = 4000;
-
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
-        0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
-        0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
-        0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 2;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        size            = 512;
-        num_pages       = 128;
-        page_size       = 4;
-        min_write_delay = 4000;
-        max_write_delay = 4000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read            = " 1  0  1  0   0  0  0  0    x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0    o o o o  o o o  o";
-
-        write           = " 1  1  0  0   0  0  0  0    x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0    i i i i  i i i  i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	signature           = 0x1e 0x93 0x0d;
+	pagel               = 0xb3;
+	bs2                 = 0xb2;
+	chip_erase_delay    = 4000;
+
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
+		0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
+		0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
+		0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 2;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		size            = 512;
+		num_pages       = 128;
+		page_size       = 4;
+		min_write_delay = 4000;
+		max_write_delay = 4000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read            = " 1  0  1  0   0  0  0  0    x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0    o o o o  o o o  o";
+
+		write           = " 1  1  0  0   0  0  0  0    x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0    i i i i  i i i  i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 4;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read_lo         = "  0  0  1  0   0   0  0  0",
-                          "  x  x  x  x a11 a10 a9 a8",
-                          " a7 a6 a5 a4  a3  a2 a1 a0",
-                          "  o  o  o  o   o   o  o  o";
-
-        read_hi         = "  0  0  1  0   1   0  0  0",
-                          "  x  x  x  x a11 a10 a9 a8",
-                          " a7 a6 a5 a4  a3  a2 a1 a0",
-                          "  o  o  o  o   o   o  o  o";
-
-        loadpage_lo     = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        loadpage_hi     = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        writepage       = "  0  1  0  0   1   1  0  0",
-                          "  x  x  x  x a11 a10 a9 a8",
-                          " a7 a6 a5  x   x   x  x  x",
-                          "  x  x  x  x   x   x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x x o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-    ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x x x i";
-
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x x x o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0  0  0    o o o o  o o o o";
-    ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 4;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read_lo         = "  0  0  1  0   0   0  0  0",
+						  "  x  x  x  x a11 a10 a9 a8",
+						  " a7 a6 a5 a4  a3  a2 a1 a0",
+						  "  o  o  o  o   o   o  o  o";
+
+		read_hi         = "  0  0  1  0   1   0  0  0",
+						  "  x  x  x  x a11 a10 a9 a8",
+						  " a7 a6 a5 a4  a3  a2 a1 a0",
+						  "  o  o  o  o   o   o  o  o";
+
+		loadpage_lo     = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		loadpage_hi     = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		writepage       = "  0  1  0  0   1   1  0  0",
+						  "  x  x  x  x a11 a10 a9 a8",
+						  " a7 a6 a5  x   x   x  x  x",
+						  "  x  x  x  x   x   x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x x o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x x x i";
+
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x x x o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	;
 
 ;
 
@@ -7798,185 +7798,185 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m48";
-    desc             = "ATMEGA48";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-    stk500_devcode   = 0x59;
+	id               = "m48";
+	desc             = "ATMEGA48";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	stk500_devcode   = 0x59;
 #    avr910_devcode   = 0x;
-    signature        = 0x1e 0x92 0x05;
-    pagel            = 0xd7;
-    bs2              = 0xc2;
-    chip_erase_delay = 45000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
+	signature        = 0x1e 0x92 0x05;
+	pagel            = 0xd7;
+	bs2              = 0xc2;
+	chip_erase_delay = 45000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        page_size       = 4;
-        size            = 256;
-        min_write_delay = 3600;
-        max_write_delay = 3600;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		page_size       = 4;
+		size            = 256;
+		min_write_delay = 3600;
+		max_write_delay = 3600;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x      x   x   x   x",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x      x   x   x   x",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 256;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 4096;
-        page_size       = 64;
-        num_pages       = 64;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0    0 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0    0 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x x x o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x x x i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
-                          "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 4096;
+		page_size       = 64;
+		num_pages       = 64;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0    0 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0    0 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x x x o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x x x i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
+						  "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -7985,185 +7985,185 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m88";
-    desc             = "ATMEGA88";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-    stk500_devcode   = 0x73;
+	id               = "m88";
+	desc             = "ATMEGA88";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	stk500_devcode   = 0x73;
 #    avr910_devcode   = 0x;
-    signature        = 0x1e 0x93 0x0a;
-    pagel            = 0xd7;
-    bs2              = 0xc2;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
+	signature        = 0x1e 0x93 0x0a;
+	pagel            = 0xd7;
+	bs2              = 0xc2;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        page_size       = 4;
-        size            = 512;
-        min_write_delay = 3600;
-        max_write_delay = 3600;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		page_size       = 4;
+		size            = 512;
+		min_write_delay = 3600;
+		max_write_delay = 3600;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 256;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
-                          "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
+						  "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -8171,187 +8171,187 @@ part
 #------------------------------------------------------------
 
 part
-    id              = "m168";
-    desc            = "ATMEGA168";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-    stk500_devcode  = 0x86;
-    # avr910_devcode = 0x;
-    signature       = 0x1e 0x94 0x06;
-    pagel           = 0xd7;
-    bs2             = 0xc2;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
-                       "x x x x x x x x x x x x x x x x";
-
-    chip_erase       = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
-                       "x x x x x x x x x x x x x x x x";
-
-    timeout         = 200;
-    stabdelay       = 100;
-    cmdexedelay     = 25;
-    synchloops      = 32;
-    bytedelay       = 0;
-    pollindex       = 3;
-    pollvalue       = 0x53;
-    predelay        = 1;
-    postdelay       = 1;
-    pollmethod      = 1;
-
-    pp_controlstack     =
+	id              = "m168";
+	desc            = "ATMEGA168";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	stk500_devcode  = 0x86;
+	# avr910_devcode = 0x;
+	signature       = 0x1e 0x94 0x06;
+	pagel           = 0xd7;
+	bs2             = 0xc2;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
+					   "x x x x x x x x x x x x x x x x";
+
+	chip_erase       = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
+					   "x x x x x x x x x x x x x x x x";
+
+	timeout         = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        page_size       = 4;
-        size            = 512;
-        min_write_delay = 3600;
-        max_write_delay = 3600;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = " 1 0 1 0 0 0 0 0",
-                          " 0 0 0 x x x x a8",
-                          " a7 a6 a5 a4 a3 a2 a1 a0",
-                          " o o o o o o o o";
-
-        write           = " 1 1 0 0 0 0 0 0",
-                          " 0 0 0 x x x x a8",
-                          " a7 a6 a5 a4 a3 a2 a1 a0",
-                          " i i i i i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		page_size       = 4;
+		size            = 512;
+		min_write_delay = 3600;
+		max_write_delay = 3600;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = " 1 0 1 0 0 0 0 0",
+						  " 0 0 0 x x x x a8",
+						  " a7 a6 a5 a4 a3 a2 a1 a0",
+						  " o o o o o o o o";
+
+		write           = " 1 1 0 0 0 0 0 0",
+						  " 0 0 0 x x x x a8",
+						  " a7 a6 a5 a4 a3 a2 a1 a0",
+						  " i i i i i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 256;
-        ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = " 0 0 1 0 0 0 0 0",
-                          " 0 0 0 a12 a11 a10 a9 a8",
-                          " a7 a6 a5 a4 a3 a2 a1 a0",
-                          " o o o o o o o o";
-
-        read_hi          = " 0 0 1 0 1 0 0 0",
-                           " 0 0 0 a12 a11 a10 a9 a8",
-                           " a7 a6 a5 a4 a3 a2 a1 a0",
-                           " o o o o o o o o";
-
-        loadpage_lo     = " 0 1 0 0 0 0 0 0",
-                          " 0 0 0 x x x x x",
-                          " x x a5 a4 a3 a2 a1 a0",
-                          " i i i i i i i i";
-
-        loadpage_hi     = " 0 1 0 0 1 0 0 0",
-                          " 0 0 0 x x x x x",
-                          " x x a5 a4 a3 a2 a1 a0",
-                          " i i i i i i i i";
-
-        writepage       = " 0 1 0 0 1 1 0 0",
-                          " 0 0 0 a12 a11 a10 a9 a8",
-                          " a7 a6 x x x x x x",
-                          " x x x x x x x x";
-
-        mode        = 0x41;
-        delay       = 6;
-        blocksize   = 128;
-        readsize    = 256;
-
-        ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
-                          "x x x x x x x x o o o o o o o o";
-
-        write           = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
-                          "x x x x x x x x i i i i i i i i";
-        ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
-                          "x x x x x x x x o o o o o o o o";
-
-        write           = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
-                          "x x x x x x x x i i i i i i i i";
-        ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
-                          "x x x x x x x x x x x x x o o o";
-
-        write           = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
-                          "x x x x x x x x x x x x x i i i";
-        ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
-                          "x x x x x x x x x x o o o o o o";
-
-        write           = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
-                          "x x x x x x x x 1 1 i i i i i i";
-        ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
-                          "0 0 0 0 0 0 0 0 o o o o o o o o";
-        ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
-                          "x x x x x x a1 a0 o o o o o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 256;
+		;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = " 0 0 1 0 0 0 0 0",
+						  " 0 0 0 a12 a11 a10 a9 a8",
+						  " a7 a6 a5 a4 a3 a2 a1 a0",
+						  " o o o o o o o o";
+
+		read_hi          = " 0 0 1 0 1 0 0 0",
+						   " 0 0 0 a12 a11 a10 a9 a8",
+						   " a7 a6 a5 a4 a3 a2 a1 a0",
+						   " o o o o o o o o";
+
+		loadpage_lo     = " 0 1 0 0 0 0 0 0",
+						  " 0 0 0 x x x x x",
+						  " x x a5 a4 a3 a2 a1 a0",
+						  " i i i i i i i i";
+
+		loadpage_hi     = " 0 1 0 0 1 0 0 0",
+						  " 0 0 0 x x x x x",
+						  " x x a5 a4 a3 a2 a1 a0",
+						  " i i i i i i i i";
+
+		writepage       = " 0 1 0 0 1 1 0 0",
+						  " 0 0 0 a12 a11 a10 a9 a8",
+						  " a7 a6 x x x x x x",
+						  " x x x x x x x x";
+
+		mode        = 0x41;
+		delay       = 6;
+		blocksize   = 128;
+		readsize    = 256;
+
+		;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
+						  "x x x x x x x x o o o o o o o o";
+
+		write           = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
+						  "x x x x x x x x i i i i i i i i";
+		;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
+						  "x x x x x x x x o o o o o o o o";
+
+		write           = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
+						  "x x x x x x x x i i i i i i i i";
+		;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
+						  "x x x x x x x x x x x x x o o o";
+
+		write           = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
+						  "x x x x x x x x x x x x x i i i";
+		;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
+						  "x x x x x x x x x x o o o o o o";
+
+		write           = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
+						  "x x x x x x x x 1 1 i i i i i i";
+		;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
+						  "0 0 0 0 0 0 0 0 o o o o o o o o";
+		;
+
+	memory "signature"
+		size            = 3;
+		read            = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
+						  "x x x x x x a1 a0 o o o o o o o o";
+		;
 ;
 
 #------------------------------------------------------------
@@ -8359,185 +8359,185 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "t88";
-    desc             = "attiny88";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-    stk500_devcode   = 0x73;
+	id               = "t88";
+	desc             = "attiny88";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	stk500_devcode   = 0x73;
 #    avr910_devcode   = 0x;
-    signature        = 0x1e 0x93 0x11;
-    pagel            = 0xd7;
-    bs2              = 0xc2;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
+	signature        = 0x1e 0x93 0x11;
+	pagel            = 0xd7;
+	bs2              = 0xc2;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        page_size       = 4;
-        size            = 64;
-        min_write_delay = 3600;
-        max_write_delay = 3600;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		page_size       = 4;
+		size            = 64;
+		min_write_delay = 3600;
+		max_write_delay = 3600;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 64;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x x x i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
-                          "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 64;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x x x i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
+						  "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -8545,100 +8545,100 @@ part
 #------------------------------------------------------------
 
 part
-    id			= "m328p";
-    desc		= "ATMEGA328P";
-    has_debugwire	= yes;
-    flash_instr		= 0xB6, 0x01, 0x11;
-    eeprom_instr	= 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+	id          = "m328p";
+	desc        = "ATMEGA328P";
+	has_debugwire   = yes;
+	flash_instr     = 0xB6, 0x01, 0x11;
+	eeprom_instr    = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
 			  0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
 			  0x99, 0xF9, 0xBB, 0xAF;
-    stk500_devcode	= 0x86;
-    # avr910_devcode	= 0x;
-    signature		= 0x1e 0x95 0x0F;
-    pagel		= 0xd7;
-    bs2			= 0xc2;
-    chip_erase_delay	= 9000;
-    pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
+	stk500_devcode  = 0x86;
+	# avr910_devcode    = 0x;
+	signature       = 0x1e 0x95 0x0F;
+	pagel       = 0xd7;
+	bs2         = 0xc2;
+	chip_erase_delay    = 9000;
+	pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
 		 "x x x x x x x x x x x x x x x x";
 
-    chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
+	chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
 		 "x x x x x x x x x x x x x x x x";
 
-    timeout	= 200;
-    stabdelay	= 100;
-    cmdexedelay	= 25;
-    synchloops	= 32;
-    bytedelay	= 0;
-    pollindex	= 3;
-    pollvalue	= 0x53;
-    predelay	= 1;
-    postdelay	= 1;
-    pollmethod	= 1;
-
-    pp_controlstack =
+	timeout = 200;
+	stabdelay   = 100;
+	cmdexedelay = 25;
+	synchloops  = 32;
+	bytedelay   = 0;
+	pollindex   = 3;
+	pollvalue   = 0x53;
+	predelay    = 1;
+	postdelay   = 1;
+	pollmethod  = 1;
+
+	pp_controlstack =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay	= 100;
-    progmodedelay	= 0;
-    latchcycles		= 5;
-    togglevtg		= 1;
-    poweroffdelay	= 15;
-    resetdelayms	= 1;
-    resetdelayus	= 0;
-    hvleavestabdelay	= 15;
-    resetdelay		= 15;
-    chiperasepulsewidth	= 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-	paged		= no;
-	page_size	= 4;
-	size		= 1024;
+	hventerstabdelay    = 100;
+	progmodedelay   = 0;
+	latchcycles     = 5;
+	togglevtg       = 1;
+	poweroffdelay   = 15;
+	resetdelayms    = 1;
+	resetdelayus    = 0;
+	hvleavestabdelay    = 15;
+	resetdelay      = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+	paged       = no;
+	page_size   = 4;
+	size        = 1024;
 	min_write_delay = 3600;
 	max_write_delay = 3600;
-	readback_p1	= 0xff;
-	readback_p2	= 0xff;
+	readback_p1 = 0xff;
+	readback_p2 = 0xff;
 	read = " 1 0 1 0 0 0 0 0",
-	       " 0 0 0 x x x a9 a8",
-	       " a7 a6 a5 a4 a3 a2 a1 a0",
-	       " o o o o o o o o";
+		   " 0 0 0 x x x a9 a8",
+		   " a7 a6 a5 a4 a3 a2 a1 a0",
+		   " o o o o o o o o";
 
 	write = " 1 1 0 0 0 0 0 0",
-	      	" 0 0 0 x x x a9 a8",
+			" 0 0 0 x x x a9 a8",
 		" a7 a6 a5 a4 a3 a2 a1 a0",
 		" i i i i i i i i";
 
 	loadpage_lo = " 1 1 0 0 0 0 0 1",
-		      " 0 0 0 0 0 0 0 0",
-		      " 0 0 0 0 0 0 a1 a0",
-		      " i i i i i i i i";
+			  " 0 0 0 0 0 0 0 0",
+			  " 0 0 0 0 0 0 a1 a0",
+			  " i i i i i i i i";
 
 	writepage = " 1 1 0 0 0 0 1 0",
-		    " 0 0 x x x x a9 a8",
-		    " a7 a6 a5 a4 a3 a2 0 0",
-		    " x x x x x x x x";
-
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-	paged		= yes;
-	size		= 32768;
-	page_size	= 128;
-	num_pages	= 256;
+			" 0 0 x x x x a9 a8",
+			" a7 a6 a5 a4 a3 a2 0 0",
+			" x x x x x x x x";
+
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 256;
+	;
+
+	memory "flash"
+	paged       = yes;
+	size        = 32768;
+	page_size   = 128;
+	num_pages   = 256;
 	min_write_delay = 4500;
 	max_write_delay = 4500;
-	readback_p1	= 0xff;
-	readback_p2	= 0xff;
+	readback_p1 = 0xff;
+	readback_p2 = 0xff;
 	read_lo = " 0 0 1 0 0 0 0 0",
 		  " 0 0 a13 a12 a11 a10 a9 a8",
 		  " a7 a6 a5 a4 a3 a2 a1 a0",
@@ -8650,82 +8650,82 @@ part
 		  " o o o o o o o o";
 
 	loadpage_lo = " 0 1 0 0 0 0 0 0",
-		      " 0 0 0 x x x x x",
-		      " x x a5 a4 a3 a2 a1 a0",
-		      " i i i i i i i i";
+			  " 0 0 0 x x x x x",
+			  " x x a5 a4 a3 a2 a1 a0",
+			  " i i i i i i i i";
 
 	loadpage_hi = " 0 1 0 0 1 0 0 0",
-		      " 0 0 0 x x x x x",
-		      " x x a5 a4 a3 a2 a1 a0",
-		      " i i i i i i i i";
+			  " 0 0 0 x x x x x",
+			  " x x a5 a4 a3 a2 a1 a0",
+			  " i i i i i i i i";
 
 	writepage = " 0 1 0 0 1 1 0 0",
-		    " 0 0 a13 a12 a11 a10 a9 a8",
-		    " a7 a6 x x x x x x",
-		    " x x x x x x x x";
+			" 0 0 a13 a12 a11 a10 a9 a8",
+			" a7 a6 x x x x x x",
+			" x x x x x x x x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
 
-    ;
+	;
 
-    memory "lfuse"
+	memory "lfuse"
 	size = 1;
 	min_write_delay = 4500;
 	max_write_delay = 4500;
 	read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
-	       "x x x x x x x x o o o o o o o o";
+		   "x x x x x x x x o o o o o o o o";
 
 	write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
-	      	"x x x x x x x x i i i i i i i i";
-    ;
+			"x x x x x x x x i i i i i i i i";
+	;
 
-    memory "hfuse"
+	memory "hfuse"
 	size = 1;
 	min_write_delay = 4500;
 	max_write_delay = 4500;
 	read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
-	       "x x x x x x x x o o o o o o o o";
+		   "x x x x x x x x o o o o o o o o";
 
 	write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
-	      	"x x x x x x x x i i i i i i i i";
-    ;
+			"x x x x x x x x i i i i i i i i";
+	;
 
-    memory "efuse"
+	memory "efuse"
 	size = 1;
 	min_write_delay = 4500;
 	max_write_delay = 4500;
 	read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
-	       "x x x x x x x x x x x x x o o o";
+		   "x x x x x x x x x x x x x o o o";
 
 	write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
-	      	"x x x x x x x x x x x x x i i i";
-    ;
+			"x x x x x x x x x x x x x i i i";
+	;
 
-    memory "lock"
+	memory "lock"
 	size = 1;
 	min_write_delay = 4500;
 	max_write_delay = 4500;
 	read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
-	       "x x x x x x x x x x o o o o o o";
+		   "x x x x x x x x x x o o o o o o";
 
 	write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
-	      	"x x x x x x x x 1 1 i i i i i i";
-    ;
+			"x x x x x x x x 1 1 i i i i i i";
+	;
 
-    memory "calibration"
+	memory "calibration"
 	size = 1;
 	read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
-	       "0 0 0 0 0 0 0 0 o o o o o o o o";
-    ;
+		   "0 0 0 0 0 0 0 0 o o o o o o o o";
+	;
 
-    memory "signature"
+	memory "signature"
 	size = 3;
 	read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
-	       "x x x x x x a1 a0 o o o o o o o o";
-    ;
+		   "x x x x x x a1 a0 o o o o o o o o";
+	;
 ;
 
 #------------------------------------------------------------
@@ -8733,186 +8733,186 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t2313";
-     desc          = "ATtiny2313";
-     has_debugwire = yes;
-     flash_instr   = 0xB2, 0x0F, 0x1F;
-     eeprom_instr  = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
-     stk500_devcode   = 0x23;
+	 id            = "t2313";
+	 desc          = "ATtiny2313";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB2, 0x0F, 0x1F;
+	 eeprom_instr  = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
+	 stk500_devcode   = 0x23;
 ##   Use the ATtiny26 devcode:
-     avr910_devcode   = 0x5e;
-     signature        = 0x1e 0x91 0x0a;
-     pagel            = 0xD4;
-     bs2              = 0xD6;
-     reset            = io;
-     chip_erase_delay = 9000;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
-        0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
-        0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
-        0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-     memory "eeprom"
-         size            = 128;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x5e;
+	 signature        = 0x1e 0x91 0x0a;
+	 pagel            = 0xD4;
+	 bs2              = 0xD6;
+	 reset            = io;
+	 chip_erase_delay = 9000;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
+		0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
+		0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
+		0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	 memory "eeprom"
+		 size            = 128;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 2048;
-         page_size       = 32;
-         num_pages       = 64;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 2048;
+		 page_size       = 32;
+		 num_pages       = 64;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
 
 # The information in the data sheet of April/2004 is wrong, this works:
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
 
 # The information in the data sheet of April/2004 is wrong, this works:
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
 
 # The information in the data sheet of April/2004 is wrong, this works:
-         writepage       = "  0  1  0  0   1  1  0  0",
-                           "  0  0  0  0   0  0 a9 a8",
-                           " a7 a6 a5 a4   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+		 writepage       = "  0  1  0  0   1  1  0  0",
+						   "  0  0  0  0   0  0 a9 a8",
+						   " a7 a6 a5 a4   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-         read           = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  x x o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+		 read           = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  x x o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
 # The Tiny2313 has calibration data for both 4 MHz and 8 MHz.
 # The information in the data sheet of April/2004 is wrong, this works:
 
-     memory "calibration"
-         size            = 2;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "calibration"
+		 size            = 2;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -8920,181 +8920,181 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "pwm2";
-     desc          = "AT90PWM2";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-     stk500_devcode   = 0x65;
+	 id            = "pwm2";
+	 desc          = "AT90PWM2";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	 stk500_devcode   = 0x65;
 ##  avr910_devcode   = ?;
-     signature        = 0x1e 0x93 0x81;
-     pagel            = 0xD8;
-     bs2              = 0xE2;
-     reset            = io;
-     chip_erase_delay = 9000;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 signature        = 0x1e 0x93 0x81;
+	 pagel            = 0xD8;
+	 bs2              = 0xE2;
+	 reset            = io;
+	 chip_erase_delay = 9000;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0   0",
-                           "  0  0  0  0   a11 a10 a9  a8",
-                           " a7 a6 a5  x   x   x   x   x",
-                           "  x  x  x  x   x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0   0",
+						   "  0  0  0  0   a11 a10 a9  a8",
+						   " a7 a6 a5  x   x   x   x   x",
+						   "  x  x  x  x   x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	   ;
 #   AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  x x o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  0    o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  x x o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9104,181 +9104,181 @@ part
 # Completely identical to AT90PWM2 (including the signature!)
 
 part
-     id            = "pwm3";
-     desc          = "AT90PWM3";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-     stk500_devcode   = 0x65;
+	 id            = "pwm3";
+	 desc          = "AT90PWM3";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	 stk500_devcode   = 0x65;
 ##  avr910_devcode   = ?;
-     signature        = 0x1e 0x93 0x81;
-     pagel            = 0xD8;
-     bs2              = 0xE2;
-     reset            = io;
-     chip_erase_delay = 9000;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 signature        = 0x1e 0x93 0x81;
+	 pagel            = 0xD8;
+	 bs2              = 0xE2;
+	 reset            = io;
+	 chip_erase_delay = 9000;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0   0",
-                           "  0  0  0  0   a11 a10 a9  a8",
-                           " a7 a6 a5  x   x   x   x   x",
-                           "  x  x  x  x   x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0   0",
+						   "  0  0  0  0   a11 a10 a9  a8",
+						   " a7 a6 a5  x   x   x   x   x",
+						   "  x  x  x  x   x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	   ;
 #   AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  x x o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  0    o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  x x o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9287,180 +9287,180 @@ part
 # Same as AT90PWM2 but different signature.
 
 part
-     id            = "pwm2b";
-     desc          = "AT90PWM2B";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-     stk500_devcode   = 0x65;
+	 id            = "pwm2b";
+	 desc          = "AT90PWM2B";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	 stk500_devcode   = 0x65;
 ##  avr910_devcode   = ?;
-     signature        = 0x1e 0x93 0x83;
-     pagel            = 0xD8;
-     bs2              = 0xE2;
-     reset            = io;
-     chip_erase_delay = 9000;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 signature        = 0x1e 0x93 0x83;
+	 pagel            = 0xD8;
+	 bs2              = 0xE2;
+	 reset            = io;
+	 chip_erase_delay = 9000;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0   0",
-                           "  0  0  0  0   a11 a10 a9  a8",
-                           " a7 a6 a5  x   x   x   x   x",
-                           "  x  x  x  x   x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-       ;
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  x x o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  0    o o o o  o o o o";
-     ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0   0",
+						   "  0  0  0  0   a11 a10 a9  a8",
+						   " a7 a6 a5  x   x   x   x   x",
+						   "  x  x  x  x   x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	   ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  x x o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9470,180 +9470,180 @@ part
 # Completely identical to AT90PWM2B (including the signature!)
 
 part
-     id            = "pwm3b";
-     desc          = "AT90PWM3B";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-     stk500_devcode   = 0x65;
+	 id            = "pwm3b";
+	 desc          = "AT90PWM3B";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	 stk500_devcode   = 0x65;
 ##  avr910_devcode   = ?;
-     signature        = 0x1e 0x93 0x83;
-     pagel            = 0xD8;
-     bs2              = 0xE2;
-     reset            = io;
-     chip_erase_delay = 9000;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 signature        = 0x1e 0x93 0x83;
+	 pagel            = 0xD8;
+	 bs2              = 0xE2;
+	 reset            = io;
+	 chip_erase_delay = 9000;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0   0",
-                           "  0  0  0  0   a11 a10 a9  a8",
-                           " a7 a6 a5  x   x   x   x   x",
-                           "  x  x  x  x   x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-       ;
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  x x o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  0    o o o o  o o o o";
-     ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0   0",
+						   "  0  0  0  0   a11 a10 a9  a8",
+						   " a7 a6 a5  x   x   x   x   x",
+						   "  x  x  x  x   x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	   ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  x x o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9651,179 +9651,179 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t25";
-     desc          = "ATtiny25";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x02, 0x12;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	 id            = "t25";
+	 desc          = "ATtiny25";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x02, 0x12;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 ## no STK500 devcode in XML file, use the ATtiny45 one
-     stk500_devcode   = 0x14;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x91 0x08;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 128;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x91 0x08;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 128;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 2048;
-         page_size       = 32;
-         num_pages       = 64;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1  1  0  0",
-                           "  0  0  0  0   0  0 a9 a8",
-                           " a7 a6 a5 a4   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 2048;
+		 page_size       = 32;
+		 num_pages       = 64;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1  1  0  0",
+						   "  0  0  0  0   0  0 a9 a8",
+						   " a7 a6 a5 a4   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny25 has Signature Bytes: 0x1E 0x91 0x08.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 2;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 2;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9831,178 +9831,178 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t45";
-     desc          = "ATtiny45";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x02, 0x12;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
-     stk500_devcode   = 0x14;
+	 id            = "t45";
+	 desc          = "ATtiny45";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x02, 0x12;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x92 0x06;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack     =
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x92 0x06;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack     =
 	0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 256;
-         page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 256;
+		 page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 4096;
-         page_size       = 64;
-         num_pages       = 64;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0    0  a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0    0  a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1  1  0  0",
-                           "  0  0  0  0   0 a10 a9 a8",
-                           " a7 a6 a5  x   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 4096;
+		 page_size       = 64;
+		 num_pages       = 64;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0    0  a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0    0  a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1  1  0  0",
+						   "  0  0  0  0   0 a10 a9 a8",
+						   " a7 a6 a5  x   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!)
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 2;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 2;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -10010,179 +10010,179 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t85";
-     desc          = "ATtiny85";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x02, 0x12;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	 id            = "t85";
+	 desc          = "ATtiny85";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x02, 0x12;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 ## no STK500 devcode in XML file, use the ATtiny45 one
-     stk500_devcode   = 0x14;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x93 0x0b;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x a8",
-                           "a8 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x93 0x0b;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x a8",
+						   "a8 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0  a11 a10  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0  a11 a10  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0  0",
-                           "  0  0  0  0  a11 a10 a9 a8",
-                           " a7 a6 a5  x   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0  a11 a10  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0  a11 a10  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0  0",
+						   "  0  0  0  0  a11 a10 a9 a8",
+						   " a7 a6 a5  x   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny85 has Signature Bytes: 0x1E 0x93 0x08.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 2;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 2;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -10191,187 +10191,187 @@ part
 # Almost same as ATmega1280, except for different memory sizes
 
 part
-    id               = "m640";
-    desc             = "ATMEGA640";
-    signature        = 0x1e 0x96 0x08;
-    has_jtag         = yes;
+	id               = "m640";
+	desc             = "ATMEGA640";
+	signature        = 0x1e 0x96 0x08;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -10379,187 +10379,187 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m1280";
-    desc             = "ATMEGA1280";
-    signature        = 0x1e 0x97 0x03;
-    has_jtag         = yes;
+	id               = "m1280";
+	desc             = "ATMEGA1280";
+	signature        = 0x1e 0x97 0x03;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -10568,187 +10568,187 @@ part
 # Identical to ATmega1280
 
 part
-    id               = "m1281";
-    desc             = "ATMEGA1281";
-    signature        = 0x1e 0x97 0x04;
-    has_jtag         = yes;
+	id               = "m1281";
+	desc             = "ATMEGA1281";
+	signature        = 0x1e 0x97 0x04;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -10756,192 +10756,192 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m2560";
-    desc             = "ATMEGA2560";
-    signature        = 0x1e 0x98 0x01;
-    has_jtag         = yes;
+	id               = "m2560";
+	desc             = "ATMEGA2560";
+	signature        = 0x1e 0x98 0x01;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 262144;
-        page_size       = 256;
-        num_pages       = 1024;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-        load_ext_addr   = "  0   1   0   0      1   1   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0 a16",
-                          "  0   0   0   0      0   0   0   0";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 262144;
+		page_size       = 256;
+		num_pages       = 1024;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+		load_ext_addr   = "  0   1   0   0      1   1   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0 a16",
+						  "  0   0   0   0      0   0   0   0";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -10949,192 +10949,192 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m2561";
-    desc             = "ATMEGA2561";
-    signature        = 0x1e 0x98 0x02;
-    has_jtag         = yes;
+	id               = "m2561";
+	desc             = "ATMEGA2561";
+	signature        = 0x1e 0x98 0x02;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 262144;
-        page_size       = 256;
-        num_pages       = 1024;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-        load_ext_addr   = "  0   1   0   0      1   1   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0 a16",
-                          "  0   0   0   0      0   0   0   0";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 262144;
+		page_size       = 256;
+		num_pages       = 1024;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+		load_ext_addr   = "  0   1   0   0      1   1   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0 a16",
+						  "  0   0   0   0      0   0   0   0";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -11143,187 +11143,187 @@ part
 # Identical to ATmega2561 but half the ROM
 
 part
-    id               = "m128rfa1";
-    desc             = "ATMEGA128RFA1";
-    signature        = 0x1e 0xa7 0x01;
-    has_jtag         = yes;
+	id               = "m128rfa1";
+	desc             = "ATMEGA128RFA1";
+	signature        = 0x1e 0xa7 0x01;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xE2;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xE2;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -11331,181 +11331,181 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t24";
-     desc          = "ATtiny24";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x07, 0x17;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	 id            = "t24";
+	 desc          = "ATtiny24";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x07, 0x17;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 ## no STK500 devcode in XML file, use the ATtiny45 one
-     stk500_devcode   = 0x14;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x91 0x0b;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 70;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 128;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x91 0x0b;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 70;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 128;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 2048;
-         page_size       = 32;
-         num_pages       = 64;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1  1  0  0",
-                           "  0  0  0  0   0  0 a9 a8",
-                           " a7 a6 a5 a4   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 2048;
+		 page_size       = 32;
+		 num_pages       = 64;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1  1  0  0",
+						   "  0  0  0  0   0  0 a9 a8",
+						   " a7 a6 a5 a4   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  x x x x  x x i i";
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "0 0 0 0  0 0 0 0  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  x x x x  x x i i";
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "0 0 0 0  0 0 0 0  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -11513,181 +11513,181 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t44";
-     desc          = "ATtiny44";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x07, 0x17;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-                     0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
-                     0x99, 0xE1, 0xBB, 0xAC;
+	 id            = "t44";
+	 desc          = "ATtiny44";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x07, 0x17;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+					 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
+					 0x99, 0xE1, 0xBB, 0xAC;
 ## no STK500 devcode in XML file, use the ATtiny45 one
-     stk500_devcode   = 0x14;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x92 0x07;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 70;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 256;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x92 0x07;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 70;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 256;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 4096;
-         page_size       = 64;
-         num_pages       = 64;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0    0  a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0    0  a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1  1  0  0",
-                           "  0  0  0  0   0 a10 a9 a8",
-                           " a7 a6 a5  x   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 4096;
+		 page_size       = 64;
+		 num_pages       = 64;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0    0  a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0    0  a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1  1  0  0",
+						   "  0  0  0  0   0 a10 a9 a8",
+						   " a7 a6 a5  x   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny44 has Signature Bytes: 0x1E 0x92 0x07.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  x x x x  x x i i";
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "0 0 0 0  0 0 0 0  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  x x x x  x x i i";
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "0 0 0 0  0 0 0 0  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -11695,182 +11695,182 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t84";
-     desc          = "ATtiny84";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x07, 0x17;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	 id            = "t84";
+	 desc          = "ATtiny84";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x07, 0x17;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 ## no STK500 devcode in XML file, use the ATtiny45 one
-     stk500_devcode   = 0x14;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x93 0x0c;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 70;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x a8",
-                           "a8 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x93 0x0c;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 70;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x a8",
+						   "a8 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0  a11 a10  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0  a11 a10  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0  0",
-                           "  0  0  0  0  a11 a10 a9 a8",
-                           " a7 a6 a5  x   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0  a11 a10  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0  a11 a10  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0  0",
+						   "  0  0  0  0  a11 a10 a9 a8",
+						   " a7 a6 a5  x   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  x x x x  x x i i";
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "0 0 0 0  0 0 0 0  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  x x x x  x x i i";
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "0 0 0 0  0 0 0 0  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -11878,187 +11878,187 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m32u4";
-    desc             = "ATmega32U4";
-    signature        = 0x1e 0x95 0x87;
-    has_jtag         = yes;
+	id               = "m32u4";
+	desc             = "ATmega32U4";
+	signature        = 0x1e 0x95 0x87;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -12066,187 +12066,187 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "usb646";
-    desc             = "AT90USB646";
-    signature        = 0x1e 0x96 0x82;
-    has_jtag         = yes;
+	id               = "usb646";
+	desc             = "AT90USB646";
+	signature        = 0x1e 0x96 0x82;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -12255,187 +12255,187 @@ part
 # identical to AT90USB646
 
 part
-    id               = "usb647";
-    desc             = "AT90USB647";
-    signature        = 0x1e 0x96 0x82;
-    has_jtag         = yes;
+	id               = "usb647";
+	desc             = "AT90USB647";
+	signature        = 0x1e 0x96 0x82;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -12443,187 +12443,187 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "usb1286";
-    desc             = "AT90USB1286";
-    signature        = 0x1e 0x97 0x82;
-    has_jtag         = yes;
+	id               = "usb1286";
+	desc             = "AT90USB1286";
+	signature        = 0x1e 0x97 0x82;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -12632,187 +12632,187 @@ part
 # identical to AT90USB1286
 
 part
-    id               = "usb1287";
-    desc             = "AT90USB1287";
-    signature        = 0x1e 0x97 0x82;
-    has_jtag         = yes;
+	id               = "usb1287";
+	desc             = "AT90USB1287";
+	signature        = 0x1e 0x97 0x82;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -12821,179 +12821,179 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "usb162";
-    desc             = "AT90USB162";
-    has_jtag         = no;
-    has_debugwire    = yes;
-    signature        = 0x1e 0x94 0x82;
-    chip_erase_delay = 9000;
-    reset            = io;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-    pagel            = 0xD7;
-    bs2              = 0xC6;
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        num_pages       = 128;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	id               = "usb162";
+	desc             = "AT90USB162";
+	has_jtag         = no;
+	has_debugwire    = yes;
+	signature        = 0x1e 0x94 0x82;
+	chip_erase_delay = 9000;
+	reset            = io;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+	pagel            = 0xD7;
+	bs2              = 0xC6;
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		num_pages       = 128;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2   0   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 4;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 4;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -13005,179 +13005,179 @@ part
 #        num_pages       = 64;
 
 part
-    id               = "usb82";
-    desc             = "AT90USB82";
-    has_jtag         = no;
-    has_debugwire    = yes;
-    signature        = 0x1e 0x93 0x82;
-    chip_erase_delay = 9000;
-    reset            = io;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-    pagel            = 0xD7;
-    bs2              = 0xC6;
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        num_pages       = 128;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	id               = "usb82";
+	desc             = "AT90USB82";
+	has_jtag         = no;
+	has_debugwire    = yes;
+	signature        = 0x1e 0x93 0x82;
+	chip_erase_delay = 9000;
+	reset            = io;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+	pagel            = 0xD7;
+	bs2              = 0xC6;
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		num_pages       = 128;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2   0   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 4;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 128;
-        num_pages       = 64;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 4;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 128;
+		num_pages       = 64;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -13185,188 +13185,188 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m325";
-    desc             = "ATMEGA325";
-    signature        = 0x1e 0x95 0x05;
-    has_jtag         = yes;
+	id               = "m325";
+	desc             = "ATMEGA325";
+	signature        = 0x1e 0x95 0x05;
+	has_jtag         = yes;
 #   stk500_devcode   = 0x??; # No STK500v1 support?
 #   avr910_devcode   = 0x??; # Try the ATmega16 one
-    avr910_devcode   = 0x74;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    timeout             = 200;
-    stabdelay           = 100;
-    cmdexedelay         = 25;
-    synchloops          = 32;
-    bytedelay           = 0;
-    pollindex           = 3;
-    pollvalue           = 0x53;
-    predelay            = 1;
-    postdelay           = 1;
-    pollmethod          = 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_lo     = "  1   1   0   0      0   0   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2   0   0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 4;
-        readsize        = 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 128;
-        readsize        = 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
-                          "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	avr910_devcode   = 0x74;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	timeout             = 200;
+	stabdelay           = 100;
+	cmdexedelay         = 25;
+	synchloops          = 32;
+	bytedelay           = 0;
+	pollindex           = 3;
+	pollvalue           = 0x53;
+	predelay            = 1;
+	postdelay           = 1;
+	pollmethod          = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_lo     = "  1   1   0   0      0   0   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2   0   0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 4;
+		readsize        = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 128;
+		readsize        = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
+						  "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 #------------------------------------------------------------
@@ -13374,188 +13374,188 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m645";
-    desc             = "ATMEGA645";
-    signature        = 0x1E 0x96 0x05;
-    has_jtag         = yes;
+	id               = "m645";
+	desc             = "ATMEGA645";
+	signature        = 0x1E 0x96 0x05;
+	has_jtag         = yes;
 #   stk500_devcode   = 0x??; # No STK500v1 support?
 #   avr910_devcode   = 0x??; # Try the ATmega16 one
-    avr910_devcode   = 0x74;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    timeout             = 200;
-    stabdelay           = 100;
-    cmdexedelay         = 25;
-    synchloops          = 32;
-    bytedelay           = 0;
-    pollindex           = 3;
-    pollvalue           = 0x53;
-    predelay            = 1;
-    postdelay           = 1;
-    pollmethod          = 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_lo     = "  1   1   0   0      0   0   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3   0   0   0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 8;
-        readsize        = 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "   0   0   1   0      0   0   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   o   o   o   o      o   o   o   o";
-
-        read_hi         = "   0   0   1   0      1   0   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          "  a7 a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          "  a7 a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "   0   1   0   0      1   1   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   0   0   0   0      0   0   0   0";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 128;
-        readsize        = 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
-                          "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	avr910_devcode   = 0x74;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	timeout             = 200;
+	stabdelay           = 100;
+	cmdexedelay         = 25;
+	synchloops          = 32;
+	bytedelay           = 0;
+	pollindex           = 3;
+	pollvalue           = 0x53;
+	predelay            = 1;
+	postdelay           = 1;
+	pollmethod          = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_lo     = "  1   1   0   0      0   0   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3   0   0   0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 8;
+		readsize        = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "   0   0   1   0      0   0   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   o   o   o   o      o   o   o   o";
+
+		read_hi         = "   0   0   1   0      1   0   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  "  a7 a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  "  a7 a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "   0   1   0   0      1   1   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   0   0   0   0      0   0   0   0";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 128;
+		readsize        = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
+						  "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 #------------------------------------------------------------
@@ -13563,188 +13563,188 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m3250";
-    desc             = "ATMEGA3250";
-    signature        = 0x1E 0x95 0x06;
-    has_jtag         = yes;
+	id               = "m3250";
+	desc             = "ATMEGA3250";
+	signature        = 0x1E 0x95 0x06;
+	has_jtag         = yes;
 #   stk500_devcode   = 0x??; # No STK500v1 support?
 #   avr910_devcode   = 0x??; # Try the ATmega16 one
-    avr910_devcode   = 0x74;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    timeout             = 200;
-    stabdelay           = 100;
-    cmdexedelay         = 25;
-    synchloops          = 32;
-    bytedelay           = 0;
-    pollindex           = 3;
-    pollvalue           = 0x53;
-    predelay            = 1;
-    postdelay           = 1;
-    pollmethod          = 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_lo     = "  1   1   0   0      0   0   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2   0   0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 4;
-        readsize        = 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 128;
-        readsize        = 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
-                          "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	avr910_devcode   = 0x74;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	timeout             = 200;
+	stabdelay           = 100;
+	cmdexedelay         = 25;
+	synchloops          = 32;
+	bytedelay           = 0;
+	pollindex           = 3;
+	pollvalue           = 0x53;
+	predelay            = 1;
+	postdelay           = 1;
+	pollmethod          = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_lo     = "  1   1   0   0      0   0   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2   0   0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 4;
+		readsize        = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 128;
+		readsize        = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
+						  "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 #------------------------------------------------------------
@@ -13752,188 +13752,188 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m6450";
-    desc             = "ATMEGA6450";
-    signature        = 0x1E 0x96 0x06;
-    has_jtag         = yes;
+	id               = "m6450";
+	desc             = "ATMEGA6450";
+	signature        = 0x1E 0x96 0x06;
+	has_jtag         = yes;
 #   stk500_devcode   = 0x??; # No STK500v1 support?
 #   avr910_devcode   = 0x??; # Try the ATmega16 one
-    avr910_devcode   = 0x74;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    timeout             = 200;
-    stabdelay           = 100;
-    cmdexedelay         = 25;
-    synchloops          = 32;
-    bytedelay           = 0;
-    pollindex           = 3;
-    pollvalue           = 0x53;
-    predelay            = 1;
-    postdelay           = 1;
-    pollmethod          = 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_lo     = "  1   1   0   0      0   0   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3   0   0   0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 4;
-        readsize        = 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "   0   0   1   0      0   0   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   o   o   o   o      o   o   o   o";
-
-        read_hi         = "   0   0   1   0      1   0   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          "  a7 a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          "  a7 a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "   0   1   0   0      1   1   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   0   0   0   0      0   0   0   0";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 128;
-        readsize        = 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
-                          "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	avr910_devcode   = 0x74;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	timeout             = 200;
+	stabdelay           = 100;
+	cmdexedelay         = 25;
+	synchloops          = 32;
+	bytedelay           = 0;
+	pollindex           = 3;
+	pollvalue           = 0x53;
+	predelay            = 1;
+	postdelay           = 1;
+	pollmethod          = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_lo     = "  1   1   0   0      0   0   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3   0   0   0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 4;
+		readsize        = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "   0   0   1   0      0   0   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   o   o   o   o      o   o   o   o";
+
+		read_hi         = "   0   0   1   0      1   0   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  "  a7 a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  "  a7 a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "   0   1   0   0      1   1   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   0   0   0   0      0   0   0   0";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 128;
+		readsize        = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
+						  "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 #------------------------------------------------------------
@@ -13941,96 +13941,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x64a1";
-    desc	= "ATXMEGA64A1";
-    signature	= 0x1e 0x96 0x4e;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00010000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00001000;
-        offset		= 0x0080f000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00001000;
-        offset		= 0x00810000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00011000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x64a1";
+	desc    = "ATXMEGA64A1";
+	signature   = 0x1e 0x96 0x4e;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00010000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00001000;
+		offset      = 0x0080f000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00001000;
+		offset      = 0x00810000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00011000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14038,96 +14038,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x128a1";
-    desc	= "ATXMEGA128A1";
-    signature	= 0x1e 0x97 0x4c;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00020000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0081e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00820000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00022000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x128a1";
+	desc    = "ATXMEGA128A1";
+	signature   = 0x1e 0x97 0x4c;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00020000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0081e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00820000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00022000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14135,96 +14135,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x128a1d";
-    desc	= "ATXMEGA128A1REVD";
-    signature	= 0x1e 0x97 0x41;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00020000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0081e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00820000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00022000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x128a1d";
+	desc    = "ATXMEGA128A1REVD";
+	signature   = 0x1e 0x97 0x41;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00020000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0081e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00820000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00022000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14232,96 +14232,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x192a1";
-    desc	= "ATXMEGA192A1";
-    signature	= 0x1e 0x97 0x4e;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00030000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0082e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00830000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00032000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x192a1";
+	desc    = "ATXMEGA192A1";
+	signature   = 0x1e 0x97 0x4e;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00030000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0082e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00830000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00032000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14329,96 +14329,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x256a1";
-    desc	= "ATXMEGA256A1";
-    signature	= 0x1e 0x98 0x46;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x1000;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00040000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0083e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00840000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00042000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x256a1";
+	desc    = "ATXMEGA256A1";
+	signature   = 0x1e 0x98 0x46;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x1000;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00040000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0083e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00840000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00042000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14426,96 +14426,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x64a3";
-    desc	= "ATXMEGA64A3";
-    signature	= 0x1e 0x96 0x42;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00010000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00001000;
-        offset		= 0x0080f000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00001000;
-        offset		= 0x00810000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00011000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x64a3";
+	desc    = "ATXMEGA64A3";
+	signature   = 0x1e 0x96 0x42;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00010000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00001000;
+		offset      = 0x0080f000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00001000;
+		offset      = 0x00810000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00011000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14523,96 +14523,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x128a3";
-    desc	= "ATXMEGA128A3";
-    signature	= 0x1e 0x97 0x42;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00020000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0081e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00820000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00022000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x128a3";
+	desc    = "ATXMEGA128A3";
+	signature   = 0x1e 0x97 0x42;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00020000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0081e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00820000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00022000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14620,96 +14620,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x192a3";
-    desc	= "ATXMEGA192A3";
-    signature	= 0x1e 0x97 0x44;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00030000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0082e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00830000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00032000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x192a3";
+	desc    = "ATXMEGA192A3";
+	signature   = 0x1e 0x97 0x44;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00030000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0082e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00830000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00032000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14717,96 +14717,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x256a3";
-    desc	= "ATXMEGA256A3";
-    signature	= 0x1e 0x98 0x42;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x1000;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00040000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0083e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00840000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00042000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x256a3";
+	desc    = "ATXMEGA256A3";
+	signature   = 0x1e 0x98 0x42;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x1000;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00040000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0083e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00840000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00042000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14814,96 +14814,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x256a3b";
-    desc	= "ATXMEGA256A3B";
-    signature	= 0x1e 0x98 0x43;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x1000;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00040000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0083e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00840000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00042000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x256a3b";
+	desc    = "ATXMEGA256A3B";
+	signature   = 0x1e 0x98 0x43;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x1000;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00040000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0083e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00840000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00042000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14911,96 +14911,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x16a4";
-    desc	= "ATXMEGA16A4";
-    signature	= 0x1e 0x94 0x41;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0400;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00004000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00001000;
-        offset		= 0x00803000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00001000;
-        offset		= 0x00804000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00005000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x16a4";
+	desc    = "ATXMEGA16A4";
+	signature   = 0x1e 0x94 0x41;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0400;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00004000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00001000;
+		offset      = 0x00803000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00001000;
+		offset      = 0x00804000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00005000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -15008,96 +15008,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x32a4";
-    desc	= "ATXMEGA32A4";
-    signature	= 0x1e 0x95 0x41;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0400;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00008000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00001000;
-        offset		= 0x00807000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00001000;
-        offset		= 0x00808000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00009000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x32a4";
+	desc    = "ATXMEGA32A4";
+	signature   = 0x1e 0x95 0x41;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0400;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00008000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00001000;
+		offset      = 0x00807000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00001000;
+		offset      = 0x00808000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00009000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -15105,96 +15105,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x64a4";
-    desc	= "ATXMEGA64A4";
-    signature	= 0x1e 0x96 0x46;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00010000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00001000;
-        offset		= 0x0080f000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00001000;
-        offset		= 0x00810000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00011000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x64a4";
+	desc    = "ATXMEGA64A4";
+	signature   = 0x1e 0x96 0x46;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00010000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00001000;
+		offset      = 0x0080f000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00001000;
+		offset      = 0x00810000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00011000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -15202,96 +15202,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x128a4";
-    desc	= "ATXMEGA128A4";
-    signature	= 0x1e 0x97 0x46;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00020000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0081e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00820000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00022000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x128a4";
+	desc    = "ATXMEGA128A4";
+	signature   = 0x1e 0x97 0x46;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00020000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0081e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00820000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00022000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 
@@ -15300,20 +15300,20 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "ucr2";
-    desc	= "32UC3A0512";
-    signature	= 0xED 0xC0 0x3F;
-    has_jtag	= yes;
-    is_avr32    = yes;
-
-    memory "flash"
-        paged           = yes;
-        page_size		= 512;               # bytes
-        readsize		= 512;				 # bytes
-        num_pages       = 1024;              # could be set dynamicly
-        size			= 0x00080000;		 # could be set dynamicly
-        offset			= 0x80000000;
-    ;
+	id      = "ucr2";
+	desc    = "32UC3A0512";
+	signature   = 0xED 0xC0 0x3F;
+	has_jtag    = yes;
+	is_avr32    = yes;
+
+	memory "flash"
+		paged           = yes;
+		page_size       = 512;               # bytes
+		readsize        = 512;               # bytes
+		num_pages       = 1024;              # could be set dynamicly
+		size            = 0x00080000;        # could be set dynamicly
+		offset          = 0x80000000;
+	;
 ;
 
 #------------------------------------------------------------
@@ -15321,38 +15321,38 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "t4";
-    desc	= "ATtiny4";
-    signature	= 0x1e 0x8f 0x0a;
-    has_tpi	= yes;
-
-    memory "flash"
-        size		= 512;
-        offset		= 0x4000;
-        page_size	= 16;
-        blocksize	= 128;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x3fc0;
-    ;
-
-    memory "fuse"
-        size		= 1;
-        offset		= 0x3f40;
-	blocksize	= 4;
-    ;
-
-    memory "calibration"
-        size		= 1;
-        offset		= 0x3f80;
-    ;
-
-    memory "lockbits"
-        size		= 1;
-        offset		= 0x3f00;
-    ;
+	id      = "t4";
+	desc    = "ATtiny4";
+	signature   = 0x1e 0x8f 0x0a;
+	has_tpi = yes;
+
+	memory "flash"
+		size        = 512;
+		offset      = 0x4000;
+		page_size   = 16;
+		blocksize   = 128;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x3fc0;
+	;
+
+	memory "fuse"
+		size        = 1;
+		offset      = 0x3f40;
+	blocksize   = 4;
+	;
+
+	memory "calibration"
+		size        = 1;
+		offset      = 0x3f80;
+	;
+
+	memory "lockbits"
+		size        = 1;
+		offset      = 0x3f00;
+	;
 ;
 
 
@@ -15361,38 +15361,38 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "t5";
-    desc	= "ATtiny5";
-    signature	= 0x1e 0x8f 0x09;
-    has_tpi	= yes;
-
-    memory "flash"
-        size		= 512;
-        offset		= 0x4000;
-        page_size	= 16;
-        blocksize	= 128;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x3fc0;
-    ;
-
-    memory "fuse"
-        size		= 1;
-        offset		= 0x3f40;
-	blocksize	= 4;
-    ;
-
-    memory "calibration"
-        size		= 1;
-        offset		= 0x3f80;
-    ;
-
-    memory "lockbits"
-        size		= 1;
-        offset		= 0x3f00;
-    ;
+	id      = "t5";
+	desc    = "ATtiny5";
+	signature   = 0x1e 0x8f 0x09;
+	has_tpi = yes;
+
+	memory "flash"
+		size        = 512;
+		offset      = 0x4000;
+		page_size   = 16;
+		blocksize   = 128;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x3fc0;
+	;
+
+	memory "fuse"
+		size        = 1;
+		offset      = 0x3f40;
+	blocksize   = 4;
+	;
+
+	memory "calibration"
+		size        = 1;
+		offset      = 0x3f80;
+	;
+
+	memory "lockbits"
+		size        = 1;
+		offset      = 0x3f00;
+	;
 ;
 
 
@@ -15401,38 +15401,38 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "t8";
-    desc	= "ATtiny9";
-    signature	= 0x1e 0x90 0x08;
-    has_tpi	= yes;
-
-    memory "flash"
-        size		= 1024;
-        offset		= 0x4000;
-        page_size	= 16;
-        blocksize	= 128;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x3fc0;
-    ;
-
-    memory "fuse"
-        size		= 1;
-        offset		= 0x3f40;
-	blocksize	= 4;
-    ;
-
-    memory "calibration"
-        size		= 1;
-        offset		= 0x3f80;
-    ;
-
-    memory "lockbits"
-        size		= 1;
-        offset		= 0x3f00;
-    ;
+	id      = "t8";
+	desc    = "ATtiny9";
+	signature   = 0x1e 0x90 0x08;
+	has_tpi = yes;
+
+	memory "flash"
+		size        = 1024;
+		offset      = 0x4000;
+		page_size   = 16;
+		blocksize   = 128;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x3fc0;
+	;
+
+	memory "fuse"
+		size        = 1;
+		offset      = 0x3f40;
+	blocksize   = 4;
+	;
+
+	memory "calibration"
+		size        = 1;
+		offset      = 0x3f80;
+	;
+
+	memory "lockbits"
+		size        = 1;
+		offset      = 0x3f00;
+	;
 ;
 
 
@@ -15441,38 +15441,38 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "t10";
-    desc	= "ATtiny10";
-    signature	= 0x1e 0x90 0x03;
-    has_tpi	= yes;
-
-    memory "flash"
-        size		= 1024;
-        offset		= 0x4000;
-        page_size	= 16;
-        blocksize	= 128;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x3fc0;
-    ;
-
-    memory "fuse"
-        size		= 1;
-        offset		= 0x3f40;
-	blocksize	= 4;
-    ;
-
-    memory "calibration"
-        size		= 1;
-        offset		= 0x3f80;
-    ;
-
-    memory "lockbits"
-        size		= 1;
-        offset		= 0x3f00;
-    ;
+	id      = "t10";
+	desc    = "ATtiny10";
+	signature   = 0x1e 0x90 0x03;
+	has_tpi = yes;
+
+	memory "flash"
+		size        = 1024;
+		offset      = 0x4000;
+		page_size   = 16;
+		blocksize   = 128;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x3fc0;
+	;
+
+	memory "fuse"
+		size        = 1;
+		offset      = 0x3f40;
+	blocksize   = 4;
+	;
+
+	memory "calibration"
+		size        = 1;
+		offset      = 0x3f80;
+	;
+
+	memory "lockbits"
+		size        = 1;
+		offset      = 0x3f00;
+	;
 ;
 
 
diff --git a/buildroot/share/vscode/avrdude_macOS.conf b/buildroot/share/vscode/avrdude_macOS.conf
index 6147a2259ac9..c3235eed2b76 100644
--- a/buildroot/share/vscode/avrdude_macOS.conf
+++ b/buildroot/share/vscode/avrdude_macOS.conf
@@ -240,8 +240,8 @@
 #define AT86RF401   0xD0
 
 #define AT89START   0xE0
-#define AT89S51	    0xE0
-#define AT89S52	    0xE1
+#define AT89S51     0xE0
+#define AT89S52     0xE1
 
 # The following table lists the devices in the original AVR910
 # appnote:
@@ -293,15 +293,15 @@
 # in the Internet.  These add the following codes (only devices that
 # actually exist are listed):
 
-# ATmega8515	0x3A
-# ATmega128	0x43
-# ATmega64	0x45
-# ATtiny26	0x5E
-# ATmega8535	0x69
-# ATmega32	0x72
-# ATmega16	0x74
-# ATmega8	0x76
-# ATmega169	0x78
+# ATmega8515    0x3A
+# ATmega128 0x43
+# ATmega64  0x45
+# ATtiny26  0x5E
+# ATmega8535    0x69
+# ATmega32  0x72
+# ATmega16  0x74
+# ATmega8   0x76
+# ATmega169 0x78
 
 #
 # Overall avrdude defaults
@@ -688,63 +688,63 @@ programmer
 # This is an HVSP-only device.
 
 part
-    id                  = "t11";
-    desc                = "ATtiny11";
-    stk500_devcode      = 0x11;
-    signature           = 0x1e 0x90 0x04;
-    chip_erase_delay    = 20000;
-
-    timeout		= 200;
-    hvsp_controlstack     =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
-        0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
-        0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 50;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-    memory "eeprom"
-        size            = 64;
-	blocksize	= 64;
-	readsize	= 256;
-	delay		= 5;
-    ;
-
-    memory "flash"
-        size            = 1024;
-	blocksize	= 128;
-	readsize	= 256;
-	delay		= 3;
-    ;
-
-    memory "signature"
-        size            = 3;
-    ;
-
-    memory "lock"
-        size            = 1;
-    ;
-
-    memory "calibration"
-        size            = 1;
-    ;
-
-    memory "fuse"
-        size            = 1;
-    ;
+	id                  = "t11";
+	desc                = "ATtiny11";
+	stk500_devcode      = 0x11;
+	signature           = 0x1e 0x90 0x04;
+	chip_erase_delay    = 20000;
+
+	timeout     = 200;
+	hvsp_controlstack     =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
+		0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
+		0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 50;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	memory "eeprom"
+		size            = 64;
+	blocksize   = 64;
+	readsize    = 256;
+	delay       = 5;
+	;
+
+	memory "flash"
+		size            = 1024;
+	blocksize   = 128;
+	readsize    = 256;
+	delay       = 3;
+	;
+
+	memory "signature"
+		size            = 3;
+	;
+
+	memory "lock"
+		size            = 1;
+	;
+
+	memory "calibration"
+		size            = 1;
+	;
+
+	memory "fuse"
+		size            = 1;
+	;
 ;
 
 #------------------------------------------------------------
@@ -752,132 +752,132 @@ part
 #------------------------------------------------------------
 
 part
-    id                  = "t12";
-    desc                = "ATtiny12";
-    stk500_devcode      = 0x12;
-    avr910_devcode      = 0x55;
-    signature           = 0x1e 0x90 0x05;
-    chip_erase_delay    = 20000;
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
-        0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
-        0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 50;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-    memory "eeprom"
-        size            = 64;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 8;
-	blocksize	= 64;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        size            = 1024;
-        min_write_delay = 4500;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0  0  1  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        read_hi         = "  0  0  1  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        write_lo        = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        write_hi        = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-	mode		= 0x04;
-	delay		= 5;
-	blocksize	= 128;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x o o x";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 i i 1",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-    ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0  0  0    o o o o  o o o o";
-    ;
-
-    memory "fuse"
-        size            = 1;
-        read            = "0  1  0  1   0  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    o o o o  o o o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 0 1 x  x x x x",
-                          "x  x  x  x   x  x  x  x    i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-    ;
+	id                  = "t12";
+	desc                = "ATtiny12";
+	stk500_devcode      = 0x12;
+	avr910_devcode      = 0x55;
+	signature           = 0x1e 0x90 0x05;
+	chip_erase_delay    = 20000;
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
+		0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
+		0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 50;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	memory "eeprom"
+		size            = 64;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 8;
+	blocksize   = 64;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		size            = 1024;
+		min_write_delay = 4500;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0  0  1  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		read_hi         = "  0  0  1  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		write_lo        = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		write_hi        = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+	mode        = 0x04;
+	delay       = 5;
+	blocksize   = 128;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x o o x";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 i i 1",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	;
+
+	memory "fuse"
+		size            = 1;
+		read            = "0  1  0  1   0  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    o o o o  o o o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 0 1 x  x x x x",
+						  "x  x  x  x   x  x  x  x    i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	;
 ;
 
 #------------------------------------------------------------
@@ -885,170 +885,170 @@ part
 #------------------------------------------------------------
 
 part
-    id                  = "t13";
-    desc                = "ATtiny13";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x0E, 0x1E;
-     eeprom_instr  = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
-    stk500_devcode      = 0x14;
-    signature           = 0x1e 0x90 0x07;
-    chip_erase_delay    = 4000;
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack     =
+	id                  = "t13";
+	desc                = "ATtiny13";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x0E, 0x1E;
+	 eeprom_instr  = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
+	stk500_devcode      = 0x14;
+	signature           = 0x1e 0x90 0x07;
+	chip_erase_delay    = 4000;
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack     =
 	0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 90;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-    memory "eeprom"
-        size            = 64;
-        page_size       = 4;
-        min_write_delay = 4000;
-        max_write_delay = 4000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 90;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	memory "eeprom"
+		size            = 64;
+		page_size       = 4;
+		min_write_delay = 4000;
+		max_write_delay = 4000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x   x  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 1024;
-        page_size       = 32;
-        num_pages       = 32;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0  0  1  0   0  0  0  0",
-                          "  0  0  0  0   0  0  0 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        read_hi         = "  0  0  1  0   1  0  0  0",
-                          "  0  0  0  0   0  0  0 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        loadpage_lo     = "  0  1  0  0   0  0  0  0",
-                          "  0  0  0  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        loadpage_hi     = "  0  1  0  0   1  0  0  0",
-                          "  0  0  0  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        writepage       = "  0  1  0  0   1  1  0  0",
-                          "  0  0  0  0   0  0  0 a8",
-                          " a7 a6 a5 a4   x  x  x  x",
-                          "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    0 0 0 x  x x x x",
-                          "x  x  x  x   x  x a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		paged           = yes;
+		size            = 1024;
+		page_size       = 32;
+		num_pages       = 32;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0  0  1  0   0  0  0  0",
+						  "  0  0  0  0   0  0  0 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		read_hi         = "  0  0  1  0   1  0  0  0",
+						  "  0  0  0  0   0  0  0 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		loadpage_lo     = "  0  1  0  0   0  0  0  0",
+						  "  0  0  0  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		loadpage_hi     = "  0  1  0  0   1  0  0  0",
+						  "  0  0  0  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		writepage       = "  0  1  0  0   1  1  0  0",
+						  "  0  0  0  0   0  0  0 a8",
+						  " a7 a6 a5 a4   x  x  x  x",
+						  "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    0 0 0 x  x x x x",
+						  "x  x  x  x   x  x a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
 
 	read            = "0  1  0  1   1  0  0  0    0 0 0 0  0 0 0 0",
-                          "x  x  x  x   x  x  x  x    x x o o  o o o o";
+						  "x  x  x  x   x  x  x  x    x x o o  o o o o";
 
-        write           = "1  0  1  0   1  1  0  0    1 1 1 x  x x x x",
-                          "x  x  x  x   x  x  x  x    1 1 i i  i i i i";
-    ;
+		write           = "1  0  1  0   1  1  0  0    1 1 1 x  x x x x",
+						  "x  x  x  x   x  x  x  x    1 1 i i  i i i i";
+	;
 
-    memory "calibration"
-        size            = 2;
-        read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                          "0  0  0  0   0  0  0 a0    o o o o  o o o o";
-    ;
+	memory "calibration"
+		size            = 2;
+		read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						  "0  0  0  0   0  0  0 a0    o o o o  o o o o";
+	;
 
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
 
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
 
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-      ;
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+	  ;
 
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
 
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
 
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-      ;
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+	  ;
 
 ;
 
@@ -1058,132 +1058,132 @@ part
 #------------------------------------------------------------
 
 part
-    id                  = "t15";
-    desc                = "ATtiny15";
-    stk500_devcode      = 0x13;
-    avr910_devcode      = 0x56;
-    signature           = 0x1e 0x90 0x06;
-    chip_erase_delay    = 8200;
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
-        0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
-        0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 5;
-    synchcycles         = 6;
-    latchcycles         = 16;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 50;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-    memory "eeprom"
-        size            = 64;
-        min_write_delay = 8200;
-        max_write_delay = 8200;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
-                          "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 64;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        size            = 1024;
-        min_write_delay = 4100;
-        max_write_delay = 4100;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0  0  1  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        read_hi         = "  0  0  1  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        write_lo        = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        write_hi        = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-	mode		= 0x04;
-	delay		= 5;
-	blocksize	= 128;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x o o x";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 i i 1",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-    ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0  0  0    o o o o  o o o o";
-    ;
-
-    memory "fuse"
-        size            = 1;
-        read            = "0  1  0  1   0  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    o o o o  x x o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 0 1 x  x x x x",
-                          "x  x  x  x   x  x  x  x    i i i i  1 1 i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-    ;
+	id                  = "t15";
+	desc                = "ATtiny15";
+	stk500_devcode      = 0x13;
+	avr910_devcode      = 0x56;
+	signature           = 0x1e 0x90 0x06;
+	chip_erase_delay    = 8200;
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
+		0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
+		0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 5;
+	synchcycles         = 6;
+	latchcycles         = 16;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 50;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	memory "eeprom"
+		size            = 64;
+		min_write_delay = 8200;
+		max_write_delay = 8200;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
+						  "x  x a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 64;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		size            = 1024;
+		min_write_delay = 4100;
+		max_write_delay = 4100;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0  0  1  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		read_hi         = "  0  0  1  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		write_lo        = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		write_hi        = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+	mode        = 0x04;
+	delay       = 5;
+	blocksize   = 128;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x o o x";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 i i 1",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	;
+
+	memory "fuse"
+		size            = 1;
+		read            = "0  1  0  1   0  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    o o o o  x x o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 0 1 x  x x x x",
+						  "x  x  x  x   x  x  x  x    i i i i  1 1 i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	;
 ;
 
 #------------------------------------------------------------
@@ -1191,114 +1191,114 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "1200";
-    desc             = "AT90S1200";
-    stk500_devcode   = 0x33;
-    avr910_devcode   = 0x13;
-    signature        = 0x1e 0x90 0x01;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 1;
-    bytedelay		= 0;
-    pollindex		= 0;
-    pollvalue		= 0xFF;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 64;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = "1 0  1  0   0  0  0  0   x x x x  x x x x",
-                          "x x a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = "1 1  0  0   0  0  0  0   x x x x  x x x x",
-                          "x x a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 20;
-	blocksize	= 32;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 1024;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x   x   x  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x   x   x  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x   x   x  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x   x   x  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x02;
-	delay		= 15;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-      ;
-    memory "lock"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
+	id               = "1200";
+	desc             = "AT90S1200";
+	stk500_devcode   = 0x33;
+	avr910_devcode   = 0x13;
+	signature        = 0x1e 0x90 0x01;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 1;
+	bytedelay       = 0;
+	pollindex       = 0;
+	pollvalue       = 0xFF;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 64;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = "1 0  1  0   0  0  0  0   x x x x  x x x x",
+						  "x x a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = "1 1  0  0   0  0  0  0   x x x x  x x x x",
+						  "x x a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 20;
+	blocksize   = 32;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 1024;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x   x   x  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x   x   x  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x   x   x  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x   x   x  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x02;
+	delay       = 15;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+	  ;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -1306,112 +1306,112 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "4414";
-    desc             = "AT90S4414";
-    stk500_devcode   = 0x50;
-    avr910_devcode   = 0x28;
-    signature        = 0x1e 0x92 0x01;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 256;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x80;
-        readback_p2     = 0x7f;
-        read            = " 1  0  1  0   0  0  0  0  x x x x  x x x a8",
-                          "a7 a6 a5 a4 a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x7f;
-        readback_p2     = 0x7f;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-	size		= 1;
-      ;
-    memory "lock"
-	size		= 1;
-	write		= "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
+	id               = "4414";
+	desc             = "AT90S4414";
+	stk500_devcode   = 0x50;
+	avr910_devcode   = 0x28;
+	signature        = 0x1e 0x92 0x01;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 256;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x80;
+		readback_p2     = 0x7f;
+		read            = " 1  0  1  0   0  0  0  0  x x x x  x x x a8",
+						  "a7 a6 a5 a4 a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x7f;
+		readback_p2     = 0x7f;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+	size        = 1;
+	  ;
+	memory "lock"
+	size        = 1;
+	write       = "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
 			  "x  x  x  x   x  x  x  x   x  x  x  x   x  x  x  x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -1419,112 +1419,112 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "2313";
-    desc             = "AT90S2313";
-    stk500_devcode   = 0x40;
-    avr910_devcode   = 0x20;
-    signature        = 0x1e 0x91 0x01;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 128;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x80;
-        readback_p2     = 0x7f;
-        read            = "1  0  1  0   0  0  0  0   x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0   x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 2048;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x7f;
-        readback_p2     = 0x7f;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-      ;
-    memory "lock"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 1 1 x  x i i x",
-                          "x x x x  x x x x  x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
+	id               = "2313";
+	desc             = "AT90S2313";
+	stk500_devcode   = 0x40;
+	avr910_devcode   = 0x20;
+	signature        = 0x1e 0x91 0x01;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 128;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x80;
+		readback_p2     = 0x7f;
+		read            = "1  0  1  0   0  0  0  0   x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0   x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 2048;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x7f;
+		readback_p2     = 0x7f;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+	  ;
+	memory "lock"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 1 1 x  x i i x",
+						  "x x x x  x x x x  x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -1532,126 +1532,126 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "2333";
+	id               = "2333";
 ##### WARNING: No XML file for device 'AT90S2333'! #####
-    desc             = "AT90S2333";
-    stk500_devcode   = 0x42;
-    avr910_devcode   = 0x34;
-    signature        = 0x1e 0x91 0x05;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 128;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0   x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0   x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        pwroff_after_write = yes;
-        read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
-    memory "lock"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x x x  x o o x";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
+	desc             = "AT90S2333";
+	stk500_devcode   = 0x42;
+	avr910_devcode   = 0x34;
+	signature        = 0x1e 0x91 0x05;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 128;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0   x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0   x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		pwroff_after_write = yes;
+		read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x x x  x o o x";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
   ;
 
 
@@ -1660,122 +1660,122 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "2343";
-    desc             = "AT90S2343";
-    stk500_devcode   = 0x43;
-    avr910_devcode   = 0x4c;
-    signature        = 0x1e 0x91 0x03;
-    chip_erase_delay = 18000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
-        0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
-        0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 0;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 50;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-    memory "eeprom"
-        size            = 128;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0   0 0 0 0  0 0 0 0",
-                          "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0   0 0 0 0  0 0 0 0",
-                          "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x   x  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 128;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   o o o x  x x x o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 1  1 1 1 i",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
-    memory "lock"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   o o o x  x x x o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
+	id               = "2343";
+	desc             = "AT90S2343";
+	stk500_devcode   = 0x43;
+	avr910_devcode   = 0x4c;
+	signature        = 0x1e 0x91 0x03;
+	chip_erase_delay = 18000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
+		0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
+		0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 0;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 50;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	memory "eeprom"
+		size            = 128;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0   0 0 0 0  0 0 0 0",
+						  "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0   0 0 0 0  0 0 0 0",
+						  "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x   x  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 128;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   o o o x  x x x o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 1  1 1 1 i",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   o o o x  x x x o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
   ;
 
 
@@ -1784,123 +1784,123 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "4433";
-    desc             = "AT90S4433";
-    stk500_devcode   = 0x51;
-    avr910_devcode   = 0x30;
-    signature        = 0x1e 0x92 0x03;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 256;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = " 1  0  1  0   0  0  0  0   x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0   x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        pwroff_after_write = yes;
-        read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
-    memory "lock"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x x x  x o o x";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
+	id               = "4433";
+	desc             = "AT90S4433";
+	stk500_devcode   = 0x51;
+	avr910_devcode   = 0x30;
+	signature        = 0x1e 0x92 0x03;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 256;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = " 1  0  1  0   0  0  0  0   x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0   x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		pwroff_after_write = yes;
+		read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x x x  x o o x";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -1908,82 +1908,82 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "4434";
+	id               = "4434";
 ##### WARNING: No XML file for device 'AT90S4434'! #####
-    desc             = "AT90S4434";
-    stk500_devcode   = 0x52;
-    avr910_devcode   = 0x6c;
-    signature        = 0x1e 0x92 0x02;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    memory "eeprom"
-        size            = 256;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = " 1  0  1  0   0  0  0  0   x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0   x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-      ;
-    memory "flash"
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x    x a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
-    memory "lock"
-        size            = 1;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x x x  x o o x";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-      ;
+	desc             = "AT90S4434";
+	stk500_devcode   = 0x52;
+	avr910_devcode   = 0x6c;
+	signature        = 0x1e 0x92 0x02;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	memory "eeprom"
+		size            = 256;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = " 1  0  1  0   0  0  0  0   x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0   x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+	  ;
+	memory "flash"
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x    x a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 i  i i i i",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x x x  x o o x";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -1991,113 +1991,113 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "8515";
-    desc             = "AT90S8515";
-    stk500_devcode   = 0x60;
-    avr910_devcode   = 0x38;
-    signature        = 0x1e 0x93 0x01;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
+	id               = "8515";
+	desc             = "AT90S8515";
+	stk500_devcode   = 0x60;
+	avr910_devcode   = 0x38;
+	signature        = 0x1e 0x93 0x01;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 512;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x80;
-        readback_p2     = 0x7f;
-        read            = " 1  0  1  0   0  0  0  0  x x x x  x x x a8",
-                          "a7 a6 a5 a4 a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 8192;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x7f;
-        readback_p2     = 0x7f;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-	size		= 1;
-      ;
-    memory "lock"
-	size		= 1;
-	write		= "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 512;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x80;
+		readback_p2     = 0x7f;
+		read            = " 1  0  1  0   0  0  0  0  x x x x  x x x a8",
+						  "a7 a6 a5 a4 a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 8192;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x7f;
+		readback_p2     = 0x7f;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+	size        = 1;
+	  ;
+	memory "lock"
+	size        = 1;
+	write       = "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
 			  "x  x  x  x   x  x  x  x   x  x  x  x   x  x  x  x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -2105,120 +2105,120 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "8535";
-    desc             = "AT90S8535";
-    stk500_devcode   = 0x61;
-    avr910_devcode   = 0x68;
-    signature        = 0x1e 0x93 0x03;
-    chip_erase_delay = 20000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 1;
-
-    memory "eeprom"
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0x00;
-        readback_p2     = 0xff;
-        read            = " 1  0  1  0   0  0  0  0   x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        size            = 8192;
-        min_write_delay = 9000;
-        max_write_delay = 20000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        write_lo        = "  0   1   0   0    0   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-        write_hi        = "  0   1   0   0    1   0   0   0",
-                          "  x   x   x   x  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  i   i   i   i    i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "fuse"
-	size		= 1;
-	read		= "0  1  0  1   1  0  0  0   x  x  x  x   x  x  x  x",
+	id               = "8535";
+	desc             = "AT90S8535";
+	stk500_devcode   = 0x61;
+	avr910_devcode   = 0x68;
+	signature        = 0x1e 0x93 0x03;
+	chip_erase_delay = 20000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 1;
+
+	memory "eeprom"
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0x00;
+		readback_p2     = 0xff;
+		read            = " 1  0  1  0   0  0  0  0   x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0   x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		size            = 8192;
+		min_write_delay = 9000;
+		max_write_delay = 20000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		write_lo        = "  0   1   0   0    0   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+		write_hi        = "  0   1   0   0    1   0   0   0",
+						  "  x   x   x   x  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  i   i   i   i    i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "fuse"
+	size        = 1;
+	read        = "0  1  0  1   1  0  0  0   x  x  x  x   x  x  x  x",
 			  "x  x  x  x   x  x  x  x   x  x  x  x   x  x  x  o";
-	write		= "1  0  1  0   1  1  0  0   1  0  1  1   1  1  1  i",
+	write       = "1  0  1  0   1  1  0  0   1  0  1  1   1  1  1  i",
 			  "x  x  x  x   x  x  x  x   x  x  x  x   x  x  x  x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-    memory "lock"
-	size		= 1;
-	read		= "0  1  0  1   1  0  0  0   x  x  x  x   x  x  x  x",
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+	memory "lock"
+	size        = 1;
+	read        = "0  1  0  1   1  0  0  0   x  x  x  x   x  x  x  x",
 			  "x  x  x  x   x  x  x  x   o  o  x  x   x  x  x  x";
-	write		= "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
+	write       = "1  0  1  0   1  1  0  0   1  1  1  1   1  i  i  1",
 			  "x  x  x  x   x  x  x  x   x  x  x  x   x  x  x  x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -2226,138 +2226,138 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m103";
-    desc             = "ATMEGA103";
-    stk500_devcode   = 0xB1;
-    avr910_devcode   = 0x41;
-    signature        = 0x1e 0x97 0x01;
-    chip_erase_delay = 112000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE,
-        0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE,
-        0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A,
-        0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 15;
-    chiperasepolltimeout = 0;
-    programfusepulsewidth = 2;
-    programfusepolltimeout = 0;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 10;
-
-    memory "eeprom"
-        size            = 4096;
-        min_write_delay = 4000;
-        max_write_delay = 9000;
-        readback_p1     = 0x80;
-        readback_p2     = 0x7f;
+	id               = "m103";
+	desc             = "ATMEGA103";
+	stk500_devcode   = 0xB1;
+	avr910_devcode   = 0x41;
+	signature        = 0x1e 0x97 0x01;
+	chip_erase_delay = 112000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE,
+		0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE,
+		0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A,
+		0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 15;
+	chiperasepolltimeout = 0;
+	programfusepulsewidth = 2;
+	programfusepolltimeout = 0;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 10;
+
+	memory "eeprom"
+		size            = 4096;
+		min_write_delay = 4000;
+		max_write_delay = 9000;
+		readback_p1     = 0x80;
+		readback_p2     = 0x7f;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 22000;
-        max_write_delay = 56000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x11;
-	delay		= 70;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "fuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0  x x x x  x x x x",
-                          "x x x x  x x x x  x x o x  o 1 o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 1  i 1 i i",
-                          "x x x x  x x x x  x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x x x x  x o o x";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 22000;
+		max_write_delay = 56000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x11;
+	delay       = 70;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "fuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0  x x x x  x x x x",
+						  "x x x x  x x x x  x x o x  o 1 o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 1  i 1 i i",
+						  "x x x x  x x x x  x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x x x x  x o o x";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 1  1 i i 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -2366,177 +2366,177 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m64";
-    desc             = "ATMEGA64";
-    has_jtag         = yes;
-    stk500_devcode   = 0xA0;
-    avr910_devcode   = 0x45;
-    signature        = 0x1e 0x96 0x02;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x22;
-    spmcr               = 0x68;
-    allowfullpagebitstream = yes;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 20;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x x i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	id               = "m64";
+	desc             = "ATMEGA64";
+	has_jtag         = yes;
+	stk500_devcode   = 0xA0;
+	avr910_devcode   = 0x45;
+	signature        = 0x1e 0x96 0x02;
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x22;
+	spmcr               = 0x68;
+	allowfullpagebitstream = yes;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 20;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x x i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -2547,177 +2547,177 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m128";
-    desc             = "ATMEGA128";
-    has_jtag         = yes;
-    stk500_devcode   = 0xB2;
-    avr910_devcode   = 0x43;
-    signature        = 0x1e 0x97 0x02;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x22;
-    spmcr               = 0x68;
-    rampz               = 0x3b;
-    allowfullpagebitstream = yes;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 12;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x x i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	id               = "m128";
+	desc             = "ATMEGA128";
+	has_jtag         = yes;
+	stk500_devcode   = 0xB2;
+	avr910_devcode   = 0x43;
+	signature        = 0x1e 0x97 0x02;
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x22;
+	spmcr               = 0x68;
+	rampz               = 0x3b;
+	allowfullpagebitstream = yes;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 12;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x x i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -2725,189 +2725,189 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "c128";
-    desc             = "AT90CAN128";
-    has_jtag         = yes;
-    stk500_devcode   = 0xB3;
+	id               = "c128";
+	desc             = "AT90CAN128";
+	has_jtag         = yes;
+	stk500_devcode   = 0xB3;
 #    avr910_devcode   = 0x43;
-    signature        = 0x1e 0x97 0x81;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    eecr                = 0x3f;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	signature        = 0x1e 0x97 0x81;
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	eecr                = 0x3f;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -2915,189 +2915,189 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "c64";
-    desc             = "AT90CAN64";
-    has_jtag         = yes;
-    stk500_devcode   = 0xB3;
+	id               = "c64";
+	desc             = "AT90CAN64";
+	has_jtag         = yes;
+	stk500_devcode   = 0xB3;
 #    avr910_devcode   = 0x43;
-    signature        = 0x1e 0x96 0x81;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    eecr                = 0x3f;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	signature        = 0x1e 0x96 0x81;
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	eecr                = 0x3f;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -3105,189 +3105,189 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "c32";
-    desc             = "AT90CAN32";
-    has_jtag         = yes;
-    stk500_devcode   = 0xB3;
+	id               = "c32";
+	desc             = "AT90CAN32";
+	has_jtag         = yes;
+	stk500_devcode   = 0xB3;
 #    avr910_devcode   = 0x43;
-    signature        = 0x1e 0x95 0x81;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    eecr                = 0x3f;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	signature        = 0x1e 0x95 0x81;
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	eecr                = 0x3f;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 256;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 256;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0  0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -3296,174 +3296,174 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m16";
-    desc             = "ATMEGA16";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82;
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x94 0x03;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
+	id               = "m16";
+	desc             = "ATMEGA16";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82;
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x94 0x03;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 100;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = yes;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	hventerstabdelay    = 100;
+	progmodedelay       = 100;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = yes;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-    memory "calibration"
-        size            = 4;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 a1 a0 o o o o  o o o o";
-        ;
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+	memory "calibration"
+		size            = 4;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 a1 a0 o o o o  o o o o";
+		;
   ;
 
 
@@ -3474,187 +3474,187 @@ part
 # close to ATmega16
 
 part
-    id               = "m164p";
-    desc             = "ATMEGA164P";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x94 0x0a;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m164p";
+	desc             = "ATMEGA164P";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x94 0x0a;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 
@@ -3665,187 +3665,187 @@ part
 # similar to ATmega164P
 
 part
-    id               = "m324p";
-    desc             = "ATMEGA324P";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x95 0x08;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m324p";
+	desc             = "ATMEGA324P";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x95 0x08;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 
@@ -3856,187 +3856,187 @@ part
 # similar to ATmega164
 
 part
-    id               = "m644";
-    desc             = "ATMEGA644";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x96 0x09;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m644";
+	desc             = "ATMEGA644";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x96 0x09;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 #------------------------------------------------------------
@@ -4046,187 +4046,187 @@ part
 # similar to ATmega164p
 
 part
-    id               = "m644p";
-    desc             = "ATMEGA644P";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x96 0x0a;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m644p";
+	desc             = "ATMEGA644P";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x96 0x0a;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 
@@ -4238,187 +4238,187 @@ part
 # similar to ATmega164p
 
 part
-    id               = "m1284p";
-    desc             = "ATMEGA1284P";
-    has_jtag         = yes;
-    stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
-    avr910_devcode   = 0x74;
-    signature        = 0x1e 0x97 0x05;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m1284p";
+	desc             = "ATMEGA1284P";
+	has_jtag         = yes;
+	stk500_devcode   = 0x82; # no STK500v1 support, use the ATmega16 one
+	avr910_devcode   = 0x74;
+	signature        = 0x1e 0x97 0x05;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 
@@ -4428,193 +4428,193 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m162";
-    desc             = "ATMEGA162";
-    has_jtag         = yes;
-    stk500_devcode   = 0x83;
-    avr910_devcode   = 0x63;
-    signature        = 0x1e 0x94 0x04;
-    chip_erase_delay = 9000;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-
-    idr              = 0x04;
-    spmcr            = 0x57;
-    allowfullpagebitstream = yes;
-
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-       mode        = 0x41;
-    delay       = 10;
-    blocksize   = 128;
-    readsize    = 256;
-
-        ;
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-                read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-                write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	id               = "m162";
+	desc             = "ATMEGA162";
+	has_jtag         = yes;
+	stk500_devcode   = 0x83;
+	avr910_devcode   = 0x63;
+	signature        = 0x1e 0x94 0x04;
+	chip_erase_delay = 9000;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+
+	idr              = 0x04;
+	spmcr            = 0x57;
+	allowfullpagebitstream = yes;
+
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+	   mode        = 0x41;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+
+		;
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+				read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+				write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 4;
-	readsize	= 256;
-        ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 4;
+	readsize    = 256;
+		;
 
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 16000;
-        max_write_delay = 16000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 16000;
+		max_write_delay = 16000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
 
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        ;
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		;
 
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 16000;
-        max_write_delay = 16000;
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 16000;
+		max_write_delay = 16000;
 
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
 
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-        ;
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+		;
 
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 16000;
-        max_write_delay = 16000;
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 16000;
+		max_write_delay = 16000;
 
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
 
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  1 1 1 1  1 i i i";
-      ;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  1 1 1 1  1 i i i";
+	  ;
 
-    memory "lock"
-        size            = 1;
-        min_write_delay = 16000;
-        max_write_delay = 16000;
+	memory "lock"
+		size            = 1;
+		min_write_delay = 16000;
+		max_write_delay = 16000;
 
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
 
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        ;
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		;
 
-    memory "signature"
-        size            = 3;
+	memory "signature"
+		size            = 3;
 
-        read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-        ;
+		read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+		;
 
-    memory "calibration"
-        size            = 1;
+	memory "calibration"
+		size            = 1;
 
-        read            = "0 0 1 1  1 0 0 0   0 0 x x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+		read            = "0 0 1 1  1 0 0 0   0 0 x x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
 ;
 
 
@@ -4624,157 +4624,157 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m163";
-    desc             = "ATMEGA163";
-    stk500_devcode   = 0x81;
-    avr910_devcode   = 0x64;
-    signature        = 0x1e 0x94 0x02;
-    chip_erase_delay = 32000;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout             = 200;
-    stabdelay           = 100;
-    cmdexedelay         = 25;
-    synchloops          = 32;
-    bytedelay           = 0;
-    pollindex           = 3;
-    pollvalue           = 0x53;
-    predelay            = 1;
-    postdelay           = 1;
-    pollmethod          = 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 30;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 2;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 2;
+	id               = "m163";
+	desc             = "ATMEGA163";
+	stk500_devcode   = 0x81;
+	avr910_devcode   = 0x64;
+	signature        = 0x1e 0x94 0x02;
+	chip_erase_delay = 32000;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout             = 200;
+	stabdelay           = 100;
+	cmdexedelay         = 25;
+	synchloops          = 32;
+	bytedelay           = 0;
+	pollindex           = 3;
+	pollvalue           = 0x53;
+	predelay            = 1;
+	postdelay           = 1;
+	pollmethod          = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 30;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 2;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 2;
 
 
    memory "eeprom"
-        size            = 512;
-        min_write_delay = 4000;
-        max_write_delay = 4000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		size            = 512;
+		min_write_delay = 4000;
+		max_write_delay = 4000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-        mode            = 0x41;
-        delay           = 20;
-        blocksize       = 4;
-        readsize        = 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 16000;
-        max_write_delay = 16000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x11;
-	delay		= 20;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o x x  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i 1 1  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  1 o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   1 1 1 1  1 i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  0 x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+		mode            = 0x41;
+		delay           = 20;
+		blocksize       = 4;
+		readsize        = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 16000;
+		max_write_delay = 16000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x11;
+	delay       = 20;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o x x  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i 1 1  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  1 o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   1 1 1 1  1 i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  0 x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -4782,179 +4782,179 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m169";
-    desc             = "ATMEGA169";
-    has_jtag         = yes;
-    stk500_devcode   = 0x85;
-    avr910_devcode   = 0x78;
-    signature        = 0x1e 0x94 0x05;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	id               = "m169";
+	desc             = "ATMEGA169";
+	has_jtag         = yes;
+	stk500_devcode   = 0x85;
+	avr910_devcode   = 0x78;
+	signature        = 0x1e 0x94 0x05;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 4;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 4;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -4962,182 +4962,182 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m329";
-    desc             = "ATMEGA329";
-    has_jtag         = yes;
+	id               = "m329";
+	desc             = "ATMEGA329";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x95 0x03;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x95 0x03;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -5146,182 +5146,182 @@ part
 # Identical to ATmega329 except of the signature
 
 part
-    id               = "m329p";
-    desc             = "ATMEGA329P";
-    has_jtag         = yes;
+	id               = "m329p";
+	desc             = "ATMEGA329P";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x95 0x0b;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x95 0x0b;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -5331,182 +5331,182 @@ part
 # identical to ATmega329
 
 part
-    id               = "m3290";
-    desc             = "ATMEGA3290";
-    has_jtag         = yes;
+	id               = "m3290";
+	desc             = "ATMEGA3290";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x95 0x04;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x95 0x04;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a3   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -5516,182 +5516,182 @@ part
 # identical to ATmega3290 except of the signature
 
 part
-    id               = "m3290p";
-    desc             = "ATMEGA3290P";
-    has_jtag         = yes;
+	id               = "m3290p";
+	desc             = "ATMEGA3290P";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x95 0x0c;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x95 0x0c;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a3   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -5699,182 +5699,182 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m649";
-    desc             = "ATMEGA649";
-    has_jtag         = yes;
+	id               = "m649";
+	desc             = "ATMEGA649";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x96 0x03;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x96 0x03;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -5884,192 +5884,192 @@ part
 # identical to ATmega649
 
 part
-    id               = "m6490";
-    desc             = "ATMEGA6490";
-    has_jtag         = yes;
+	id               = "m6490";
+	desc             = "ATMEGA6490";
+	has_jtag         = yes;
 #    stk500_devcode   = 0x85; # no STK500 support, only STK500v2
 #    avr910_devcode   = 0x?;  # try the ATmega169 one:
-    avr910_devcode   = 0x75;
-    signature        = 0x1e 0x96 0x04;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
+	avr910_devcode   = 0x75;
+	signature        = 0x1e 0x96 0x04;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
 
    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0   0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -6077,174 +6077,174 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m32";
-    desc             = "ATMEGA32";
-    has_jtag         = yes;
-    stk500_devcode   = 0x91;
-    avr910_devcode   = 0x72;
-    signature        = 0x1e 0x95 0x02;
-    chip_erase_delay = 9000;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = yes;
+	id               = "m32";
+	desc             = "ATMEGA32";
+	has_jtag         = yes;
+	stk500_devcode   = 0x91;
+	avr910_devcode   = 0x72;
+	signature        = 0x1e 0x95 0x02;
+	chip_erase_delay = 9000;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = yes;
 
    memory "eeprom"
-        paged           = no;   /* leave this "no" */
-        page_size       = 4;    /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+		paged           = no;   /* leave this "no" */
+		page_size       = 4;    /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x  a9  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o o";
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0 0 1 1  1 0 0 0    0 0 x x  x x x x",
-                          "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
-      ;
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o o";
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0 0 1 1  1 0 0 0    0 0 x x  x x x x",
+						  "0 0 0 0  0 0 a1 a0  o o o o  o o o o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -6252,138 +6252,138 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m161";
-    desc             = "ATMEGA161";
-    stk500_devcode   = 0x80;
-    avr910_devcode   = 0x60;
-    signature        = 0x1e 0x94 0x01;
-    chip_erase_delay = 28000;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 0;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 30;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 2;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 2;
+	id               = "m161";
+	desc             = "ATMEGA161";
+	stk500_devcode   = 0x80;
+	avr910_devcode   = 0x60;
+	signature        = 0x1e 0x94 0x01;
+	chip_erase_delay = 28000;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 0;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 30;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 2;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 2;
 
    memory "eeprom"
-        size            = 512;
-        min_write_delay = 3400;
-        max_write_delay = 3400;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+		size            = 512;
+		min_write_delay = 3400;
+		max_write_delay = 3400;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 5;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 14000;
-        max_write_delay = 14000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  x   x   x a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 16;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "fuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
-                          "x x x x  x x x x   x o x o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 x  x x x x",
-                          "x x x x  x x x x   1 i 1 i  i i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+						  "  x   x   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 5;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 14000;
+		max_write_delay = 14000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  x   x   x a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 16;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "fuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   x x x x  x x x x",
+						  "x x x x  x x x x   x o x o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 x  x x x x",
+						  "x x x x  x x x x   1 i 1 i  i i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -6392,158 +6392,158 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m8";
-    desc             = "ATMEGA8";
-    stk500_devcode   = 0x70;
-    avr910_devcode   = 0x76;
-    signature        = 0x1e 0x93 0x07;
-    pagel            = 0xd7;
-    bs2              = 0xc2;
-    chip_erase_delay = 10000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
+	id               = "m8";
+	desc             = "ATMEGA8";
+	stk500_devcode   = 0x70;
+	avr910_devcode   = 0x76;
+	signature        = 0x1e 0x93 0x07;
+	pagel            = 0xd7;
+	bs2              = 0xc2;
+	chip_erase_delay = 10000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 2;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        size            = 512;
-        page_size       = 4;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 2;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		size            = 512;
+		page_size       = 4;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 20;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 10;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0  0  1  1   1  0  0  0   0  0  x  x   x  x  x  x",
-                          "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 20;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 10;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0  0  1  1   1  0  0  0   0  0  x  x   x  x  x  x",
+						  "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -6553,154 +6553,154 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m8515";
-    desc             = "ATMEGA8515";
-    stk500_devcode   = 0x63;
-    avr910_devcode   = 0x3A;
-    signature        = 0x1e 0x93 0x06;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m8515";
+	desc             = "ATMEGA8515";
+	stk500_devcode   = 0x63;
+	avr910_devcode   = 0x3A;
+	signature        = 0x1e 0x93 0x06;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
  read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
  write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0 0 1 1  1 0 0 0     0 0 x x  x x x x",
-                          "0 0 0 0  0 0 a1 a0   o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0 0 1 1  1 0 0 0     0 0 x x  x x x x",
+						  "0 0 0 0  0 0 a1 a0   o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -6711,156 +6711,156 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m8535";
-    desc             = "ATMEGA8535";
-    stk500_devcode   = 0x64;
-    avr910_devcode   = 0x69;
-    signature        = 0x1e 0x93 0x08;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 6;
-    togglevtg           = 0;
-    poweroffdelay       = 0;
-    resetdelayms        = 0;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        size            = 512;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	id               = "m8535";
+	desc             = "ATMEGA8535";
+	stk500_devcode   = 0x64;
+	avr910_devcode   = 0x69;
+	signature        = 0x1e 0x93 0x08;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 6;
+	togglevtg           = 0;
+	poweroffdelay       = 0;
+	resetdelayms        = 0;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		size            = 512;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   x   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 2000;
-        max_write_delay = 2000;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0 0 1 1  1 0 0 0   0 0 x x  x x x x",
-                          "0 0 0 0  0 0 a1 a0 o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+						  "  0   0   x   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 2000;
+		max_write_delay = 2000;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0 0 1 1  1 0 0 0   0 0 x x  x x x x",
+						  "0 0 0 0  0 0 a1 a0 o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -6869,153 +6869,153 @@ part
 #------------------------------------------------------------
 
 part
-    id                  = "t26";
-    desc                = "ATTINY26";
-    stk500_devcode      = 0x21;
-    avr910_devcode      = 0x5e;
-    signature           = 0x1e 0x91 0x09;
-    pagel               = 0xb3;
-    bs2                 = 0xb2;
-    chip_erase_delay    = 9000;
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
-        0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
-        0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
-        0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 2;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        size            = 128;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	mode		= 0x04;
-	delay		= 10;
-	blocksize	= 64;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 2048;
-        page_size       = 32;
-        num_pages       = 64;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0  0  1  0   0  0  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        read_hi         = "  0  0  1  0   1  0  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        loadpage_lo     = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        loadpage_hi     = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        writepage       = "  0  1  0  0   1  1  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4   x  x  x  x",
-                          "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x21;
-	delay		= 6;
-	blocksize	= 16;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x x o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-    ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  x x x i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  x x x o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 4;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
+	id                  = "t26";
+	desc                = "ATTINY26";
+	stk500_devcode      = 0x21;
+	avr910_devcode      = 0x5e;
+	signature           = 0x1e 0x91 0x09;
+	pagel               = 0xb3;
+	bs2                 = 0xb2;
+	chip_erase_delay    = 9000;
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
+		0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
+		0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
+		0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 2;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		size            = 128;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	mode        = 0x04;
+	delay       = 10;
+	blocksize   = 64;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		paged           = yes;
+		size            = 2048;
+		page_size       = 32;
+		num_pages       = 64;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0  0  1  0   0  0  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		read_hi         = "  0  0  1  0   1  0  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		loadpage_lo     = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		loadpage_hi     = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		writepage       = "  0  1  0  0   1  1  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4   x  x  x  x",
+						  "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x21;
+	delay       = 6;
+	blocksize   = 16;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x x o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  x x x i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  x x x o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 4;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
 
 ;
 
@@ -7026,185 +7026,185 @@ part
 # Close to ATtiny26
 
 part
-    id                  = "t261";
-    desc                = "ATTINY261";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x00, 0x10;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	id                  = "t261";
+	desc                = "ATTINY261";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x00, 0x10;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 #    stk500_devcode      = 0x21;
 #    avr910_devcode      = 0x5e;
-    signature           = 0x1e 0x91 0x0c;
-    pagel               = 0xb3;
-    bs2                 = 0xb2;
-    chip_erase_delay    = 4000;
-
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
-        0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
-        0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
-        0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 2;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        size            = 128;
-        page_size       = 4;
-        num_pages       = 32;
-        min_write_delay = 4000;
-        max_write_delay = 4000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
-                          "x a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	signature           = 0x1e 0x91 0x0c;
+	pagel               = 0xb3;
+	bs2                 = 0xb2;
+	chip_erase_delay    = 4000;
+
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
+		0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
+		0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
+		0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 2;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		size            = 128;
+		page_size       = 4;
+		num_pages       = 32;
+		min_write_delay = 4000;
+		max_write_delay = 4000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read            = "1  0  1  0   0  0  0  0    x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = "1  1  0  0   0  0  0  0    x x x x  x x x x",
+						  "x a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 4;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 2048;
-        page_size       = 32;
-        num_pages       = 64;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read_lo         = "  0  0  1  0   0  0  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        read_hi         = "  0  0  1  0   1  0  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4  a3 a2 a1 a0",
-                          "  o  o  o  o   o  o  o  o";
-
-        loadpage_lo     = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        loadpage_hi     = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x  x  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        writepage       = "  0  1  0  0   1  1  0  0",
-                          "  x  x  x  x   x  x a9 a8",
-                          " a7 a6 a5 a4   x  x  x  x",
-                          "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x x o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-    ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x x x i";
-
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x x x o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0  0  0    o o o o  o o o o";
-    ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 4;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		paged           = yes;
+		size            = 2048;
+		page_size       = 32;
+		num_pages       = 64;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read_lo         = "  0  0  1  0   0  0  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		read_hi         = "  0  0  1  0   1  0  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4  a3 a2 a1 a0",
+						  "  o  o  o  o   o  o  o  o";
+
+		loadpage_lo     = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		loadpage_hi     = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x  x  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		writepage       = "  0  1  0  0   1  1  0  0",
+						  "  x  x  x  x   x  x a9 a8",
+						  " a7 a6 a5 a4   x  x  x  x",
+						  "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x x o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x x x i";
+
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x x x o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	;
 
 ;
 
@@ -7215,185 +7215,185 @@ part
 # Close to ATtiny261
 
 part
-    id                  = "t461";
-    desc                = "ATTINY461";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x00, 0x10;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	id                  = "t461";
+	desc                = "ATTINY461";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x00, 0x10;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 #    stk500_devcode      = 0x21;
 #    avr910_devcode      = 0x5e;
-    signature           = 0x1e 0x92 0x08;
-    pagel               = 0xb3;
-    bs2                 = 0xb2;
-    chip_erase_delay    = 4000;
-
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
-        0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
-        0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
-        0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 2;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        size            = 256;
-        page_size       = 4;
-        num_pages       = 64;
-        min_write_delay = 4000;
-        max_write_delay = 4000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read            = " 1  0  1  0   0  0  0  0    x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
-
-        write           = " 1  1  0  0   0  0  0  0    x x x x  x x x x",
-                          "a7 a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	signature           = 0x1e 0x92 0x08;
+	pagel               = 0xb3;
+	bs2                 = 0xb2;
+	chip_erase_delay    = 4000;
+
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
+		0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
+		0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
+		0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 2;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		size            = 256;
+		page_size       = 4;
+		num_pages       = 64;
+		min_write_delay = 4000;
+		max_write_delay = 4000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read            = " 1  0  1  0   0  0  0  0    x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0    o o o o  o o o o";
+
+		write           = " 1  1  0  0   0  0  0  0    x x x x  x x x x",
+						  "a7 a6 a5 a4  a3 a2 a1 a0    i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 4;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 4096;
-        page_size       = 64;
-        num_pages       = 64;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read_lo         = "  0  0  1  0   0   0  0  0",
-                          "  x  x  x  x   x a10 a9 a8",
-                          " a7 a6 a5 a4  a3  a2 a1 a0",
-                          "  o  o  o  o   o   o  o  o";
-
-        read_hi         = "  0  0  1  0   1   0  0  0",
-                          "  x  x  x  x   x a10 a9 a8",
-                          " a7 a6 a5 a4  a3  a2 a1 a0",
-                          "  o  o  o  o   o   o  o  o";
-
-        loadpage_lo     = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        loadpage_hi     = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        writepage       = "  0  1  0  0   1   1  0  0",
-                          "  x  x  x  x   x a10 a9 a8",
-                          " a7 a6 a5  x   x   x  x  x",
-                          "  x  x  x  x   x   x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x x o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-    ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x x x i";
-
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x x x o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0  0  0    o o o o  o o o o";
-    ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 4;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		paged           = yes;
+		size            = 4096;
+		page_size       = 64;
+		num_pages       = 64;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read_lo         = "  0  0  1  0   0   0  0  0",
+						  "  x  x  x  x   x a10 a9 a8",
+						  " a7 a6 a5 a4  a3  a2 a1 a0",
+						  "  o  o  o  o   o   o  o  o";
+
+		read_hi         = "  0  0  1  0   1   0  0  0",
+						  "  x  x  x  x   x a10 a9 a8",
+						  " a7 a6 a5 a4  a3  a2 a1 a0",
+						  "  o  o  o  o   o   o  o  o";
+
+		loadpage_lo     = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		loadpage_hi     = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		writepage       = "  0  1  0  0   1   1  0  0",
+						  "  x  x  x  x   x a10 a9 a8",
+						  " a7 a6 a5  x   x   x  x  x",
+						  "  x  x  x  x   x   x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x x o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x x x i";
+
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x x x o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	;
 
 ;
 
@@ -7404,185 +7404,185 @@ part
 # Close to ATtiny461
 
 part
-    id                  = "t861";
-    desc                = "ATTINY861";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x00, 0x10;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	id                  = "t861";
+	desc                = "ATTINY861";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x00, 0x10;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 #    stk500_devcode      = 0x21;
 #    avr910_devcode      = 0x5e;
-    signature           = 0x1e 0x93 0x0d;
-    pagel               = 0xb3;
-    bs2                 = 0xb2;
-    chip_erase_delay    = 4000;
-
-    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
-                          "x x x x  x x x x   x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 0;
-
-    pp_controlstack     =
-        0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
-        0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
-        0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
-        0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 2;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        size            = 512;
-        num_pages       = 128;
-        page_size       = 4;
-        min_write_delay = 4000;
-        max_write_delay = 4000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read            = " 1  0  1  0   0  0  0  0    x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0    o o o o  o o o  o";
-
-        write           = " 1  1  0  0   0  0  0  0    x x x x  x x x a8",
-                          "a7 a6 a5 a4  a3 a2 a1 a0    i i i i  i i i  i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	signature           = 0x1e 0x93 0x0d;
+	pagel               = 0xb3;
+	bs2                 = 0xb2;
+	chip_erase_delay    = 4000;
+
+	pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
+						  "x x x x  x x x x   x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 0;
+
+	pp_controlstack     =
+		0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
+		0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
+		0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
+		0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 2;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		size            = 512;
+		num_pages       = 128;
+		page_size       = 4;
+		min_write_delay = 4000;
+		max_write_delay = 4000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read            = " 1  0  1  0   0  0  0  0    x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0    o o o o  o o o  o";
+
+		write           = " 1  1  0  0   0  0  0  0    x x x x  x x x a8",
+						  "a7 a6 a5 a4  a3 a2 a1 a0    i i i i  i i i  i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 4;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-
-        read_lo         = "  0  0  1  0   0   0  0  0",
-                          "  x  x  x  x a11 a10 a9 a8",
-                          " a7 a6 a5 a4  a3  a2 a1 a0",
-                          "  o  o  o  o   o   o  o  o";
-
-        read_hi         = "  0  0  1  0   1   0  0  0",
-                          "  x  x  x  x a11 a10 a9 a8",
-                          " a7 a6 a5 a4  a3  a2 a1 a0",
-                          "  o  o  o  o   o   o  o  o";
-
-        loadpage_lo     = "  0  1  0  0   0  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        loadpage_hi     = "  0  1  0  0   1  0  0  0",
-                          "  x  x  x  x   x  x  x  x",
-                          "  x  x  x a4  a3 a2 a1 a0",
-                          "  i  i  i  i   i  i  i  i";
-
-        writepage       = "  0  1  0  0   1   1  0  0",
-                          "  x  x  x  x a11 a10 a9 a8",
-                          " a7 a6 a5  x   x   x  x  x",
-                          "  x  x  x  x   x   x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-    ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
-    ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
-                          "x  x  x  x   x  x  x  x    x x x x  x x o o";
-
-        write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
-                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-    ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x x x i";
-
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x x x o";
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
-                          "0  0  0  0   0  0  0  0    o o o o  o o o o";
-    ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 4;
+	readsize    = 256;
+	;
+
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+
+		read_lo         = "  0  0  1  0   0   0  0  0",
+						  "  x  x  x  x a11 a10 a9 a8",
+						  " a7 a6 a5 a4  a3  a2 a1 a0",
+						  "  o  o  o  o   o   o  o  o";
+
+		read_hi         = "  0  0  1  0   1   0  0  0",
+						  "  x  x  x  x a11 a10 a9 a8",
+						  " a7 a6 a5 a4  a3  a2 a1 a0",
+						  "  o  o  o  o   o   o  o  o";
+
+		loadpage_lo     = "  0  1  0  0   0  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		loadpage_hi     = "  0  1  0  0   1  0  0  0",
+						  "  x  x  x  x   x  x  x  x",
+						  "  x  x  x a4  a3 a2 a1 a0",
+						  "  i  i  i  i   i  i  i  i";
+
+		writepage       = "  0  1  0  0   1   1  0  0",
+						  "  x  x  x  x a11 a10 a9 a8",
+						  " a7 a6 a5  x   x   x  x  x",
+						  "  x  x  x  x   x   x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0 a1 a0    o o o o  o o o o";
+	;
+
+	memory "lock"
+		size            = 1;
+		read            = "0  1  0  1   1  0  0  0    x x x x  x x x x",
+						  "x  x  x  x   x  x  x  x    x x x x  x x o o";
+
+		write           = "1  0  1  0   1  1  0  0    1 1 1 1  1 1 i i",
+						  "x  x  x  x   x  x  x  x    x x x x  x x x x";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x x x i";
+
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x x x o";
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0    x x x x  x x x x",
+						  "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	;
 
 ;
 
@@ -7592,185 +7592,185 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m48";
-    desc             = "ATMEGA48";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-    stk500_devcode   = 0x59;
+	id               = "m48";
+	desc             = "ATMEGA48";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	stk500_devcode   = 0x59;
 #    avr910_devcode   = 0x;
-    signature        = 0x1e 0x92 0x05;
-    pagel            = 0xd7;
-    bs2              = 0xc2;
-    chip_erase_delay = 45000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
+	signature        = 0x1e 0x92 0x05;
+	pagel            = 0xd7;
+	bs2              = 0xc2;
+	chip_erase_delay = 45000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        page_size       = 4;
-        size            = 256;
-        min_write_delay = 3600;
-        max_write_delay = 3600;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		page_size       = 4;
+		size            = 256;
+		min_write_delay = 3600;
+		max_write_delay = 3600;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x      x   x   x   x",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x      x   x   x   x",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 256;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 4096;
-        page_size       = 64;
-        num_pages       = 64;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0    0 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0    0 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x x x o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x x x i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
-                          "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 4096;
+		page_size       = 64;
+		num_pages       = 64;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0    0 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0    0 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x x x o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x x x i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
+						  "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -7779,185 +7779,185 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m88";
-    desc             = "ATMEGA88";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-    stk500_devcode   = 0x73;
+	id               = "m88";
+	desc             = "ATMEGA88";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	stk500_devcode   = 0x73;
 #    avr910_devcode   = 0x;
-    signature        = 0x1e 0x93 0x0a;
-    pagel            = 0xd7;
-    bs2              = 0xc2;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
+	signature        = 0x1e 0x93 0x0a;
+	pagel            = 0xd7;
+	bs2              = 0xc2;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        page_size       = 4;
-        size            = 512;
-        min_write_delay = 3600;
-        max_write_delay = 3600;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		page_size       = 4;
+		size            = 512;
+		min_write_delay = 3600;
+		max_write_delay = 3600;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x      x   x   x  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 256;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x i i i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
-                          "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 256;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x i i i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
+						  "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -7965,187 +7965,187 @@ part
 #------------------------------------------------------------
 
 part
-    id              = "m168";
-    desc            = "ATMEGA168";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-    stk500_devcode  = 0x86;
-    # avr910_devcode = 0x;
-    signature       = 0x1e 0x94 0x06;
-    pagel           = 0xd7;
-    bs2             = 0xc2;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
-                       "x x x x x x x x x x x x x x x x";
-
-    chip_erase       = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
-                       "x x x x x x x x x x x x x x x x";
-
-    timeout         = 200;
-    stabdelay       = 100;
-    cmdexedelay     = 25;
-    synchloops      = 32;
-    bytedelay       = 0;
-    pollindex       = 3;
-    pollvalue       = 0x53;
-    predelay        = 1;
-    postdelay       = 1;
-    pollmethod      = 1;
-
-    pp_controlstack     =
+	id              = "m168";
+	desc            = "ATMEGA168";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	stk500_devcode  = 0x86;
+	# avr910_devcode = 0x;
+	signature       = 0x1e 0x94 0x06;
+	pagel           = 0xd7;
+	bs2             = 0xc2;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
+					   "x x x x x x x x x x x x x x x x";
+
+	chip_erase       = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
+					   "x x x x x x x x x x x x x x x x";
+
+	timeout         = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        page_size       = 4;
-        size            = 512;
-        min_write_delay = 3600;
-        max_write_delay = 3600;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = " 1 0 1 0 0 0 0 0",
-                          " 0 0 0 x x x x a8",
-                          " a7 a6 a5 a4 a3 a2 a1 a0",
-                          " o o o o o o o o";
-
-        write           = " 1 1 0 0 0 0 0 0",
-                          " 0 0 0 x x x x a8",
-                          " a7 a6 a5 a4 a3 a2 a1 a0",
-                          " i i i i i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		page_size       = 4;
+		size            = 512;
+		min_write_delay = 3600;
+		max_write_delay = 3600;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = " 1 0 1 0 0 0 0 0",
+						  " 0 0 0 x x x x a8",
+						  " a7 a6 a5 a4 a3 a2 a1 a0",
+						  " o o o o o o o o";
+
+		write           = " 1 1 0 0 0 0 0 0",
+						  " 0 0 0 x x x x a8",
+						  " a7 a6 a5 a4 a3 a2 a1 a0",
+						  " i i i i i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 256;
-        ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = " 0 0 1 0 0 0 0 0",
-                          " 0 0 0 a12 a11 a10 a9 a8",
-                          " a7 a6 a5 a4 a3 a2 a1 a0",
-                          " o o o o o o o o";
-
-        read_hi          = " 0 0 1 0 1 0 0 0",
-                           " 0 0 0 a12 a11 a10 a9 a8",
-                           " a7 a6 a5 a4 a3 a2 a1 a0",
-                           " o o o o o o o o";
-
-        loadpage_lo     = " 0 1 0 0 0 0 0 0",
-                          " 0 0 0 x x x x x",
-                          " x x a5 a4 a3 a2 a1 a0",
-                          " i i i i i i i i";
-
-        loadpage_hi     = " 0 1 0 0 1 0 0 0",
-                          " 0 0 0 x x x x x",
-                          " x x a5 a4 a3 a2 a1 a0",
-                          " i i i i i i i i";
-
-        writepage       = " 0 1 0 0 1 1 0 0",
-                          " 0 0 0 a12 a11 a10 a9 a8",
-                          " a7 a6 x x x x x x",
-                          " x x x x x x x x";
-
-        mode        = 0x41;
-        delay       = 6;
-        blocksize   = 128;
-        readsize    = 256;
-
-        ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
-                          "x x x x x x x x o o o o o o o o";
-
-        write           = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
-                          "x x x x x x x x i i i i i i i i";
-        ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
-                          "x x x x x x x x o o o o o o o o";
-
-        write           = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
-                          "x x x x x x x x i i i i i i i i";
-        ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
-                          "x x x x x x x x x x x x x o o o";
-
-        write           = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
-                          "x x x x x x x x x x x x x i i i";
-        ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
-                          "x x x x x x x x x x o o o o o o";
-
-        write           = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
-                          "x x x x x x x x 1 1 i i i i i i";
-        ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
-                          "0 0 0 0 0 0 0 0 o o o o o o o o";
-        ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
-                          "x x x x x x a1 a0 o o o o o o o o";
-        ;
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 256;
+		;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = " 0 0 1 0 0 0 0 0",
+						  " 0 0 0 a12 a11 a10 a9 a8",
+						  " a7 a6 a5 a4 a3 a2 a1 a0",
+						  " o o o o o o o o";
+
+		read_hi          = " 0 0 1 0 1 0 0 0",
+						   " 0 0 0 a12 a11 a10 a9 a8",
+						   " a7 a6 a5 a4 a3 a2 a1 a0",
+						   " o o o o o o o o";
+
+		loadpage_lo     = " 0 1 0 0 0 0 0 0",
+						  " 0 0 0 x x x x x",
+						  " x x a5 a4 a3 a2 a1 a0",
+						  " i i i i i i i i";
+
+		loadpage_hi     = " 0 1 0 0 1 0 0 0",
+						  " 0 0 0 x x x x x",
+						  " x x a5 a4 a3 a2 a1 a0",
+						  " i i i i i i i i";
+
+		writepage       = " 0 1 0 0 1 1 0 0",
+						  " 0 0 0 a12 a11 a10 a9 a8",
+						  " a7 a6 x x x x x x",
+						  " x x x x x x x x";
+
+		mode        = 0x41;
+		delay       = 6;
+		blocksize   = 128;
+		readsize    = 256;
+
+		;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
+						  "x x x x x x x x o o o o o o o o";
+
+		write           = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
+						  "x x x x x x x x i i i i i i i i";
+		;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
+						  "x x x x x x x x o o o o o o o o";
+
+		write           = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
+						  "x x x x x x x x i i i i i i i i";
+		;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
+						  "x x x x x x x x x x x x x o o o";
+
+		write           = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
+						  "x x x x x x x x x x x x x i i i";
+		;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
+						  "x x x x x x x x x x o o o o o o";
+
+		write           = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
+						  "x x x x x x x x 1 1 i i i i i i";
+		;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
+						  "0 0 0 0 0 0 0 0 o o o o o o o o";
+		;
+
+	memory "signature"
+		size            = 3;
+		read            = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
+						  "x x x x x x a1 a0 o o o o o o o o";
+		;
 ;
 
 #------------------------------------------------------------
@@ -8153,185 +8153,185 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "t88";
-    desc             = "attiny88";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-    stk500_devcode   = 0x73;
+	id               = "t88";
+	desc             = "attiny88";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	stk500_devcode   = 0x73;
 #    avr910_devcode   = 0x;
-    signature        = 0x1e 0x93 0x11;
-    pagel            = 0xd7;
-    bs2              = 0xc2;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
+	signature        = 0x1e 0x93 0x11;
+	pagel            = 0xd7;
+	bs2              = 0xc2;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    resetdelay          = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no;
-        page_size       = 4;
-        size            = 64;
-        min_write_delay = 3600;
-        max_write_delay = 3600;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	resetdelay          = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no;
+		page_size       = 4;
+		size            = 64;
+		min_write_delay = 3600;
+		max_write_delay = 3600;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
 	read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
 
 	write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
+						  "  0   0   0   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
 
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 64;
-      ;
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 64;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0    0   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        read_hi         = "  0   0   1   0    1   0   0   0",
-                          "  0   0   0   0  a11 a10  a9  a8",
-                          " a7  a6  a5  a4   a3  a2  a1  a0",
-                          "  o   o   o   o    o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   x      x   x   x   x",
-                          "  x   x   x  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x   i i i i  i i i i";
-      ;
-
-    memory "efuse"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x   x x x x  x o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x   x x x x  x x x i";
-      ;
-
-    memory "lock"
-        size            = 1;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
-                          "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 64;
+	  ;
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 64;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0    0   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		read_hi         = "  0   0   1   0    1   0   0   0",
+						  "  0   0   0   0  a11 a10  a9  a8",
+						  " a7  a6  a5  a4   a3  a2  a1  a0",
+						  "  o   o   o   o    o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   x      x   x   x   x",
+						  "  x   x   x  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x   i i i i  i i i i";
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x   x x x x  x o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x   x x x x  x x x i";
+	  ;
+
+	memory "lock"
+		size            = 1;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0  0  1  1   1  0  0  0   0  0  0  x   x  x  x  x",
+						  "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -8339,100 +8339,100 @@ part
 #------------------------------------------------------------
 
 part
-    id			= "m328p";
-    desc		= "ATMEGA328P";
-    has_debugwire	= yes;
-    flash_instr		= 0xB6, 0x01, 0x11;
-    eeprom_instr	= 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+	id          = "m328p";
+	desc        = "ATMEGA328P";
+	has_debugwire   = yes;
+	flash_instr     = 0xB6, 0x01, 0x11;
+	eeprom_instr    = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
 			  0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
 			  0x99, 0xF9, 0xBB, 0xAF;
-    stk500_devcode	= 0x86;
-    # avr910_devcode	= 0x;
-    signature		= 0x1e 0x95 0x0F;
-    pagel		= 0xd7;
-    bs2			= 0xc2;
-    chip_erase_delay	= 9000;
-    pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
+	stk500_devcode  = 0x86;
+	# avr910_devcode    = 0x;
+	signature       = 0x1e 0x95 0x0F;
+	pagel       = 0xd7;
+	bs2         = 0xc2;
+	chip_erase_delay    = 9000;
+	pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
 		 "x x x x x x x x x x x x x x x x";
 
-    chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
+	chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
 		 "x x x x x x x x x x x x x x x x";
 
-    timeout	= 200;
-    stabdelay	= 100;
-    cmdexedelay	= 25;
-    synchloops	= 32;
-    bytedelay	= 0;
-    pollindex	= 3;
-    pollvalue	= 0x53;
-    predelay	= 1;
-    postdelay	= 1;
-    pollmethod	= 1;
-
-    pp_controlstack =
+	timeout = 200;
+	stabdelay   = 100;
+	cmdexedelay = 25;
+	synchloops  = 32;
+	bytedelay   = 0;
+	pollindex   = 3;
+	pollvalue   = 0x53;
+	predelay    = 1;
+	postdelay   = 1;
+	pollmethod  = 1;
+
+	pp_controlstack =
 	0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
 	0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
 	0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
 	0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay	= 100;
-    progmodedelay	= 0;
-    latchcycles		= 5;
-    togglevtg		= 1;
-    poweroffdelay	= 15;
-    resetdelayms	= 1;
-    resetdelayus	= 0;
-    hvleavestabdelay	= 15;
-    resetdelay		= 15;
-    chiperasepulsewidth	= 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-	paged		= no;
-	page_size	= 4;
-	size		= 1024;
+	hventerstabdelay    = 100;
+	progmodedelay   = 0;
+	latchcycles     = 5;
+	togglevtg       = 1;
+	poweroffdelay   = 15;
+	resetdelayms    = 1;
+	resetdelayus    = 0;
+	hvleavestabdelay    = 15;
+	resetdelay      = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+	paged       = no;
+	page_size   = 4;
+	size        = 1024;
 	min_write_delay = 3600;
 	max_write_delay = 3600;
-	readback_p1	= 0xff;
-	readback_p2	= 0xff;
+	readback_p1 = 0xff;
+	readback_p2 = 0xff;
 	read = " 1 0 1 0 0 0 0 0",
-	       " 0 0 0 x x x a9 a8",
-	       " a7 a6 a5 a4 a3 a2 a1 a0",
-	       " o o o o o o o o";
+		   " 0 0 0 x x x a9 a8",
+		   " a7 a6 a5 a4 a3 a2 a1 a0",
+		   " o o o o o o o o";
 
 	write = " 1 1 0 0 0 0 0 0",
-	      	" 0 0 0 x x x a9 a8",
+			" 0 0 0 x x x a9 a8",
 		" a7 a6 a5 a4 a3 a2 a1 a0",
 		" i i i i i i i i";
 
 	loadpage_lo = " 1 1 0 0 0 0 0 1",
-		      " 0 0 0 0 0 0 0 0",
-		      " 0 0 0 0 0 0 a1 a0",
-		      " i i i i i i i i";
+			  " 0 0 0 0 0 0 0 0",
+			  " 0 0 0 0 0 0 a1 a0",
+			  " i i i i i i i i";
 
 	writepage = " 1 1 0 0 0 0 1 0",
-		    " 0 0 x x x x a9 a8",
-		    " a7 a6 a5 a4 a3 a2 0 0",
-		    " x x x x x x x x";
-
-	mode		= 0x41;
-	delay		= 5;
-	blocksize	= 4;
-	readsize	= 256;
-    ;
-
-    memory "flash"
-	paged		= yes;
-	size		= 32768;
-	page_size	= 128;
-	num_pages	= 256;
+			" 0 0 x x x x a9 a8",
+			" a7 a6 a5 a4 a3 a2 0 0",
+			" x x x x x x x x";
+
+	mode        = 0x41;
+	delay       = 5;
+	blocksize   = 4;
+	readsize    = 256;
+	;
+
+	memory "flash"
+	paged       = yes;
+	size        = 32768;
+	page_size   = 128;
+	num_pages   = 256;
 	min_write_delay = 4500;
 	max_write_delay = 4500;
-	readback_p1	= 0xff;
-	readback_p2	= 0xff;
+	readback_p1 = 0xff;
+	readback_p2 = 0xff;
 	read_lo = " 0 0 1 0 0 0 0 0",
 		  " 0 0 a13 a12 a11 a10 a9 a8",
 		  " a7 a6 a5 a4 a3 a2 a1 a0",
@@ -8444,82 +8444,82 @@ part
 		  " o o o o o o o o";
 
 	loadpage_lo = " 0 1 0 0 0 0 0 0",
-		      " 0 0 0 x x x x x",
-		      " x x a5 a4 a3 a2 a1 a0",
-		      " i i i i i i i i";
+			  " 0 0 0 x x x x x",
+			  " x x a5 a4 a3 a2 a1 a0",
+			  " i i i i i i i i";
 
 	loadpage_hi = " 0 1 0 0 1 0 0 0",
-		      " 0 0 0 x x x x x",
-		      " x x a5 a4 a3 a2 a1 a0",
-		      " i i i i i i i i";
+			  " 0 0 0 x x x x x",
+			  " x x a5 a4 a3 a2 a1 a0",
+			  " i i i i i i i i";
 
 	writepage = " 0 1 0 0 1 1 0 0",
-		    " 0 0 a13 a12 a11 a10 a9 a8",
-		    " a7 a6 x x x x x x",
-		    " x x x x x x x x";
+			" 0 0 a13 a12 a11 a10 a9 a8",
+			" a7 a6 x x x x x x",
+			" x x x x x x x x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
 
-    ;
+	;
 
-    memory "lfuse"
+	memory "lfuse"
 	size = 1;
 	min_write_delay = 4500;
 	max_write_delay = 4500;
 	read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
-	       "x x x x x x x x o o o o o o o o";
+		   "x x x x x x x x o o o o o o o o";
 
 	write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
-	      	"x x x x x x x x i i i i i i i i";
-    ;
+			"x x x x x x x x i i i i i i i i";
+	;
 
-    memory "hfuse"
+	memory "hfuse"
 	size = 1;
 	min_write_delay = 4500;
 	max_write_delay = 4500;
 	read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
-	       "x x x x x x x x o o o o o o o o";
+		   "x x x x x x x x o o o o o o o o";
 
 	write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
-	      	"x x x x x x x x i i i i i i i i";
-    ;
+			"x x x x x x x x i i i i i i i i";
+	;
 
-    memory "efuse"
+	memory "efuse"
 	size = 1;
 	min_write_delay = 4500;
 	max_write_delay = 4500;
 	read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
-	       "x x x x x x x x x x x x x o o o";
+		   "x x x x x x x x x x x x x o o o";
 
 	write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
-	      	"x x x x x x x x x x x x x i i i";
-    ;
+			"x x x x x x x x x x x x x i i i";
+	;
 
-    memory "lock"
+	memory "lock"
 	size = 1;
 	min_write_delay = 4500;
 	max_write_delay = 4500;
 	read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
-	       "x x x x x x x x x x o o o o o o";
+		   "x x x x x x x x x x o o o o o o";
 
 	write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
-	      	"x x x x x x x x 1 1 i i i i i i";
-    ;
+			"x x x x x x x x 1 1 i i i i i i";
+	;
 
-    memory "calibration"
+	memory "calibration"
 	size = 1;
 	read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
-	       "0 0 0 0 0 0 0 0 o o o o o o o o";
-    ;
+		   "0 0 0 0 0 0 0 0 o o o o o o o o";
+	;
 
-    memory "signature"
+	memory "signature"
 	size = 3;
 	read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
-	       "x x x x x x a1 a0 o o o o o o o o";
-    ;
+		   "x x x x x x a1 a0 o o o o o o o o";
+	;
 ;
 
 #------------------------------------------------------------
@@ -8527,186 +8527,186 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t2313";
-     desc          = "ATtiny2313";
-     has_debugwire = yes;
-     flash_instr   = 0xB2, 0x0F, 0x1F;
-     eeprom_instr  = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
-     stk500_devcode   = 0x23;
+	 id            = "t2313";
+	 desc          = "ATtiny2313";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB2, 0x0F, 0x1F;
+	 eeprom_instr  = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
+	 stk500_devcode   = 0x23;
 ##   Use the ATtiny26 devcode:
-     avr910_devcode   = 0x5e;
-     signature        = 0x1e 0x91 0x0a;
-     pagel            = 0xD4;
-     bs2              = 0xD6;
-     reset            = io;
-     chip_erase_delay = 9000;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
-        0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
-        0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
-        0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-     memory "eeprom"
-         size            = 128;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x5e;
+	 signature        = 0x1e 0x91 0x0a;
+	 pagel            = 0xD4;
+	 bs2              = 0xD6;
+	 reset            = io;
+	 chip_erase_delay = 9000;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
+		0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
+		0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
+		0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	 memory "eeprom"
+		 size            = 128;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 2048;
-         page_size       = 32;
-         num_pages       = 64;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 2048;
+		 page_size       = 32;
+		 num_pages       = 64;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
 
 # The information in the data sheet of April/2004 is wrong, this works:
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
 
 # The information in the data sheet of April/2004 is wrong, this works:
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
 
 # The information in the data sheet of April/2004 is wrong, this works:
-         writepage       = "  0  1  0  0   1  1  0  0",
-                           "  0  0  0  0   0  0 a9 a8",
-                           " a7 a6 a5 a4   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+		 writepage       = "  0  1  0  0   1  1  0  0",
+						   "  0  0  0  0   0  0 a9 a8",
+						   " a7 a6 a5 a4   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-         read           = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  x x o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+		 read           = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  x x o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
 # The Tiny2313 has calibration data for both 4 MHz and 8 MHz.
 # The information in the data sheet of April/2004 is wrong, this works:
 
-     memory "calibration"
-         size            = 2;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "calibration"
+		 size            = 2;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -8714,181 +8714,181 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "pwm2";
-     desc          = "AT90PWM2";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-     stk500_devcode   = 0x65;
+	 id            = "pwm2";
+	 desc          = "AT90PWM2";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	 stk500_devcode   = 0x65;
 ##  avr910_devcode   = ?;
-     signature        = 0x1e 0x93 0x81;
-     pagel            = 0xD8;
-     bs2              = 0xE2;
-     reset            = io;
-     chip_erase_delay = 9000;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 signature        = 0x1e 0x93 0x81;
+	 pagel            = 0xD8;
+	 bs2              = 0xE2;
+	 reset            = io;
+	 chip_erase_delay = 9000;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0   0",
-                           "  0  0  0  0   a11 a10 a9  a8",
-                           " a7 a6 a5  x   x   x   x   x",
-                           "  x  x  x  x   x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0   0",
+						   "  0  0  0  0   a11 a10 a9  a8",
+						   " a7 a6 a5  x   x   x   x   x",
+						   "  x  x  x  x   x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	   ;
 #   AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  x x o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  0    o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  x x o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -8898,181 +8898,181 @@ part
 # Completely identical to AT90PWM2 (including the signature!)
 
 part
-     id            = "pwm3";
-     desc          = "AT90PWM3";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-     stk500_devcode   = 0x65;
+	 id            = "pwm3";
+	 desc          = "AT90PWM3";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	 stk500_devcode   = 0x65;
 ##  avr910_devcode   = ?;
-     signature        = 0x1e 0x93 0x81;
-     pagel            = 0xD8;
-     bs2              = 0xE2;
-     reset            = io;
-     chip_erase_delay = 9000;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 signature        = 0x1e 0x93 0x81;
+	 pagel            = 0xD8;
+	 bs2              = 0xE2;
+	 reset            = io;
+	 chip_erase_delay = 9000;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0   0",
-                           "  0  0  0  0   a11 a10 a9  a8",
-                           " a7 a6 a5  x   x   x   x   x",
-                           "  x  x  x  x   x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0   0",
+						   "  0  0  0  0   a11 a10 a9  a8",
+						   " a7 a6 a5  x   x   x   x   x",
+						   "  x  x  x  x   x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	   ;
 #   AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  x x o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  0    o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  x x o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9081,180 +9081,180 @@ part
 # Same as AT90PWM2 but different signature.
 
 part
-     id            = "pwm2b";
-     desc          = "AT90PWM2B";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-     stk500_devcode   = 0x65;
+	 id            = "pwm2b";
+	 desc          = "AT90PWM2B";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	 stk500_devcode   = 0x65;
 ##  avr910_devcode   = ?;
-     signature        = 0x1e 0x93 0x83;
-     pagel            = 0xD8;
-     bs2              = 0xE2;
-     reset            = io;
-     chip_erase_delay = 9000;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 signature        = 0x1e 0x93 0x83;
+	 pagel            = 0xD8;
+	 bs2              = 0xE2;
+	 reset            = io;
+	 chip_erase_delay = 9000;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0   0",
-                           "  0  0  0  0   a11 a10 a9  a8",
-                           " a7 a6 a5  x   x   x   x   x",
-                           "  x  x  x  x   x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-       ;
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  x x o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  0    o o o o  o o o o";
-     ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0   0",
+						   "  0  0  0  0   a11 a10 a9  a8",
+						   " a7 a6 a5  x   x   x   x   x",
+						   "  x  x  x  x   x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	   ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  x x o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9264,180 +9264,180 @@ part
 # Completely identical to AT90PWM2B (including the signature!)
 
 part
-     id            = "pwm3b";
-     desc          = "AT90PWM3B";
-     has_debugwire = yes;
-     flash_instr   = 0xB6, 0x01, 0x11;
-     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
-	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
-	             0x99, 0xF9, 0xBB, 0xAF;
-     stk500_devcode   = 0x65;
+	 id            = "pwm3b";
+	 desc          = "AT90PWM3B";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB6, 0x01, 0x11;
+	 eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
+				 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
+				 0x99, 0xF9, 0xBB, 0xAF;
+	 stk500_devcode   = 0x65;
 ##  avr910_devcode   = ?;
-     signature        = 0x1e 0x93 0x83;
-     pagel            = 0xD8;
-     bs2              = 0xE2;
-     reset            = io;
-     chip_erase_delay = 9000;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 signature        = 0x1e 0x93 0x83;
+	 pagel            = 0xD8;
+	 bs2              = 0xE2;
+	 reset            = io;
+	 chip_erase_delay = 9000;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0  i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0   a11 a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0   0",
-                           "  0  0  0  0   a11 a10 a9  a8",
-                           " a7 a6 a5  x   x   x   x   x",
-                           "  x  x  x  x   x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 64;
-	readsize	= 256;
-       ;
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  x x o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  0    o o o o  o o o o";
-     ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0   a11 a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0   0",
+						   "  0  0  0  0   a11 a10 a9  a8",
+						   " a7 a6 a5  x   x   x   x   x",
+						   "  x  x  x  x   x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 64;
+	readsize    = 256;
+	   ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  x  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  x x o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  0    o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9445,179 +9445,179 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t25";
-     desc          = "ATtiny25";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x02, 0x12;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	 id            = "t25";
+	 desc          = "ATtiny25";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x02, 0x12;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 ## no STK500 devcode in XML file, use the ATtiny45 one
-     stk500_devcode   = 0x14;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x91 0x08;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 128;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x91 0x08;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 128;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 2048;
-         page_size       = 32;
-         num_pages       = 64;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1  1  0  0",
-                           "  0  0  0  0   0  0 a9 a8",
-                           " a7 a6 a5 a4   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 2048;
+		 page_size       = 32;
+		 num_pages       = 64;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1  1  0  0",
+						   "  0  0  0  0   0  0 a9 a8",
+						   " a7 a6 a5 a4   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny25 has Signature Bytes: 0x1E 0x91 0x08.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 2;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 2;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9625,178 +9625,178 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t45";
-     desc          = "ATtiny45";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x02, 0x12;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
-     stk500_devcode   = 0x14;
+	 id            = "t45";
+	 desc          = "ATtiny45";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x02, 0x12;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x92 0x06;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack     =
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x92 0x06;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack     =
 	0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 256;
-         page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 256;
+		 page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 4096;
-         page_size       = 64;
-         num_pages       = 64;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0    0  a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0    0  a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1  1  0  0",
-                           "  0  0  0  0   0 a10 a9 a8",
-                           " a7 a6 a5  x   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 4096;
+		 page_size       = 64;
+		 num_pages       = 64;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0    0  a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0    0  a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1  1  0  0",
+						   "  0  0  0  0   0 a10 a9 a8",
+						   " a7 a6 a5  x   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!)
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 2;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 2;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9804,179 +9804,179 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t85";
-     desc          = "ATtiny85";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x02, 0x12;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	 id            = "t85";
+	 desc          = "ATtiny85";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x02, 0x12;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 ## no STK500 devcode in XML file, use the ATtiny45 one
-     stk500_devcode   = 0x14;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x93 0x0b;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x a8",
-                           "a8 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x93 0x0b;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x a8",
+						   "a8 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x  a8",
 			  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0  a11 a10  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0  a11 a10  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0  0",
-                           "  0  0  0  0  a11 a10 a9 a8",
-                           " a7 a6 a5  x   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0  a11 a10  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0  a11 a10  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0  0",
+						   "  0  0  0  0  a11 a10 a9 a8",
+						   " a7 a6 a5  x   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny85 has Signature Bytes: 0x1E 0x93 0x08.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 2;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 2;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -9985,187 +9985,187 @@ part
 # Almost same as ATmega1280, except for different memory sizes
 
 part
-    id               = "m640";
-    desc             = "ATMEGA640";
-    signature        = 0x1e 0x96 0x08;
-    has_jtag         = yes;
+	id               = "m640";
+	desc             = "ATMEGA640";
+	signature        = 0x1e 0x96 0x08;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -10173,187 +10173,187 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m1280";
-    desc             = "ATMEGA1280";
-    signature        = 0x1e 0x97 0x03;
-    has_jtag         = yes;
+	id               = "m1280";
+	desc             = "ATMEGA1280";
+	signature        = 0x1e 0x97 0x03;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -10362,187 +10362,187 @@ part
 # Identical to ATmega1280
 
 part
-    id               = "m1281";
-    desc             = "ATMEGA1281";
-    signature        = 0x1e 0x97 0x04;
-    has_jtag         = yes;
+	id               = "m1281";
+	desc             = "ATMEGA1281";
+	signature        = 0x1e 0x97 0x04;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -10550,192 +10550,192 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m2560";
-    desc             = "ATMEGA2560";
-    signature        = 0x1e 0x98 0x01;
-    has_jtag         = yes;
+	id               = "m2560";
+	desc             = "ATMEGA2560";
+	signature        = 0x1e 0x98 0x01;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 262144;
-        page_size       = 256;
-        num_pages       = 1024;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-        load_ext_addr   = "  0   1   0   0      1   1   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0 a16",
-                          "  0   0   0   0      0   0   0   0";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 262144;
+		page_size       = 256;
+		num_pages       = 1024;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+		load_ext_addr   = "  0   1   0   0      1   1   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0 a16",
+						  "  0   0   0   0      0   0   0   0";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -10743,192 +10743,192 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m2561";
-    desc             = "ATMEGA2561";
-    signature        = 0x1e 0x98 0x02;
-    has_jtag         = yes;
+	id               = "m2561";
+	desc             = "ATMEGA2561";
+	signature        = 0x1e 0x98 0x02;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 262144;
-        page_size       = 256;
-        num_pages       = 1024;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-        load_ext_addr   = "  0   1   0   0      1   1   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0 a16",
-                          "  0   0   0   0      0   0   0   0";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 262144;
+		page_size       = 256;
+		num_pages       = 1024;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+		load_ext_addr   = "  0   1   0   0      1   1   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0 a16",
+						  "  0   0   0   0      0   0   0   0";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -10937,187 +10937,187 @@ part
 # Identical to ATmega2561 but half the ROM
 
 part
-    id               = "m128rfa1";
-    desc             = "ATMEGA128RFA1";
-    signature        = 0x1e 0xa7 0x01;
-    has_jtag         = yes;
+	id               = "m128rfa1";
+	desc             = "ATMEGA128RFA1";
+	signature        = 0x1e 0xa7 0x01;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xE2;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xE2;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x    a11 a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  x i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  x i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -11125,181 +11125,181 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t24";
-     desc          = "ATtiny24";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x07, 0x17;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	 id            = "t24";
+	 desc          = "ATtiny24";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x07, 0x17;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 ## no STK500 devcode in XML file, use the ATtiny45 one
-     stk500_devcode   = 0x14;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x91 0x0b;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 70;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 128;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
-                           "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x91 0x0b;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 70;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 128;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0   0 0 0 x  x x x x",
+						   "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 2048;
-         page_size       = 32;
-         num_pages       = 64;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0    0   0  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x   x   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1  1  0  0",
-                           "  0  0  0  0   0  0 a9 a8",
-                           " a7 a6 a5 a4   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 2048;
+		 page_size       = 32;
+		 num_pages       = 64;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0    0   0  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x   x   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1  1  0  0",
+						   "  0  0  0  0   0  0 a9 a8",
+						   " a7 a6 a5 a4   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  x x x x  x x i i";
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "0 0 0 0  0 0 0 0  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  x x x x  x x i i";
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "0 0 0 0  0 0 0 0  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -11307,181 +11307,181 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t44";
-     desc          = "ATtiny44";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x07, 0x17;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-                     0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
-                     0x99, 0xE1, 0xBB, 0xAC;
+	 id            = "t44";
+	 desc          = "ATtiny44";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x07, 0x17;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+					 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
+					 0x99, 0xE1, 0xBB, 0xAC;
 ## no STK500 devcode in XML file, use the ATtiny45 one
-     stk500_devcode   = 0x14;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x92 0x07;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 70;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 256;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x92 0x07;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 70;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 256;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x x",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x x",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 4096;
-         page_size       = 64;
-         num_pages       = 64;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0    0  a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0    0  a10 a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1  1  0  0",
-                           "  0  0  0  0   0 a10 a9 a8",
-                           " a7 a6 a5  x   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 4096;
+		 page_size       = 64;
+		 num_pages       = 64;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0    0  a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0    0  a10 a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1  1  0  0",
+						   "  0  0  0  0   0 a10 a9 a8",
+						   " a7 a6 a5  x   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny44 has Signature Bytes: 0x1E 0x92 0x07.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  x x x x  x x i i";
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "0 0 0 0  0 0 0 0  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  x x x x  x x i i";
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "0 0 0 0  0 0 0 0  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -11489,182 +11489,182 @@ part
 #------------------------------------------------------------
 
 part
-     id            = "t84";
-     desc          = "ATtiny84";
-     has_debugwire = yes;
-     flash_instr   = 0xB4, 0x07, 0x17;
-     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
-	             0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
-	             0x99, 0xE1, 0xBB, 0xAC;
+	 id            = "t84";
+	 desc          = "ATtiny84";
+	 has_debugwire = yes;
+	 flash_instr   = 0xB4, 0x07, 0x17;
+	 eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+				 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
+				 0x99, 0xE1, 0xBB, 0xAC;
 ## no STK500 devcode in XML file, use the ATtiny45 one
-     stk500_devcode   = 0x14;
+	 stk500_devcode   = 0x14;
 ##  avr910_devcode   = ?;
 ##  Try the AT90S2313 devcode:
-     avr910_devcode   = 0x20;
-     signature        = 0x1e 0x93 0x0c;
-     reset            = io;
-     chip_erase_delay = 4500;
-
-     pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-     chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                        "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    hvsp_controlstack   =
-        0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
-        0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
-        0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
-        0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
-    hventerstabdelay    = 100;
-    hvspcmdexedelay     = 0;
-    synchcycles         = 6;
-    latchcycles         = 1;
-    togglevtg           = 1;
-    poweroffdelay       = 25;
-    resetdelayms        = 0;
-    resetdelayus        = 70;
-    hvleavestabdelay    = 100;
-    resetdelay          = 25;
-    chiperasepolltimeout = 40;
-    chiperasetime       = 0;
-    programfusepolltimeout = 25;
-    programlockpolltimeout = 25;
-
-     memory "eeprom"
-         size            = 512;
-        paged           = no;
-        page_size       = 4;
-         min_write_delay = 4000;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x a8",
-                           "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
-
-         write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x a8",
-                           "a8 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	 avr910_devcode   = 0x20;
+	 signature        = 0x1e 0x93 0x0c;
+	 reset            = io;
+	 chip_erase_delay = 4500;
+
+	 pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	 chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+						"x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	hvsp_controlstack   =
+		0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
+		0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
+		0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
+		0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
+	hventerstabdelay    = 100;
+	hvspcmdexedelay     = 0;
+	synchcycles         = 6;
+	latchcycles         = 1;
+	togglevtg           = 1;
+	poweroffdelay       = 25;
+	resetdelayms        = 0;
+	resetdelayus        = 70;
+	hvleavestabdelay    = 100;
+	resetdelay          = 25;
+	chiperasepolltimeout = 40;
+	chiperasetime       = 0;
+	programfusepolltimeout = 25;
+	programlockpolltimeout = 25;
+
+	 memory "eeprom"
+		 size            = 512;
+		paged           = no;
+		page_size       = 4;
+		 min_write_delay = 4000;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read            = "1  0  1  0   0  0  0  0    0 0 0 x  x x x a8",
+						   "a7 a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";
+
+		 write           = "1  1  0  0   0  0  0  0    0 0 0 x  x x x a8",
+						   "a8 a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x   x   x   x",
 			  "  x  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 4;
-	readsize	= 256;
-       ;
-     memory "flash"
-         paged           = yes;
-         size            = 8192;
-         page_size       = 64;
-         num_pages       = 128;
-         min_write_delay = 4500;
-         max_write_delay = 4500;
-         readback_p1     = 0xff;
-         readback_p2     = 0xff;
-         read_lo         = "  0   0   1   0    0   0   0   0",
-                           "  0   0   0   0  a11 a10  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         read_hi         = "  0   0   1   0    1   0   0   0",
-                           "  0   0   0   0  a11 a10  a9  a8",
-                           " a7  a6  a5  a4   a3  a2  a1  a0",
-                           "  o   o   o   o    o   o   o   o";
-
-         loadpage_lo     = "  0   1   0   0    0   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         loadpage_hi     = "  0   1   0   0    1   0   0   0",
-                           "  0   0   0   x    x   x   x   x",
-                           "  x   x   x  a4   a3  a2  a1  a0",
-                           "  i   i   i   i    i   i   i   i";
-
-         writepage       = "  0  1  0  0   1   1   0  0",
-                           "  0  0  0  0  a11 a10 a9 a8",
-                           " a7 a6 a5  x   x  x  x  x",
-                           "  x  x  x  x   x  x  x  x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 32;
-	readsize	= 256;
-       ;
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 4;
+	readsize    = 256;
+	   ;
+	 memory "flash"
+		 paged           = yes;
+		 size            = 8192;
+		 page_size       = 64;
+		 num_pages       = 128;
+		 min_write_delay = 4500;
+		 max_write_delay = 4500;
+		 readback_p1     = 0xff;
+		 readback_p2     = 0xff;
+		 read_lo         = "  0   0   1   0    0   0   0   0",
+						   "  0   0   0   0  a11 a10  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 read_hi         = "  0   0   1   0    1   0   0   0",
+						   "  0   0   0   0  a11 a10  a9  a8",
+						   " a7  a6  a5  a4   a3  a2  a1  a0",
+						   "  o   o   o   o    o   o   o   o";
+
+		 loadpage_lo     = "  0   1   0   0    0   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 loadpage_hi     = "  0   1   0   0    1   0   0   0",
+						   "  0   0   0   x    x   x   x   x",
+						   "  x   x   x  a4   a3  a2  a1  a0",
+						   "  i   i   i   i    i   i   i   i";
+
+		 writepage       = "  0  1  0  0   1   1   0  0",
+						   "  0  0  0  0  a11 a10 a9 a8",
+						   " a7 a6 a5  x   x  x  x  x",
+						   "  x  x  x  x   x  x  x  x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 32;
+	readsize    = 256;
+	   ;
 #   ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C.
-     memory "signature"
-         size            = 3;
-         read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                           "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-       ;
-
-     memory "lock"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
-                           "x x x x  x x x x  x x x x  x x i i";
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
-                           "0 0 0 0  0 0 0 0  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "lfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "hfuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                           "x x x x  x x x x  i i i i  i i i i";
-
-         read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-       ;
-
-     memory "efuse"
-         size            = 1;
-         write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                           "x x x x  x x x x  x x x x  x x x i";
-
-         read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                           "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-     ;
-
-     memory "calibration"
-         size            = 1;
-         read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
-                           "0  0  0  0   0  0  0  a0   o o o o  o o o o";
-     ;
+	 memory "signature"
+		 size            = 3;
+		 read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						   "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	   ;
+
+	 memory "lock"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 1 1 x  x x x x",
+						   "x x x x  x x x x  x x x x  x x i i";
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  0 0 0 0",
+						   "0 0 0 0  0 0 0 0  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "lfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "hfuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						   "x x x x  x x x x  i i i i  i i i i";
+
+		 read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	   ;
+
+	 memory "efuse"
+		 size            = 1;
+		 write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						   "x x x x  x x x x  x x x x  x x x i";
+
+		 read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						   "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	 ;
+
+	 memory "calibration"
+		 size            = 1;
+		 read            = "0  0  1  1   1  0  0  0    0 0 0 x  x x x x",
+						   "0  0  0  0   0  0  0  a0   o o o o  o o o o";
+	 ;
   ;
 
 #------------------------------------------------------------
@@ -11672,187 +11672,187 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m32u4";
-    desc             = "ATmega32U4";
-    signature        = 0x1e 0x95 0x87;
-    has_jtag         = yes;
+	id               = "m32u4";
+	desc             = "ATmega32U4";
+	signature        = 0x1e 0x95 0x87;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -11860,187 +11860,187 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "usb646";
-    desc             = "AT90USB646";
-    signature        = 0x1e 0x96 0x82;
-    has_jtag         = yes;
+	id               = "usb646";
+	desc             = "AT90USB646";
+	signature        = 0x1e 0x96 0x82;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -12049,187 +12049,187 @@ part
 # identical to AT90USB646
 
 part
-    id               = "usb647";
-    desc             = "AT90USB647";
-    signature        = 0x1e 0x96 0x82;
-    has_jtag         = yes;
+	id               = "usb647";
+	desc             = "AT90USB647";
+	signature        = 0x1e 0x96 0x82;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -12237,187 +12237,187 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "usb1286";
-    desc             = "AT90USB1286";
-    signature        = 0x1e 0x97 0x82;
-    has_jtag         = yes;
+	id               = "usb1286";
+	desc             = "AT90USB1286";
+	signature        = 0x1e 0x97 0x82;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -12426,187 +12426,187 @@ part
 # identical to AT90USB1286
 
 part
-    id               = "usb1287";
-    desc             = "AT90USB1287";
-    signature        = 0x1e 0x97 0x82;
-    has_jtag         = yes;
+	id               = "usb1287";
+	desc             = "AT90USB1287";
+	signature        = 0x1e 0x97 0x82;
+	has_jtag         = yes;
 #    stk500_devcode   = 0xB2;
 #    avr910_devcode   = 0x43;
-    chip_erase_delay = 9000;
-    pagel            = 0xD7;
-    bs2              = 0xA0;
-    reset            = dedicated;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "x x x x  x x x x    x x x x  x x x x";
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    rampz               = 0x3b;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 4096;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  x   x   x   x    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	chip_erase_delay = 9000;
+	pagel            = 0xD7;
+	bs2              = 0xA0;
+	reset            = dedicated;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "x x x x  x x x x    x x x x  x x x x";
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	rampz               = 0x3b;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 4096;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  x   x   x   x    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0  a2  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
 			  "  0   0   x   x      x a10  a9  a8",
 			  " a7  a6  a5  a4     a3   0   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 10;
-	blocksize	= 8;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 131072;
-        page_size       = 256;
-        num_pages       = 512;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7   x   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 256;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  x x x x  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 10;
+	blocksize   = 8;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 131072;
+		page_size       = 256;
+		num_pages       = 512;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7   x   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 256;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  x x x x  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    x x x x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   x  x  x  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 
@@ -12615,179 +12615,179 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "usb162";
-    desc             = "AT90USB162";
-    has_jtag         = no;
-    has_debugwire    = yes;
-    signature        = 0x1e 0x94 0x82;
-    chip_erase_delay = 9000;
-    reset            = io;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-    pagel            = 0xD7;
-    bs2              = 0xC6;
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        num_pages       = 128;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	id               = "usb162";
+	desc             = "AT90USB162";
+	has_jtag         = no;
+	has_debugwire    = yes;
+	signature        = 0x1e 0x94 0x82;
+	chip_erase_delay = 9000;
+	reset            = io;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+	pagel            = 0xD7;
+	bs2              = 0xC6;
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		num_pages       = 128;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2   0   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 4;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 16384;
-        page_size       = 128;
-        num_pages       = 128;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 4;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 16384;
+		page_size       = 128;
+		num_pages       = 128;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -12799,179 +12799,179 @@ part
 #        num_pages       = 64;
 
 part
-    id               = "usb82";
-    desc             = "AT90USB82";
-    has_jtag         = no;
-    has_debugwire    = yes;
-    signature        = 0x1e 0x93 0x82;
-    chip_erase_delay = 9000;
-    reset            = io;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "x x x x  x x x x    x x x x  x x x x";
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
-                       "x x x x  x x x x    x x x x  x x x x";
-    pagel            = 0xD7;
-    bs2              = 0xC6;
-
-    timeout		= 200;
-    stabdelay		= 100;
-    cmdexedelay		= 25;
-    synchloops		= 32;
-    bytedelay		= 0;
-    pollindex		= 3;
-    pollvalue		= 0x53;
-    predelay		= 1;
-    postdelay		= 1;
-    pollmethod		= 1;
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 512;
-        num_pages       = 128;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-	loadpage_lo	= "  1   1   0   0      0   0   0   1",
+	id               = "usb82";
+	desc             = "AT90USB82";
+	has_jtag         = no;
+	has_debugwire    = yes;
+	signature        = 0x1e 0x93 0x82;
+	chip_erase_delay = 9000;
+	reset            = io;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "x x x x  x x x x    x x x x  x x x x";
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
+					   "x x x x  x x x x    x x x x  x x x x";
+	pagel            = 0xD7;
+	bs2              = 0xC6;
+
+	timeout     = 200;
+	stabdelay       = 100;
+	cmdexedelay     = 25;
+	synchloops      = 32;
+	bytedelay       = 0;
+	pollindex       = 3;
+	pollvalue       = 0x53;
+	predelay        = 1;
+	postdelay       = 1;
+	pollmethod      = 1;
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 512;
+		num_pages       = 128;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+	loadpage_lo = "  1   1   0   0      0   0   0   1",
 			  "  0   0   0   0      0   0   0   0",
 			  "  0   0   0   0      0   0  a1  a0",
 			  "  i   i   i   i      i   i   i   i";
 
-	writepage	= "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2   0   0",
+	writepage   = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2   0   0",
 			  "  x   x   x   x      x   x   x   x";
 
-	mode		= 0x41;
-	delay		= 20;
-	blocksize	= 4;
-	readsize	= 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 8192;
-        page_size       = 128;
-        num_pages       = 64;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0x00;
-        readback_p2     = 0x00;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  x   x   x   x      x   x   x   x",
-                          "  x   x  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "a15 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6   x   x      x   x   x   x",
-                          "  x   x   x   x      x   x   x   x";
-
-	mode		= 0x41;
-	delay		= 6;
-	blocksize	= 128;
-	readsize	= 256;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "x x x x  x x x x  i i i i  i i i i";
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "x x x x  x x x x  o o o o  o o o o";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
-                          "x x x x  x x x x   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "calibration"
-        size            = 1;
-        read            = "0 0 1 1  1 0 0 0    0 0 0 x  x x x x",
-                          "0 0 0 0  0 0 0 0    o o o o  o o o o";
-      ;
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
-                          "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
-      ;
+	mode        = 0x41;
+	delay       = 20;
+	blocksize   = 4;
+	readsize    = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 8192;
+		page_size       = 128;
+		num_pages       = 64;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0x00;
+		readback_p2     = 0x00;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  x   x   x   x      x   x   x   x",
+						  "  x   x  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "a15 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6   x   x      x   x   x   x",
+						  "  x   x   x   x      x   x   x   x";
+
+	mode        = 0x41;
+	delay       = 6;
+	blocksize   = 128;
+	readsize    = 256;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  1 0 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  1 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "x x x x  x x x x  i i i i  i i i i";
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "x x x x  x x x x  o o o o  o o o o";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 x  x x x x",
+						  "x x x x  x x x x   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "calibration"
+		size            = 1;
+		read            = "0 0 1 1  1 0 0 0    0 0 0 x  x x x x",
+						  "0 0 0 0  0 0 0 0    o o o o  o o o o";
+	  ;
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  x   x  x  x  x",
+						  "x  x  x  x   x  x a1 a0   o  o  o  o   o  o  o  o";
+	  ;
   ;
 
 #------------------------------------------------------------
@@ -12979,188 +12979,188 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m325";
-    desc             = "ATMEGA325";
-    signature        = 0x1e 0x95 0x05;
-    has_jtag         = yes;
+	id               = "m325";
+	desc             = "ATMEGA325";
+	signature        = 0x1e 0x95 0x05;
+	has_jtag         = yes;
 #   stk500_devcode   = 0x??; # No STK500v1 support?
 #   avr910_devcode   = 0x??; # Try the ATmega16 one
-    avr910_devcode   = 0x74;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    timeout             = 200;
-    stabdelay           = 100;
-    cmdexedelay         = 25;
-    synchloops          = 32;
-    bytedelay           = 0;
-    pollindex           = 3;
-    pollvalue           = 0x53;
-    predelay            = 1;
-    postdelay           = 1;
-    pollmethod          = 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_lo     = "  1   1   0   0      0   0   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2   0   0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 4;
-        readsize        = 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 128;
-        readsize        = 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
-                          "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	avr910_devcode   = 0x74;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	timeout             = 200;
+	stabdelay           = 100;
+	cmdexedelay         = 25;
+	synchloops          = 32;
+	bytedelay           = 0;
+	pollindex           = 3;
+	pollvalue           = 0x53;
+	predelay            = 1;
+	postdelay           = 1;
+	pollmethod          = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_lo     = "  1   1   0   0      0   0   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2   0   0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 4;
+		readsize        = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 128;
+		readsize        = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
+						  "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 #------------------------------------------------------------
@@ -13168,188 +13168,188 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m645";
-    desc             = "ATMEGA645";
-    signature        = 0x1E 0x96 0x05;
-    has_jtag         = yes;
+	id               = "m645";
+	desc             = "ATMEGA645";
+	signature        = 0x1E 0x96 0x05;
+	has_jtag         = yes;
 #   stk500_devcode   = 0x??; # No STK500v1 support?
 #   avr910_devcode   = 0x??; # Try the ATmega16 one
-    avr910_devcode   = 0x74;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    timeout             = 200;
-    stabdelay           = 100;
-    cmdexedelay         = 25;
-    synchloops          = 32;
-    bytedelay           = 0;
-    pollindex           = 3;
-    pollvalue           = 0x53;
-    predelay            = 1;
-    postdelay           = 1;
-    pollmethod          = 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_lo     = "  1   1   0   0      0   0   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3   0   0   0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 8;
-        readsize        = 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "   0   0   1   0      0   0   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   o   o   o   o      o   o   o   o";
-
-        read_hi         = "   0   0   1   0      1   0   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          "  a7 a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          "  a7 a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "   0   1   0   0      1   1   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   0   0   0   0      0   0   0   0";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 128;
-        readsize        = 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
-                          "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	avr910_devcode   = 0x74;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	timeout             = 200;
+	stabdelay           = 100;
+	cmdexedelay         = 25;
+	synchloops          = 32;
+	bytedelay           = 0;
+	pollindex           = 3;
+	pollvalue           = 0x53;
+	predelay            = 1;
+	postdelay           = 1;
+	pollmethod          = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_lo     = "  1   1   0   0      0   0   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3   0   0   0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 8;
+		readsize        = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "   0   0   1   0      0   0   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   o   o   o   o      o   o   o   o";
+
+		read_hi         = "   0   0   1   0      1   0   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  "  a7 a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  "  a7 a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "   0   1   0   0      1   1   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   0   0   0   0      0   0   0   0";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 128;
+		readsize        = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
+						  "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 #------------------------------------------------------------
@@ -13357,188 +13357,188 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m3250";
-    desc             = "ATMEGA3250";
-    signature        = 0x1E 0x95 0x06;
-    has_jtag         = yes;
+	id               = "m3250";
+	desc             = "ATMEGA3250";
+	signature        = 0x1E 0x95 0x06;
+	has_jtag         = yes;
 #   stk500_devcode   = 0x??; # No STK500v1 support?
 #   avr910_devcode   = 0x??; # Try the ATmega16 one
-    avr910_devcode   = 0x74;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    timeout             = 200;
-    stabdelay           = 100;
-    cmdexedelay         = 25;
-    synchloops          = 32;
-    bytedelay           = 0;
-    pollindex           = 3;
-    pollvalue           = 0x53;
-    predelay            = 1;
-    postdelay           = 1;
-    pollmethod          = 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 4;  /* for parallel programming */
-        size            = 1024;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_lo     = "  1   1   0   0      0   0   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0      0   0  a9  a8",
-                          " a7  a6  a5  a4     a3  a2   0   0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 4;
-        readsize        = 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 32768;
-        page_size       = 128;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "  0   0   1   0      0   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        read_hi         = "  0   0   1   0      1   0   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  0   1   0   0      1   1   0   0",
-                          "  0 a14 a13 a12    a11 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 128;
-        readsize        = 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
-                          "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	avr910_devcode   = 0x74;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	timeout             = 200;
+	stabdelay           = 100;
+	cmdexedelay         = 25;
+	synchloops          = 32;
+	bytedelay           = 0;
+	pollindex           = 3;
+	pollvalue           = 0x53;
+	predelay            = 1;
+	postdelay           = 1;
+	pollmethod          = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 4;  /* for parallel programming */
+		size            = 1024;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_lo     = "  1   1   0   0      0   0   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0      0   0  a9  a8",
+						  " a7  a6  a5  a4     a3  a2   0   0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 4;
+		readsize        = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 32768;
+		page_size       = 128;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "  0   0   1   0      0   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		read_hi         = "  0   0   1   0      1   0   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  0   1   0   0      1   1   0   0",
+						  "  0 a14 a13 a12    a11 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 128;
+		readsize        = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
+						  "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 #------------------------------------------------------------
@@ -13546,188 +13546,188 @@ part
 #------------------------------------------------------------
 
 part
-    id               = "m6450";
-    desc             = "ATMEGA6450";
-    signature        = 0x1E 0x96 0x06;
-    has_jtag         = yes;
+	id               = "m6450";
+	desc             = "ATMEGA6450";
+	signature        = 0x1E 0x96 0x06;
+	has_jtag         = yes;
 #   stk500_devcode   = 0x??; # No STK500v1 support?
 #   avr910_devcode   = 0x??; # Try the ATmega16 one
-    avr910_devcode   = 0x74;
-    pagel            = 0xd7;
-    bs2              = 0xa0;
-    chip_erase_delay = 9000;
-    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
-                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
-
-    timeout             = 200;
-    stabdelay           = 100;
-    cmdexedelay         = 25;
-    synchloops          = 32;
-    bytedelay           = 0;
-    pollindex           = 3;
-    pollvalue           = 0x53;
-    predelay            = 1;
-    postdelay           = 1;
-    pollmethod          = 1;
-
-    pp_controlstack     =
-        0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
-        0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
-        0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
-        0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
-    hventerstabdelay    = 100;
-    progmodedelay       = 0;
-    latchcycles         = 5;
-    togglevtg           = 1;
-    poweroffdelay       = 15;
-    resetdelayms        = 1;
-    resetdelayus        = 0;
-    hvleavestabdelay    = 15;
-    chiperasepulsewidth = 0;
-    chiperasepolltimeout = 10;
-    programfusepulsewidth = 0;
-    programfusepolltimeout = 5;
-    programlockpulsewidth = 0;
-    programlockpolltimeout = 5;
-
-    idr                 = 0x31;
-    spmcr               = 0x57;
-    allowfullpagebitstream = no;
-
-    memory "eeprom"
-        paged           = no; /* leave this "no" */
-        page_size       = 8;  /* for parallel programming */
-        size            = 2048;
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read            = "  1   0   1   0      0   0   0   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  o   o   o   o      o   o   o   o";
-
-        write           = "  1   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_lo     = "  1   1   0   0      0   0   0   1",
-                          "  0   0   0   0      0   0   0   0",
-                          "  0   0   0   0      0  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "  1   1   0   0      0   0   1   0",
-                          "  0   0   0   0      0 a10  a9  a8",
-                          " a7  a6  a5  a4     a3   0   0   0",
-                          "  x   x   x   x      x   x   x   x";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 4;
-        readsize        = 256;
-      ;
-
-    memory "flash"
-        paged           = yes;
-        size            = 65536;
-        page_size       = 256;
-        num_pages       = 256;
-        min_write_delay = 4500;
-        max_write_delay = 4500;
-        readback_p1     = 0xff;
-        readback_p2     = 0xff;
-        read_lo         = "   0   0   1   0      0   0   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   o   o   o   o      o   o   o   o";
-
-        read_hi         = "   0   0   1   0      1   0   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   o   o   o   o      o   o   o   o";
-
-        loadpage_lo     = "  0   1   0   0      0   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          "  a7 a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        loadpage_hi     = "  0   1   0   0      1   0   0   0",
-                          "  0   0   0   0      0   0   0   0",
-                          "  a7 a6  a5  a4     a3  a2  a1  a0",
-                          "  i   i   i   i      i   i   i   i";
-
-        writepage       = "   0   1   0   0      1   1   0   0",
-                          " a15 a14 a13 a12    a11 a10  a9  a8",
-                          "  a7  a6  a5  a4     a3  a2  a1  a0",
-                          "   0   0   0   0      0   0   0   0";
-
-        mode            = 0x41;
-        delay           = 10;
-        blocksize       = 128;
-        readsize        = 256;
-      ;
-
-    memory "lock"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "x x x x  x x x x   x x o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "lfuse"
-        size            = 1;
-        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "hfuse"
-        size            = 1;
-        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "efuse"
-        size            = 1;
-
-        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
-                          "0 0 0 0  0 0 0 0  o o o o  o o o o";
-
-        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
-                          "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
-        min_write_delay = 9000;
-        max_write_delay = 9000;
-      ;
-
-    memory "signature"
-        size            = 3;
-        read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
-                          "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
-      ;
-
-    memory "calibration"
-        size            = 1;
-
-        read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
-                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
-        ;
+	avr910_devcode   = 0x74;
+	pagel            = 0xd7;
+	bs2              = 0xa0;
+	chip_erase_delay = 9000;
+	pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
+					   "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";
+
+	timeout             = 200;
+	stabdelay           = 100;
+	cmdexedelay         = 25;
+	synchloops          = 32;
+	bytedelay           = 0;
+	pollindex           = 3;
+	pollvalue           = 0x53;
+	predelay            = 1;
+	postdelay           = 1;
+	pollmethod          = 1;
+
+	pp_controlstack     =
+		0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
+		0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
+		0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
+		0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+	hventerstabdelay    = 100;
+	progmodedelay       = 0;
+	latchcycles         = 5;
+	togglevtg           = 1;
+	poweroffdelay       = 15;
+	resetdelayms        = 1;
+	resetdelayus        = 0;
+	hvleavestabdelay    = 15;
+	chiperasepulsewidth = 0;
+	chiperasepolltimeout = 10;
+	programfusepulsewidth = 0;
+	programfusepolltimeout = 5;
+	programlockpulsewidth = 0;
+	programlockpolltimeout = 5;
+
+	idr                 = 0x31;
+	spmcr               = 0x57;
+	allowfullpagebitstream = no;
+
+	memory "eeprom"
+		paged           = no; /* leave this "no" */
+		page_size       = 8;  /* for parallel programming */
+		size            = 2048;
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read            = "  1   0   1   0      0   0   0   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  o   o   o   o      o   o   o   o";
+
+		write           = "  1   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_lo     = "  1   1   0   0      0   0   0   1",
+						  "  0   0   0   0      0   0   0   0",
+						  "  0   0   0   0      0  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "  1   1   0   0      0   0   1   0",
+						  "  0   0   0   0      0 a10  a9  a8",
+						  " a7  a6  a5  a4     a3   0   0   0",
+						  "  x   x   x   x      x   x   x   x";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 4;
+		readsize        = 256;
+	  ;
+
+	memory "flash"
+		paged           = yes;
+		size            = 65536;
+		page_size       = 256;
+		num_pages       = 256;
+		min_write_delay = 4500;
+		max_write_delay = 4500;
+		readback_p1     = 0xff;
+		readback_p2     = 0xff;
+		read_lo         = "   0   0   1   0      0   0   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   o   o   o   o      o   o   o   o";
+
+		read_hi         = "   0   0   1   0      1   0   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   o   o   o   o      o   o   o   o";
+
+		loadpage_lo     = "  0   1   0   0      0   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  "  a7 a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		loadpage_hi     = "  0   1   0   0      1   0   0   0",
+						  "  0   0   0   0      0   0   0   0",
+						  "  a7 a6  a5  a4     a3  a2  a1  a0",
+						  "  i   i   i   i      i   i   i   i";
+
+		writepage       = "   0   1   0   0      1   1   0   0",
+						  " a15 a14 a13 a12    a11 a10  a9  a8",
+						  "  a7  a6  a5  a4     a3  a2  a1  a0",
+						  "   0   0   0   0      0   0   0   0";
+
+		mode            = 0x41;
+		delay           = 10;
+		blocksize       = 128;
+		readsize        = 256;
+	  ;
+
+	memory "lock"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "x x x x  x x x x   x x o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "lfuse"
+		size            = 1;
+		read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "hfuse"
+		size            = 1;
+		read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0   i i i i  i i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "efuse"
+		size            = 1;
+
+		read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
+						  "0 0 0 0  0 0 0 0  o o o o  o o o o";
+
+		write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
+						  "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
+		min_write_delay = 9000;
+		max_write_delay = 9000;
+	  ;
+
+	memory "signature"
+		size            = 3;
+		read            = "0  0  1  1   0  0  0  0   0  0  0  0   0  0  0  0",
+						  "0  0  0  0   0  0 a1 a0   o  o  o  o   o  o  o  o";
+	  ;
+
+	memory "calibration"
+		size            = 1;
+
+		read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
+						  "0 0 0 0  0 0 0 0   o o o o  o o o o";
+		;
   ;
 
 #------------------------------------------------------------
@@ -13735,96 +13735,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x64a1";
-    desc	= "ATXMEGA64A1";
-    signature	= 0x1e 0x96 0x4e;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00010000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00001000;
-        offset		= 0x0080f000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00001000;
-        offset		= 0x00810000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00011000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x64a1";
+	desc    = "ATXMEGA64A1";
+	signature   = 0x1e 0x96 0x4e;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00010000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00001000;
+		offset      = 0x0080f000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00001000;
+		offset      = 0x00810000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00011000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -13832,96 +13832,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x128a1";
-    desc	= "ATXMEGA128A1";
-    signature	= 0x1e 0x97 0x4c;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00020000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0081e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00820000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00022000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x128a1";
+	desc    = "ATXMEGA128A1";
+	signature   = 0x1e 0x97 0x4c;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00020000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0081e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00820000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00022000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -13929,96 +13929,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x128a1d";
-    desc	= "ATXMEGA128A1REVD";
-    signature	= 0x1e 0x97 0x41;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00020000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0081e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00820000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00022000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x128a1d";
+	desc    = "ATXMEGA128A1REVD";
+	signature   = 0x1e 0x97 0x41;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00020000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0081e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00820000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00022000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14026,96 +14026,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x192a1";
-    desc	= "ATXMEGA192A1";
-    signature	= 0x1e 0x97 0x4e;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00030000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0082e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00830000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00032000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x192a1";
+	desc    = "ATXMEGA192A1";
+	signature   = 0x1e 0x97 0x4e;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00030000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0082e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00830000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00032000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14123,96 +14123,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x256a1";
-    desc	= "ATXMEGA256A1";
-    signature	= 0x1e 0x98 0x46;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x1000;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00040000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0083e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00840000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00042000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x256a1";
+	desc    = "ATXMEGA256A1";
+	signature   = 0x1e 0x98 0x46;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x1000;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00040000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0083e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00840000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00042000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14220,96 +14220,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x64a3";
-    desc	= "ATXMEGA64A3";
-    signature	= 0x1e 0x96 0x42;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00010000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00001000;
-        offset		= 0x0080f000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00001000;
-        offset		= 0x00810000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00011000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x64a3";
+	desc    = "ATXMEGA64A3";
+	signature   = 0x1e 0x96 0x42;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00010000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00001000;
+		offset      = 0x0080f000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00001000;
+		offset      = 0x00810000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00011000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14317,96 +14317,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x128a3";
-    desc	= "ATXMEGA128A3";
-    signature	= 0x1e 0x97 0x42;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00020000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0081e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00820000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00022000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x128a3";
+	desc    = "ATXMEGA128A3";
+	signature   = 0x1e 0x97 0x42;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00020000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0081e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00820000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00022000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14414,96 +14414,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x192a3";
-    desc	= "ATXMEGA192A3";
-    signature	= 0x1e 0x97 0x44;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00030000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0082e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00830000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00032000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x192a3";
+	desc    = "ATXMEGA192A3";
+	signature   = 0x1e 0x97 0x44;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00030000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0082e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00830000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00032000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14511,96 +14511,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x256a3";
-    desc	= "ATXMEGA256A3";
-    signature	= 0x1e 0x98 0x42;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x1000;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00040000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0083e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00840000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00042000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x256a3";
+	desc    = "ATXMEGA256A3";
+	signature   = 0x1e 0x98 0x42;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x1000;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00040000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0083e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00840000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00042000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14608,96 +14608,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x256a3b";
-    desc	= "ATXMEGA256A3B";
-    signature	= 0x1e 0x98 0x43;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x1000;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00040000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0083e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00840000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00042000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x256a3b";
+	desc    = "ATXMEGA256A3B";
+	signature   = 0x1e 0x98 0x43;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x1000;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00040000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0083e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00840000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00042000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14705,96 +14705,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x16a4";
-    desc	= "ATXMEGA16A4";
-    signature	= 0x1e 0x94 0x41;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0400;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00004000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00001000;
-        offset		= 0x00803000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00001000;
-        offset		= 0x00804000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00005000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x16a4";
+	desc    = "ATXMEGA16A4";
+	signature   = 0x1e 0x94 0x41;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0400;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00004000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00001000;
+		offset      = 0x00803000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00001000;
+		offset      = 0x00804000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00005000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14802,96 +14802,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x32a4";
-    desc	= "ATXMEGA32A4";
-    signature	= 0x1e 0x95 0x41;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0400;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00008000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00001000;
-        offset		= 0x00807000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00001000;
-        offset		= 0x00808000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00009000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x32a4";
+	desc    = "ATXMEGA32A4";
+	signature   = 0x1e 0x95 0x41;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0400;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00008000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00001000;
+		offset      = 0x00807000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00001000;
+		offset      = 0x00808000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00009000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14899,96 +14899,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x64a4";
-    desc	= "ATXMEGA64A4";
-    signature	= 0x1e 0x96 0x46;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00010000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00001000;
-        offset		= 0x0080f000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00001000;
-        offset		= 0x00810000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00011000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x64a4";
+	desc    = "ATXMEGA64A4";
+	signature   = 0x1e 0x96 0x46;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00010000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00001000;
+		offset      = 0x0080f000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00001000;
+		offset      = 0x00810000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00011000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 #------------------------------------------------------------
@@ -14996,96 +14996,96 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "x128a4";
-    desc	= "ATXMEGA128A4";
-    signature	= 0x1e 0x97 0x46;
-    has_jtag	= yes;
-    has_pdi	= yes;
-    nvm_base	= 0x01c0;
-
-    memory "eeprom"
-        size		= 0x0800;
-        offset		= 0x08c0000;
-        page_size	= 0x20;
-        readsize	= 0x100;
-    ;
-
-    memory "application"
-        size		= 0x00020000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "apptable"
-        size		= 0x00002000;
-        offset		= 0x0081e000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "boot"
-        size		= 0x00002000;
-        offset		= 0x00820000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "flash"
-        size		= 0x00022000;
-        offset		= 0x0800000;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "prodsig"
-        size		= 0x200;
-        offset		= 0x8e0200;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "usersig"
-        size		= 0x200;
-        offset		= 0x8e0400;
-        page_size	= 0x100;
-        readsize	= 0x100;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x1000090;
-    ;
-
-    memory "fuse0"
-        size		= 1;
-        offset		= 0x8f0020;
-    ;
-
-    memory "fuse1"
-        size		= 1;
-        offset		= 0x8f0021;
-    ;
-
-    memory "fuse2"
-        size		= 1;
-        offset		= 0x8f0022;
-    ;
-
-    memory "fuse4"
-        size		= 1;
-        offset		= 0x8f0024;
-    ;
-
-    memory "fuse5"
-        size		= 1;
-        offset		= 0x8f0025;
-    ;
-
-    memory "lock"
-        size		= 1;
-        offset		= 0x8f0027;
-    ;
+	id      = "x128a4";
+	desc    = "ATXMEGA128A4";
+	signature   = 0x1e 0x97 0x46;
+	has_jtag    = yes;
+	has_pdi = yes;
+	nvm_base    = 0x01c0;
+
+	memory "eeprom"
+		size        = 0x0800;
+		offset      = 0x08c0000;
+		page_size   = 0x20;
+		readsize    = 0x100;
+	;
+
+	memory "application"
+		size        = 0x00020000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "apptable"
+		size        = 0x00002000;
+		offset      = 0x0081e000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "boot"
+		size        = 0x00002000;
+		offset      = 0x00820000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "flash"
+		size        = 0x00022000;
+		offset      = 0x0800000;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "prodsig"
+		size        = 0x200;
+		offset      = 0x8e0200;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "usersig"
+		size        = 0x200;
+		offset      = 0x8e0400;
+		page_size   = 0x100;
+		readsize    = 0x100;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x1000090;
+	;
+
+	memory "fuse0"
+		size        = 1;
+		offset      = 0x8f0020;
+	;
+
+	memory "fuse1"
+		size        = 1;
+		offset      = 0x8f0021;
+	;
+
+	memory "fuse2"
+		size        = 1;
+		offset      = 0x8f0022;
+	;
+
+	memory "fuse4"
+		size        = 1;
+		offset      = 0x8f0024;
+	;
+
+	memory "fuse5"
+		size        = 1;
+		offset      = 0x8f0025;
+	;
+
+	memory "lock"
+		size        = 1;
+		offset      = 0x8f0027;
+	;
 ;
 
 
@@ -15094,20 +15094,20 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "ucr2";
-    desc	= "32UC3A0512";
-    signature	= 0xED 0xC0 0x3F;
-    has_jtag	= yes;
-    is_avr32    = yes;
-
-    memory "flash"
-        paged           = yes;
-        page_size		= 512;               # bytes
-        readsize		= 512;				 # bytes
-        num_pages       = 1024;              # could be set dynamicly
-        size			= 0x00080000;		 # could be set dynamicly
-        offset			= 0x80000000;
-    ;
+	id      = "ucr2";
+	desc    = "32UC3A0512";
+	signature   = 0xED 0xC0 0x3F;
+	has_jtag    = yes;
+	is_avr32    = yes;
+
+	memory "flash"
+		paged           = yes;
+		page_size       = 512;               # bytes
+		readsize        = 512;               # bytes
+		num_pages       = 1024;              # could be set dynamicly
+		size            = 0x00080000;        # could be set dynamicly
+		offset          = 0x80000000;
+	;
 ;
 
 #------------------------------------------------------------
@@ -15115,38 +15115,38 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "t4";
-    desc	= "ATtiny4";
-    signature	= 0x1e 0x8f 0x0a;
-    has_tpi	= yes;
-
-    memory "flash"
-        size		= 512;
-        offset		= 0x4000;
-        page_size	= 16;
-        blocksize	= 128;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x3fc0;
-    ;
-
-    memory "fuse"
-        size		= 1;
-        offset		= 0x3f40;
-	blocksize	= 4;
-    ;
-
-    memory "calibration"
-        size		= 1;
-        offset		= 0x3f80;
-    ;
-
-    memory "lockbits"
-        size		= 1;
-        offset		= 0x3f00;
-    ;
+	id      = "t4";
+	desc    = "ATtiny4";
+	signature   = 0x1e 0x8f 0x0a;
+	has_tpi = yes;
+
+	memory "flash"
+		size        = 512;
+		offset      = 0x4000;
+		page_size   = 16;
+		blocksize   = 128;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x3fc0;
+	;
+
+	memory "fuse"
+		size        = 1;
+		offset      = 0x3f40;
+	blocksize   = 4;
+	;
+
+	memory "calibration"
+		size        = 1;
+		offset      = 0x3f80;
+	;
+
+	memory "lockbits"
+		size        = 1;
+		offset      = 0x3f00;
+	;
 ;
 
 
@@ -15155,38 +15155,38 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "t5";
-    desc	= "ATtiny5";
-    signature	= 0x1e 0x8f 0x09;
-    has_tpi	= yes;
-
-    memory "flash"
-        size		= 512;
-        offset		= 0x4000;
-        page_size	= 16;
-        blocksize	= 128;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x3fc0;
-    ;
-
-    memory "fuse"
-        size		= 1;
-        offset		= 0x3f40;
-	blocksize	= 4;
-    ;
-
-    memory "calibration"
-        size		= 1;
-        offset		= 0x3f80;
-    ;
-
-    memory "lockbits"
-        size		= 1;
-        offset		= 0x3f00;
-    ;
+	id      = "t5";
+	desc    = "ATtiny5";
+	signature   = 0x1e 0x8f 0x09;
+	has_tpi = yes;
+
+	memory "flash"
+		size        = 512;
+		offset      = 0x4000;
+		page_size   = 16;
+		blocksize   = 128;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x3fc0;
+	;
+
+	memory "fuse"
+		size        = 1;
+		offset      = 0x3f40;
+	blocksize   = 4;
+	;
+
+	memory "calibration"
+		size        = 1;
+		offset      = 0x3f80;
+	;
+
+	memory "lockbits"
+		size        = 1;
+		offset      = 0x3f00;
+	;
 ;
 
 
@@ -15195,38 +15195,38 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "t8";
-    desc	= "ATtiny9";
-    signature	= 0x1e 0x90 0x08;
-    has_tpi	= yes;
-
-    memory "flash"
-        size		= 1024;
-        offset		= 0x4000;
-        page_size	= 16;
-        blocksize	= 128;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x3fc0;
-    ;
-
-    memory "fuse"
-        size		= 1;
-        offset		= 0x3f40;
-	blocksize	= 4;
-    ;
-
-    memory "calibration"
-        size		= 1;
-        offset		= 0x3f80;
-    ;
-
-    memory "lockbits"
-        size		= 1;
-        offset		= 0x3f00;
-    ;
+	id      = "t8";
+	desc    = "ATtiny9";
+	signature   = 0x1e 0x90 0x08;
+	has_tpi = yes;
+
+	memory "flash"
+		size        = 1024;
+		offset      = 0x4000;
+		page_size   = 16;
+		blocksize   = 128;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x3fc0;
+	;
+
+	memory "fuse"
+		size        = 1;
+		offset      = 0x3f40;
+	blocksize   = 4;
+	;
+
+	memory "calibration"
+		size        = 1;
+		offset      = 0x3f80;
+	;
+
+	memory "lockbits"
+		size        = 1;
+		offset      = 0x3f00;
+	;
 ;
 
 
@@ -15235,38 +15235,38 @@ part
 #------------------------------------------------------------
 
 part
-    id		= "t10";
-    desc	= "ATtiny10";
-    signature	= 0x1e 0x90 0x03;
-    has_tpi	= yes;
-
-    memory "flash"
-        size		= 1024;
-        offset		= 0x4000;
-        page_size	= 16;
-        blocksize	= 128;
-    ;
-
-    memory "signature"
-        size		= 3;
-        offset		= 0x3fc0;
-    ;
-
-    memory "fuse"
-        size		= 1;
-        offset		= 0x3f40;
-	blocksize	= 4;
-    ;
-
-    memory "calibration"
-        size		= 1;
-        offset		= 0x3f80;
-    ;
-
-    memory "lockbits"
-        size		= 1;
-        offset		= 0x3f00;
-    ;
+	id      = "t10";
+	desc    = "ATtiny10";
+	signature   = 0x1e 0x90 0x03;
+	has_tpi = yes;
+
+	memory "flash"
+		size        = 1024;
+		offset      = 0x4000;
+		page_size   = 16;
+		blocksize   = 128;
+	;
+
+	memory "signature"
+		size        = 3;
+		offset      = 0x3fc0;
+	;
+
+	memory "fuse"
+		size        = 1;
+		offset      = 0x3f40;
+	blocksize   = 4;
+	;
+
+	memory "calibration"
+		size        = 1;
+		offset      = 0x3f80;
+	;
+
+	memory "lockbits"
+		size        = 1;
+		offset      = 0x3f00;
+	;
 ;
 
 
diff --git a/buildroot/tests/STM32F103RE_creality b/buildroot/tests/STM32F103RE_creality
index a05f1d96bebb..66775597209a 100755
--- a/buildroot/tests/STM32F103RE_creality
+++ b/buildroot/tests/STM32F103RE_creality
@@ -11,12 +11,12 @@ set -e
 #
 use_example_configs "Creality/Ender-3 V2/CrealityV422/CrealityUI"
 opt_enable MARLIN_DEV_MODE BUFFER_MONITORING BLTOUCH AUTO_BED_LEVELING_BILINEAR Z_SAFE_HOMING
-exec_test $1 $2 "Ender 3 v2 with CrealityUI" "$3"
+exec_test $1 $2 "Ender-3 v2 with CrealityUI" "$3"
 
 use_example_configs "Creality/Ender-3 V2/CrealityV422/CrealityUI"
 opt_disable DWIN_CREALITY_LCD
 opt_enable DWIN_CREALITY_LCD_JYERSUI AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY
-exec_test $1 $2 "Ender 3 v2 with JyersUI" "$3"
+exec_test $1 $2 "Ender-3 v2 with JyersUI" "$3"
 
 use_example_configs "Creality/Ender-3 S1/STM32F1"
 opt_disable DWIN_CREALITY_LCD Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN AUTO_BED_LEVELING_BILINEAR CONFIGURATION_EMBEDDING CANCEL_OBJECTS FWRETRACT
diff --git a/buildroot/tests/STM32F401RC_creality b/buildroot/tests/STM32F401RC_creality
index 380711d061c2..fbc5194d602c 100755
--- a/buildroot/tests/STM32F401RC_creality
+++ b/buildroot/tests/STM32F401RC_creality
@@ -9,7 +9,7 @@ set -e
 use_example_configs "Creality/Ender-3 V2/CrealityV422/MarlinUI"
 opt_add SDCARD_EEPROM_EMULATION AUTO_BED_LEVELING_BILINEAR Z_SAFE_HOMING
 opt_set MOTHERBOARD BOARD_CREALITY_V24S1_301F4
-exec_test $1 $2 "Ender 3 v2 with MarlinUI" "$3"
+exec_test $1 $2 "Ender-3 v2 with MarlinUI" "$3"
 
 # clean up
 restore_configs
diff --git a/buildroot/tests/melzi_optiboot b/buildroot/tests/melzi_optiboot
index f31c69cdcb6d..086fcc916923 100755
--- a/buildroot/tests/melzi_optiboot
+++ b/buildroot/tests/melzi_optiboot
@@ -7,10 +7,10 @@
 set -e
 
 #
-# Ender 2
+# Ender-2
 #
 use_example_configs Creality/Ender-2
-exec_test $1 $2 "Ender 2" "$3"
+exec_test $1 $2 "Ender-2" "$3"
 
 # clean up
 restore_configs
diff --git a/buildroot/tests/mks_tinybee b/buildroot/tests/mks_tinybee
index 8b5aa0f07565..9dcc33ede7c5 100755
--- a/buildroot/tests/mks_tinybee
+++ b/buildroot/tests/mks_tinybee
@@ -21,10 +21,10 @@ exec_test $1 "$2" "MKS TinyBee with ESP3D_WIFISUPPORT" "$3"
 #
 restore_configs
 opt_set MOTHERBOARD BOARD_MKS_TINYBEE \
-	LCD_LANGUAGE en \
-	LCD_INFO_SCREEN_STYLE 0 \
-	DISPLAY_CHARSET_HD44780 WESTERN \
-	NEOPIXEL_TYPE NEO_RGB
+        LCD_LANGUAGE en \
+        LCD_INFO_SCREEN_STYLE 0 \
+        DISPLAY_CHARSET_HD44780 WESTERN \
+        NEOPIXEL_TYPE NEO_RGB
 opt_enable FYSETC_MINI_12864_2_1 SDSUPPORT
 opt_enable LED_CONTROL_MENU LED_USER_PRESET_STARTUP LED_COLOR_PRESETS NEOPIXEL_LED
 exec_test $1 $2 "MKS TinyBee with NeoPixel LCD, SD and Speaker" "$3"
diff --git a/buildroot/web-ui/data/www/webmarlin.js b/buildroot/web-ui/data/www/webmarlin.js
index 943f7b9c083c..3eb5139fb158 100644
--- a/buildroot/web-ui/data/www/webmarlin.js
+++ b/buildroot/web-ui/data/www/webmarlin.js
@@ -41,7 +41,7 @@ var WmButtonGroups = {
 var wmWebSoket = {
   WSObject: null,
   Connect: function() {
-	WsUrl=`ws://${location.host}/ws`;
+    WsUrl=`ws://${location.host}/ws`;
     try {
       if(wmWebSoket.WSObject === null) {
         jsLog.Debug("WebSocket: Trying connecting to " + WsUrl);
diff --git a/ini/lpc176x.ini b/ini/lpc176x.ini
index 0cb26628fe49..223ba3cabd16 100644
--- a/ini/lpc176x.ini
+++ b/ini/lpc176x.ini
@@ -23,7 +23,7 @@ extra_scripts     = ${common.extra_scripts}
 build_src_filter  = ${common.default_src_filter} +<src/HAL/LPC1768> +<src/HAL/shared/backtrace>
 lib_deps          = ${common.lib_deps}
   Servo
-custom_marlin.USES_LIQUIDCRYSTAL =  arduino-libraries/LiquidCrystal@~1.0.7
+custom_marlin.USES_LIQUIDCRYSTAL = arduino-libraries/LiquidCrystal@~1.0.7
 custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip
 build_flags       = ${common.build_flags} -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g
   # debug options for backtrace