         if (Serial.read() != '\n') break;
         chip_end = chip_size();
         Serial.print("Program whole chip.  Size = ");
-        Serial.println(chip_end * 2);  // Because we actually have double this
-        program_range(0, chip_end / 2);  // Program chip_end/2 words
+        Serial.println(chip_end);
+        program_range(0, chip_end / 4);  // Program chip_end/4 words
         flash_unlock();
         reset();
         break;

        // Block programmed
      }
      // If we got here, the chunk is programmed and we can continue
      Serial.println("Chunk done");
    }
  }
}


        }
        flash_write_both(program_start, 0x29); // (n+5) Program Buffer to Flash

        // Serial.println("Wait for completion");
        // Poll last address written to buffer (program_start + PROGRAM_BLOCK_SIZE - 1), looking at DQ7/6/5/1
        uint32_t poll_comparison_value = read_buf[program_offset + PROGRAM_BLOCK_SIZE-1] & 0x00800080L;  // Compare with DQ7
        // Serial.print("Final word: ");
