From c0daede46df4f546639bd2d3e11dcf064d554966 Mon Sep 17 00:00:00 2001 From: Benji Dial Date: Sat, 16 May 2020 09:53:58 -0400 Subject: starting over --- src/kernel/fat12.c | 58 ------------------------------------------------------ 1 file changed, 58 deletions(-) delete mode 100644 src/kernel/fat12.c (limited to 'src/kernel/fat12.c') diff --git a/src/kernel/fat12.c b/src/kernel/fat12.c deleted file mode 100644 index ef09116..0000000 --- a/src/kernel/fat12.c +++ /dev/null @@ -1,58 +0,0 @@ -/* -Copyright 2019 Benji Dial - -Permission to use, copy, modify, and/or distribute this -software for any purpose with or without fee is hereby -granted, provided that the above copyright notice and this -permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS -ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO -EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -OF THIS SOFTWARE. -*/ - -#include "iso9660.h" -#include "diskio.h" -#include "files.h" -#include "mem.h" - -bool iso_9660_parse_ph(uint8_t dn, uint8_t pn, uint32_t sector, uint8_t *buffer) { - uint32_t s = sector + 64; - read_sectors_t rsf = get_read_sectors_function(dn); - do { - rsf(drives[dn].number, s, 4, buffer); - if ((*buffer == 255) || (*(uint32_t *)&buffer[1] != 0x30304443) || - (buffer[5] != (uint8_t)'1')) - return false; - s += 4; - } while (*buffer != PRIM_VOLUME); - part_info[dn].partition_types[pn] = ISO_9660; - part_info[dn].partition_offsets[pn] = sector; - struct iso_9660_cache *cache = allocate_block(sizeof(struct iso_9660_cache), KERNEL); - struct iso_9660_primary_vd *as_vd = (struct iso_9660_primary_vd *)buffer; - part_info[dn].partition_cache[pn] = cache; - if ((cache->block_size = as_vd->block_size) & ~0x01ff) { - part_info[dn].partition_sizes[pn] = - (as_vd->block_size >> 9) * as_vd->size; - cache->path_table_sector = - (as_vd->block_size >> 9) * as_vd->path_table_block; - cache->optional_path_table_sector = - (as_vd->block_size >> 9) * as_vd->optional_path_table_block; - } - else { - part_info[dn].partition_sizes[pn] = - (as_vd->block_size * as_vd->size) >> 9; - cache->path_table_sector = - (as_vd->block_size * as_vd->path_table_block) >> 9; - cache->optional_path_table_sector = - (as_vd->block_size * as_vd->optional_path_table_block) >> 9; - } - cache->path_table_size = as_vd->path_table_size; - return true; -} \ No newline at end of file -- cgit v1.2.3