#include #define FAT_INFO ((struct fat_info *)0x7c03) struct fat_info { uint8_t oem[8]; uint16_t bytes_per_sector;//Assumed to be 512 uint8_t sectors_per_cluster;//Assumed to be 1 uint16_t reserved_sectors; uint8_t fats;//Assumed to be 1 uint16_t root_entries; uint16_t sectors;//Assumed not to be 0 uint8_t media_type; uint16_t sectors_per_fat; uint16_t sectors_per_track; uint16_t heads; uint32_t hidden_sectors; uint32_t sectors_long; uint8_t drive_number; uint8_t reserved; uint8_t ext_boot_marker; uint32_t volume_id; uint8_t label[11]; uint8_t fs_type[8]; } __attribute__ ((packed)); #define FAT ((void *)0x00026000) void load_fat(); uint16_t get_cluster(uint16_t n); void set_cluster(uint16_t n, uint16_t v); uint16_t get_start_cluster(uint8_t *path);