diff options
author | germeier <germeier> | 2002-09-10 13:41:21 +0000 |
---|---|---|
committer | germeier <germeier> | 2002-09-10 13:41:21 +0000 |
commit | 196525ab0a4c2350cce745bfb1e6b340ced89d3c (patch) | |
tree | d0016a7ab1b1dfdaaa9ac2c06c83a81e6fb504b4 /libmpio/mpio.c | |
parent | aead174ddcfc61eafa706c7fdff0c8b84dbd2128 (diff) | |
download | mpiosh-196525ab0a4c2350cce745bfb1e6b340ced89d3c.tar.gz mpiosh-196525ab0a4c2350cce745bfb1e6b340ced89d3c.tar.bz2 mpiosh-196525ab0a4c2350cce745bfb1e6b340ced89d3c.zip |
support for deleting and formating of internal memory added
BEWARE: this might well kill your player !!!!
Diffstat (limited to 'libmpio/mpio.c')
-rw-r--r-- | libmpio/mpio.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/libmpio/mpio.c b/libmpio/mpio.c index 552c126..67d2ddb 100644 --- a/libmpio/mpio.c +++ b/libmpio/mpio.c @@ -1,6 +1,6 @@ /* * - * $Id: mpio.c,v 1.7 2002/09/10 12:31:09 germeier Exp $ + * $Id: mpio.c,v 1.8 2002/09/10 13:41:21 germeier Exp $ * * Library for USB MPIO-* * @@ -442,6 +442,7 @@ mpio_file_put(mpio_t *m, mpio_mem_t mem, BYTE *filename, 2002, 8, 13, 2, 12, fsize, startsector); + /* this writes the FAT *and* the root directory */ mpio_fat_write(m, mem); return fsize-filesize; @@ -460,9 +461,7 @@ mpio_memory_format(mpio_t *m, mpio_mem_t mem, if (mem == MPIO_INTERNAL_MEM) { sm=&m->internal; - data_offset=0x00; - debug("formatting of internal memory is not yet supported, sorry\n"); - return 0; + data_offset = 0x01; } if (mem == MPIO_EXTERNAL_MEM) @@ -489,15 +488,18 @@ mpio_memory_format(mpio_t *m, mpio_mem_t mem, } while (mpio_fatentry_plus_plus(f)); free(f); - /* format CIS area */ - f = mpio_fatentry_new(m, mem, /* yuck */ - (1 - ((sm->dir_offset + DIR_NUM)/BLOCK_SECTORS - 2 ))); - mpio_io_block_delete(m, mem, f); - free(f); - mpio_io_sector_write(m, mem, 0x20, sm->cis); - mpio_io_sector_write(m, mem, 0x21, sm->cis); + if (mem == MPIO_EXTERNAL_MEM) { + /* format CIS area */ + f = mpio_fatentry_new(m, mem, /* yuck */ + (1-((sm->dir_offset + DIR_NUM)/BLOCK_SECTORS - 2))); + mpio_io_block_delete(m, mem, f); + free(f); + mpio_io_sector_write(m, mem, 0x20, sm->cis); + mpio_io_sector_write(m, mem, 0x21, sm->cis); + } mpio_rootdir_clear(m, mem); + /* this writes the FAT *and* the root directory */ mpio_fat_write(m, mem); if (progress_callback) @@ -563,6 +565,7 @@ mpio_file_del(mpio_t *m, mpio_mem_t mem, BYTE *filename, } mpio_dentry_delete(m, mem, filename); + /* this writes the FAT *and* the root directory */ mpio_fat_write(m, mem); return (fsize-filesize); |