diff --git a/m29f400bt.c b/m29f400bt.c
index 86f9f96..809f33c 100644
--- a/m29f400bt.c
+++ b/m29f400bt.c
@@ -27,6 +27,69 @@
 #include "m29f400bt.h"
 #include "debug.h"
 
+void toggle_ready_m29f400bt(volatile uint8_t *dst)
+{
+	unsigned int i = 0;
+	uint8_t tmp1, tmp2;
+
+	tmp1 = *dst & 0x40;
+
+	while (i++ < 0xFFFFFF) {
+		tmp2 = *dst & 0x40;
+		if (tmp1 == tmp2) {
+			break;
+		}
+		tmp1 = tmp2;
+	}
+}
+
+void data_polling_m29f400bt(volatile uint8_t *dst, uint8_t data)
+{
+	unsigned int i = 0;
+	uint8_t tmp;
+
+	data &= 0x80;
+
+	while (i++ < 0xFFFFFF) {
+		tmp = *dst & 0x80;
+		if (tmp == data) {
+			break;
+		}
+	}
+}
+
+void protect_m29f400bt(volatile uint8_t *bios)
+{
+	*(volatile uint8_t *)(bios + 0xAAA) = 0xAA;
+	*(volatile uint8_t *)(bios + 0x555) = 0x55;
+	*(volatile uint8_t *)(bios + 0xAAA) = 0xA0;
+
+	usleep(200);
+}
+
+void write_page_m29f400bt(volatile uint8_t *bios, uint8_t *src,
+			  volatile uint8_t *dst, int page_size)
+{
+	int i;
+
+	for (i = 0; i < page_size; i++) {
+		*(volatile uint8_t *)(bios + 0xAAA) = 0xAA;
+		*(volatile uint8_t *)(bios + 0x555) = 0x55;
+		*(volatile uint8_t *)(bios + 0xAAA) = 0xA0;
+
+		/* transfer data from source to destination */
+		*dst = *src;
+		//*(volatile char *) (bios) = 0xF0;
+		//usleep(5);
+		toggle_ready_m29f400bt(dst);
+		printf
+		    ("Value in the flash at address %p = %#x, want %#x\n",
+		     (uint8_t *) (dst - bios), *dst, *src);
+		dst++;
+		src++;
+	}
+}
+
 int probe_m29f400bt(struct flashchip *flash)
 {
 	volatile uint8_t *bios = flash->virtual_memory;
