diff --git a/include/bios.h b/include/bios.h
index 22a912a..fcfc5ba 100644
--- a/include/bios.h
+++ b/include/bios.h
@@ -31,6 +31,10 @@
 extern bioscall void int15_handler(struct biosregs *regs);
 extern bioscall void e820_query_map(struct biosregs *regs);
 
+extern void bios_intfake(void);
+extern void bios_int10(void);
+extern void bios_int15(void);
+
 extern struct e820map e820;
 
 static inline void __attribute__((noreturn)) panic(void)
diff --git a/main.c b/main.c
index eeb21fd..ed871df 100644
--- a/main.c
+++ b/main.c
@@ -1,6 +1,7 @@
 #include "bios.h"
 #include "pci.h"
 #include "string.h"
+#include "segment.h"
 
 #define PCI_VENDOR_ID_INTEL		0x8086
 #define PCI_DEVICE_ID_INTEL_82441	0x1237
@@ -37,13 +38,31 @@
 	memcpy(low_start, bios_start, 0x10000);
 }
 
+static void set_realmode_int(int vec, void *p)
+{
+	uint16_t *realmode_idt = (uint16_t *) 0;
+	realmode_idt[vec * 2] = flat_to_off16((uintptr_t) p);
+	realmode_idt[vec * 2 + 1] = flat_to_seg16((uintptr_t) p);
+}
+
+static void setup_idt(void)
+{
+	int i;
+	for (i = 0; i < 0x1f; i++)
+		set_realmode_int(i, bios_intfake);
+	set_realmode_int(0x10, bios_int10);
+	set_realmode_int(0x15, bios_int15);
+}
 
 int main(void)
 {
 	make_bios_writable();
+	setup_idt();
 	// extract_acpi();
+	// extract_e820();
 	// extract_smbios();
 	// extract_kernel();
+	// make_bios_readonly();
 	// boot_linux();
 	panic();
 }
