o mount and getfree working
This commit is contained in:
@@ -47,18 +47,18 @@ DSTATUS disk_initialize (BYTE drv) {
|
||||
|
||||
int fd = open(IMAGE_NAME, O_RDWR);
|
||||
if (fd == -1) {
|
||||
perror("Error opening file for writing");
|
||||
perror("DISKIO::disk_initialize: Error opening file for writing");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
int size = lseek(fd,0,SEEK_END);
|
||||
lseek(fd,0,SEEK_SET);
|
||||
printf("Open Image (size %i)\n",size);
|
||||
|
||||
image_addr = (BYTE*)mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
|
||||
printf("DISKIO::disk_initialize: Open Image (size %i) %p\n",size,image_addr);
|
||||
if (image_addr == MAP_FAILED) {
|
||||
close(fd);
|
||||
perror("Error mmapping the file");
|
||||
perror("DISKIO::disk_initialize: Error mmapping the file");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
@@ -94,8 +94,9 @@ DRESULT disk_read (
|
||||
|
||||
DWORD offset = sector * 512;
|
||||
int size = count * 512;
|
||||
printf("disk_read: sector=%li count=%i addr=%p off=%li size=%i\n",sector,count,image_addr + offset,offset,size);
|
||||
printf("DISKIO::disk_read: sector=%li count=%i addr=%p off=%li size=%i\n",sector,count,image_addr + offset,offset,size);
|
||||
memcpy(buff,image_addr + offset,size);
|
||||
printf("DISKIO::disk_read: done\n");
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user