You mentioned not wanting to use any APIs and I'm going to suggest
CreateFile[
^] anyway, but because I think it's used in a way that is acceptable for you :)
CreateFile can be used to create a file, but it can also be used to directly access sectors on a disk. I learned how to do this a while ago from
this[
^] article.
You can open the floppy disk for example with
hFloppyDisk = CreateFile("\\\\.\\A:",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
You can then access the required sector like so:
SetFilePointer(hFloppyDisk,512*(18*(cylinder*2+head)+(sector-1)),0,FILE_BEGIN);
And then write like so:
WriteFile(hFloppyDisk,buffer, 512,&count,NULL);
Now you have access to the raw disk data, you can create files if you have the knowledge how the file system stores it.
Do note that Windows might not allow you access to the disk you're interested in; for example your C:\ drive where Windows is installed is most likely going to result in an access denied error.