guys, have a look at the code below! when I read the contents into the cache it is off by a few characters when I test if. Can someone please tell me why. It was working but I have no idea what has changed in the interim.
unsigned char * cache = (unsigned char *)cache_alloc(cluster_size(file)); // perform DMA read of directory location to ensure the data is up-to-date dma_hardware_read(1, file->cluster_addr, sectors_per_cluster(file), cache, 0); struct directory_entry * directory = (struct directory_entry * )cache; unsigned char * test = (unsigned char *)directory; for(int i = 0; i < 64; i++, test++){ if((i % 32) == 0) c_printf("\n\r"); c_printf("%x ", * test); }