diff --git a/ableos/src/devices/pci/class.rs b/ableos/src/devices/pci/class.rs
index 5cbddbf9b..f676a8f67 100644
--- a/ableos/src/devices/pci/class.rs
+++ b/ableos/src/devices/pci/class.rs
@@ -184,56 +184,61 @@ impl Display for PciFullClass {
         write!(f, "    Class: ")?;
 
         match self {
-            PciFullClass::Unclassified_NonVgaCompatible => write!(f, "\0LIGHTBLUE\0")?,
-            PciFullClass::Unclassified_VgaCompatible => write!(f, "\0LIGHTBLUE\0")?,
-            PciFullClass::MassStorage_ScsiBus => write!(f, "\0CYAN\0")?,
-            PciFullClass::MassStorage_IDE => write!(f, "\0CYAN\0")?,
-            PciFullClass::MassStorage_Floppy => write!(f, "\0CYAN\0")?,
-            PciFullClass::MassStorage_IpiBus => write!(f, "\0CYAN\0")?,
-            PciFullClass::MassStorage_RAID => write!(f, "\0CYAN\0")?,
-            PciFullClass::MassStorage_ATA => write!(f, "\0CYAN\0")?,
-            PciFullClass::MassStorage_SATA => write!(f, "\0CYAN\0")?,
-            PciFullClass::MassStorage_SerialSCSI => write!(f, "\0CYAN\0")?,
-            PciFullClass::MassStorage_NVM => write!(f, "\0CYAN\0")?,
-            PciFullClass::MassStorage_Other => write!(f, "\0CYAN\0")?,
-            PciFullClass::Network_Ethernet => write!(f, "\0MAGENTA\0")?,
-            PciFullClass::Network_TokenRing => write!(f, "\0MAGENTA\0")?,
-            PciFullClass::Network_FDDI => write!(f, "\0MAGENTA\0")?,
-            PciFullClass::Network_ATM => write!(f, "\0MAGENTA\0")?,
-            PciFullClass::Network_ISDN => write!(f, "\0MAGENTA\0")?,
-            PciFullClass::Network_WorldFlip => write!(f, "\0MAGENTA\0")?,
-            PciFullClass::Network_PICMG => write!(f, "\0MAGENTA\0")?,
-            PciFullClass::Network_Infiniband => write!(f, "\0MAGENTA\0")?,
-            PciFullClass::Network_Fabric => write!(f, "\0MAGENTA\0")?,
-            PciFullClass::Network_Other => write!(f, "\0MAGENTA\0")?,
-            PciFullClass::Display_VGA => write!(f, "\0YELLOW\0")?,
-            PciFullClass::Display_XGA => write!(f, "\0YELLOW\0")?,
-            PciFullClass::Display_3D => write!(f, "\0YELLOW\0")?,
-            PciFullClass::Display_Other => write!(f, "\0YELLOW\0")?,
-            PciFullClass::Multimedia_Video => write!(f, "\0LIGHTBLUE\0")?,
-            PciFullClass::Multimedia_AudioController => write!(f, "\0LIGHTBLUE\0")?,
-            PciFullClass::Multimedia_Telephony => write!(f, "\0LIGHTBLUE\0")?,
-            PciFullClass::Multimedia_AudioDevice => write!(f, "\0LIGHTBLUE\0")?,
-            PciFullClass::Multimedia_Other => write!(f, "\0LIGHTBLUE\0")?,
-            PciFullClass::Memory_RAM => write!(f, "\0BLUE\0")?,
-            PciFullClass::Memory_Flash => write!(f, "\0WHITE\0")?,
-            PciFullClass::Memory_Other => write!(f, "\0LIGHTGREY\0")?,
-            PciFullClass::Bridge_Host => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_ISA => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_EISA => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_MCA => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_PciToPci => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_PCMCIA => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_NuBus => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_CardBus => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_RACEway => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_PciToPciSemiTransparent => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_InfinibandToPci => write!(f, "\0GREEN\0")?,
-            PciFullClass::Bridge_Other => write!(f, "\0GREEN\0")?,
-            PciFullClass::Unknown => write!(f, "\0RED\0")?,
+            PciFullClass::Unclassified_NonVgaCompatible => write!(f, "\u{001A}LIGHTBLUE\u{001A}")?,
+            PciFullClass::Unclassified_VgaCompatible => write!(f, "\u{001A}LIGHTBLUE\u{001A}")?,
+            PciFullClass::MassStorage_ScsiBus => write!(f, "\u{001A}CYAN\u{001A}")?,
+            PciFullClass::MassStorage_IDE => write!(f, "\u{001A}CYAN\u{001A}")?,
+            PciFullClass::MassStorage_Floppy => write!(f, "\u{001A}CYAN\u{001A}")?,
+            PciFullClass::MassStorage_IpiBus => write!(f, "\u{001A}CYAN\u{001A}")?,
+            PciFullClass::MassStorage_RAID => write!(f, "\u{001A}CYAN\u{001A}")?,
+            PciFullClass::MassStorage_ATA => write!(f, "\u{001A}CYAN\u{001A}")?,
+            PciFullClass::MassStorage_SATA => write!(f, "\u{001A}CYAN\u{001A}")?,
+            PciFullClass::MassStorage_SerialSCSI => write!(f, "\u{001A}CYAN\u{001A}")?,
+            PciFullClass::MassStorage_NVM => write!(f, "\u{001A}CYAN\u{001A}")?,
+            PciFullClass::MassStorage_Other => write!(f, "\u{001A}CYAN\u{001A}")?,
+            PciFullClass::Network_Ethernet => write!(f, "\u{001A}MAGENTA\u{001A}")?,
+            PciFullClass::Network_TokenRing => write!(f, "\u{001A}MAGENTA\u{001A}")?,
+            PciFullClass::Network_FDDI => write!(f, "\u{001A}MAGENTA\u{001A}")?,
+            PciFullClass::Network_ATM => write!(f, "\u{001A}MAGENTA\u{001A}")?,
+            PciFullClass::Network_ISDN => write!(f, "\u{001A}MAGENTA\u{001A}")?,
+            PciFullClass::Network_WorldFlip => write!(f, "\u{001A}MAGENTA\u{001A}")?,
+            PciFullClass::Network_PICMG => write!(f, "\u{001A}MAGENTA\u{001A}")?,
+            PciFullClass::Network_Infiniband => write!(f, "\u{001A}MAGENTA\u{001A}")?,
+            PciFullClass::Network_Fabric => write!(f, "\u{001A}MAGENTA\u{001A}")?,
+            PciFullClass::Network_Other => write!(f, "\u{001A}MAGENTA\u{001A}")?,
+            PciFullClass::Display_VGA => write!(f, "\u{001A}YELLOW\u{001A}")?,
+            PciFullClass::Display_XGA => write!(f, "\u{001A}YELLOW\u{001A}")?,
+            PciFullClass::Display_3D => write!(f, "\u{001A}YELLOW\u{001A}")?,
+            PciFullClass::Display_Other => write!(f, "\u{001A}YELLOW\u{001A}")?,
+            PciFullClass::Multimedia_Video => write!(f, "\u{001A}LIGHTBLUE\u{001A}")?,
+            PciFullClass::Multimedia_AudioController => write!(f, "\u{001A}LIGHTBLUE\u{001A}")?,
+            PciFullClass::Multimedia_Telephony => write!(f, "\u{001A}LIGHTBLUE\u{001A}")?,
+            PciFullClass::Multimedia_AudioDevice => write!(f, "\u{001A}LIGHTBLUE\u{001A}")?,
+            PciFullClass::Multimedia_Other => write!(f, "\u{001A}LIGHTBLUE\u{001A}")?,
+            PciFullClass::Memory_RAM => write!(f, "\u{001A}BLUE\u{001A}")?,
+            PciFullClass::Memory_Flash => write!(f, "\u{001A}WHITE\u{001A}")?,
+            PciFullClass::Memory_Other => write!(f, "\u{001A}LIGHTGREY\u{001A}")?,
+            PciFullClass::Bridge_Host => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_ISA => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_EISA => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_MCA => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_PciToPci => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_PCMCIA => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_NuBus => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_CardBus => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_RACEway => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_PciToPciSemiTransparent => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_InfinibandToPci => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Bridge_Other => write!(f, "\u{001A}GREEN\u{001A}")?,
+            PciFullClass::Unknown => write!(f, "\u{001A}RED\u{001A}")?,
         }
 
-        write!(f, "{:?} ({:#06X})\0RESET\0", self, self.as_u16())?;
+        write!(
+            f,
+            "{:?} ({:#06X})\u{001A}RESET\u{001A}",
+            self,
+            self.as_u16()
+        )?;
 
         Ok(())
     }
diff --git a/ableos/src/devices/pci/ide.rs b/ableos/src/devices/pci/ide.rs
index 60a617e44..985596466 100644
--- a/ableos/src/devices/pci/ide.rs
+++ b/ableos/src/devices/pci/ide.rs
@@ -84,7 +84,7 @@ const CMD_READ_DMA_EXT: u8 = 0x25;
 
 /// ATA write using LBA48 DMA command
 const CMD_WRITE_DMA_EXT: u8 = 0x35;
-
+#[derive(Debug)]
 pub struct PciIde {
     device_info: PciDeviceInfo,
     ide_devices: Vec<IdeDevice>,
@@ -629,6 +629,7 @@ unsafe fn read_dword_buffer(port: u16, buffer: *mut u32, mut count: u32) {
     });
 }
 
+#[derive(Debug)]
 struct IdeDevice {
     pub channel: Channel,
     pub drive: Drive,
diff --git a/ableos/src/devices/pci/mod.rs b/ableos/src/devices/pci/mod.rs
index 12d18d08b..7ab395e3d 100644
--- a/ableos/src/devices/pci/mod.rs
+++ b/ableos/src/devices/pci/mod.rs
@@ -28,6 +28,7 @@ lazy_static! {
 }
 
 #[non_exhaustive]
+#[derive(Debug)]
 pub enum PciDevice {
     Ide(PciIde),
     // Variant so that we aren't about irrefutable if-let patterns
@@ -41,6 +42,7 @@ pub fn init(mapper: &mut impl Mapper<Size4KiB>, frame_allocator: &mut BootInfoFr
         for device in 0..32 {
             if let Some(device_info) = device::check_device(bus, device) {
                 trace!("{device_info}");
+                println!("{device_info}");
                 match device_info.device_id {
                     // FIXME: Unknown class
                     S3_TRIO64V2 => {}
diff --git a/ableos/src/devices/pci/vendors.rs b/ableos/src/devices/pci/vendors.rs
index 486b32a48..1112a4006 100644
--- a/ableos/src/devices/pci/vendors.rs
+++ b/ableos/src/devices/pci/vendors.rs
@@ -164,17 +164,17 @@ impl Display for Vendor {
         use Vendor::*;
 
         match self {
-            Qemu => write!(f, "{}", "\0PINK\0QEMU (0x1234)"),
-            VirtIO => write!(f, "{}", "\0PINK\0VirtIO (0x1AF4)"),
-            VMWareInc => write!(f, "{}", "\0PINK\0VMWARE (0x15AD)"),
-            S3Inc => write!(f, "{}", "\0YELLOW\0S3 Incorporated (0x5333)"),
-            IntelCorp => write!(f, "{}", "\0BLUE\0Intel Corp. (0x8086)"),
-            ATITechnologiesInc => write!(f, "{}", "\0RED\0ATI (0x1002)"),
-            Unknown(id) => write!(f, "\0RED\0Unknown ({:#6})", id),
+            Qemu => write!(f, "{}", "\u{001A}PINK\u{001A}QEMU (0x1234)"),
+            VirtIO => write!(f, "{}", "\u{001A}PINK\u{001A}VirtIO (0x1AF4)"),
+            VMWareInc => write!(f, "{}", "\u{001A}PINK\u{001A}VMWARE (0x15AD)"),
+            S3Inc => write!(f, "{}", "\u{001A}YELLOW\u{001A}S3 Incorporated (0x5333)"),
+            IntelCorp => write!(f, "{}", "\u{001A}BLUE\u{001A}Intel Corp. (0x8086)"),
+            ATITechnologiesInc => write!(f, "{}", "\u{001A}RED\u{001A}ATI (0x1002)"),
+            Unknown(id) => write!(f, "\u{001A}RED\u{001A}Unknown ({:#6})", id),
             other => write!(f, "{other:?}"),
         }?;
 
-        write!(f, "\0RESET\0")?;
+        write!(f, "\u{001A}RESET\u{001A}")?;
         Ok(())
     }
 }
diff --git a/ableos/src/scratchpad.rs b/ableos/src/scratchpad.rs
index 3a4d93562..8144910cc 100644
--- a/ableos/src/scratchpad.rs
+++ b/ableos/src/scratchpad.rs
@@ -120,7 +120,8 @@ pub fn scratchpad() {
             .iter()
             .find_map(|device_ref| {
                 let device = device_ref.lock();
-                if let PciDevice::Ide(_) = &*device {
+                if let PciDevice::Ide(dev) = &*device {
+                    println!("IDE Device found: {}", dev.device_info());
                     Some(device_ref.clone())
                 } else {
                     None
@@ -136,7 +137,7 @@ pub fn scratchpad() {
             device
                 .read(Channel::Primary, Drive::Master, 0, 1, &mut first_sector)
                 .unwrap();
-            trace!("IDE Primary/Master sector 0: {first_sector:?}");
+            // trace!("IDE Primary/Master sector 0: {first_sector:?}");
         }
     }
 
diff --git a/disk.img b/disk.img
new file mode 100644
index 000000000..bbe4df9c1
Binary files /dev/null and b/disk.img differ