aboutsummaryrefslogtreecommitdiff
path: root/libmpio/mpio.c
diff options
context:
space:
mode:
authorgermeier <germeier>2002-09-10 13:41:21 +0000
committergermeier <germeier>2002-09-10 13:41:21 +0000
commit196525ab0a4c2350cce745bfb1e6b340ced89d3c (patch)
treed0016a7ab1b1dfdaaa9ac2c06c83a81e6fb504b4 /libmpio/mpio.c
parentaead174ddcfc61eafa706c7fdff0c8b84dbd2128 (diff)
downloadmpiosh-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.c25
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);