OSDN Git Service

SimpleHTMLEditorを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_010 / chnos / floppy.c
diff --git a/CHNOSProject/chnos/tolset_chn_000/chnos_010/chnos/floppy.c b/CHNOSProject/chnos/tolset_chn_000/chnos_010/chnos/floppy.c
deleted file mode 100644 (file)
index d0c2971..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-\r
-#include "core.h"\r
-\r
-IO_FloppyDisk *FloppyDisk_Initialize(void *img)\r
-{\r
-       IO_FloppyDisk *fd;\r
-\r
-       fd = (IO_FloppyDisk *)System_CommonStruct_Allocate(SYSTEM_STRUCTID_FLOPPYDISK);\r
-\r
-       fd->img = img;\r
-       fd->files = (IO_FloppyDisk_DirectoryEntry *)(fd->img + FLOPPYDISK_RDE_OFFSET);\r
-       fd->userdataarea = (sector *)(fd->img + FLOPPYDISK_RDE_OFFSET + sizeof(IO_FloppyDisk_DirectoryEntry) * FLOPPYDISK_RDE_ENTRIES);\r
-//fat16\r
-       fd->fat = System_Memory_Allocate(FLOPPYDISK_SECTORS * sizeof(ushort));\r
-       FloppyDisk_Decode_FAT16(fd, False);\r
-\r
-       return fd;\r
-}\r
-\r
-uint FloppyDisk_Decode_FAT16(IO_FloppyDisk *fd, bool backup)\r
-{\r
-       uint i;\r
-       uchar *fatimg;\r
-\r
-       i = 0;\r
-\r
-       if(fd == Null){\r
-               return 1;\r
-       }\r
-       if(fd->img == Null){\r
-               return 2;\r
-       }\r
-       if(fd->fat == Null){\r
-               return 3;\r
-       }\r
-\r
-       if(backup){\r
-               fatimg = fd->img + FLOPPYDISK_FAT1_OFFSET;\r
-       } else{\r
-               fatimg = fd->img + FLOPPYDISK_FAT0_OFFSET;\r
-       }\r
-\r
-       for(i = 0; i < 2880; i += 2){\r
-               fd->fat[i + 0] = (fatimg[(i >> 1) * 3 + 0] | fatimg[(i >> 1) * 3 + 1] << 8) & 0xfff;\r
-               fd->fat[i + 1] = (fatimg[(i >> 1) * 3 + 1] >> 4 | fatimg[(i >> 1) * 3 + 2] << 4) & 0xfff;\r
-       }\r
-       return 0;\r
-}\r
-\r
-bool FloppyDisk_IsPathExist(IO_FloppyDisk *fd, const uchar path[])\r
-{\r
-       if(fd == Null){\r
-               return False;\r
-       }\r
-\r
-       if(FloppyDisk_Internal_GetDirectoryEntryFromPath(fd, path) != Null){\r
-               return True;\r
-       }\r
-\r
-       return False;\r
-}\r
-\r
-uint FloppyDisk_LoadFile(IO_FloppyDisk *fd, IO_File *file, const uchar path[])\r
-{\r
-       IO_FloppyDisk_DirectoryEntry *dir_entry;\r
-       uint i, now_size;\r
-       ushort now_cluster;\r
-\r
-       if(fd == Null){\r
-               return 1;\r
-       }\r
-       if(fd->fat == Null){\r
-               return 2;\r
-       }\r
-       if(file == Null){\r
-               return 3;\r
-       }\r
-       if(!file->flags.bit.initialized){\r
-               return 4;\r
-       }\r
-\r
-       dir_entry = FloppyDisk_Internal_GetDirectoryEntryFromPath(fd, path);\r
-\r
-       if(dir_entry == Null){\r
-               return 5;\r
-       }\r
-\r
-       for(i = 0; i < FILE_PATH_LENGTH_MAX; i++){\r
-               if(path[i] == 0x00){\r
-                       break;\r
-               }\r
-       }\r
-\r
-       file->path = System_Memory_Allocate(i + 1);\r
-       CFunction_MemoryMove(file->path, i + 1, path, i);\r
-       file->path[i] = 0x00;\r
-\r
-       file->img = System_Memory_Allocate(dir_entry->size);\r
-       file->size = dir_entry->size;\r
-\r
-       now_cluster = dir_entry->cluster;\r
-       now_size = dir_entry->size;\r
-\r
-       for(i = 0; ; i++){\r
-               if(now_size <= 512){\r
-                       CFunction_MemoryMove(&((uchar *)file->img)[i * sizeof(sector)], file->size - (i * sizeof(sector)), &fd->userdataarea[now_cluster - 2], now_size);\r
-                       break;\r
-               }\r
-               CFunction_MemoryMove(&((uchar *)file->img)[i * sizeof(sector)], file->size - (i * sizeof(sector)), &fd->userdataarea[now_cluster - 2], sizeof(sector));\r
-               now_size -= sizeof(sector);\r
-               now_cluster = fd->fat[now_cluster];\r
-       }\r
-\r
-       file->flags.bit.img_loaded = True;\r
-\r
-       return 0;\r
-}\r
-\r
-IO_FloppyDisk_DirectoryEntry *FloppyDisk_Internal_GetDirectoryEntryFromPath(IO_FloppyDisk *fd, const uchar path[])\r
-{\r
-       uchar filename[11];\r
-       uint i, j;\r
-       IO_FloppyDisk_DirectoryEntry_Attribute rdeattr;\r
-\r
-       if(fd == Null){\r
-               return Null;\r
-       }\r
-\r
-       for(i = 0; i < 11; i++){\r
-               filename[i] = ' ';\r
-       }\r
-\r
-       j = 0;\r
-       for(i = 0; i < 11; i++){\r
-               if(j >= 11){\r
-                       break;\r
-               }\r
-               if(path[i] == 0x00){\r
-                       break;\r
-               }\r
-               if(path[i] == '.'){\r
-                       j = 8;\r
-               } else{\r
-                       filename[j] = path[i];\r
-                       if('a' <= filename[j] && filename[j] <= 'z'){\r
-                               filename[j] -= 0x20;\r
-                       }\r
-                       j++;\r
-               }\r
-       }\r
-\r
-       for(i = 0; i < FLOPPYDISK_RDE_ENTRIES; i++){\r
-               if(fd->files[i].name[0] == 0x00){\r
-                       break;\r
-               }\r
-               rdeattr.attribute = fd->files[i].attribute;\r
-               if(fd->files[i].name[0] != 0xe5 && fd->files[i].name[0] != 0x05 && !rdeattr.bit.volumelabel && !rdeattr.bit.directory){\r
-                       if(CFunction_CompareStrings_n(fd->files[i].name, filename, 11)){\r
-                               return &fd->files[i];\r
-                       }\r
-               }\r
-       }\r
-       return Null;\r
-}\r
-\r