| |
Mix256 Account closed
Registered: Dec 2008 Posts: 26 |
File order on disk
Hiya!
So, I got an app that removes and creates a file to disk (using kernal, $ffd8).
But where on the disk this file is listed afterwards seems totally random. Is it just me or is it like that?
In vice is seems to keep the position where it was. In ccs it jumps up and down. And the times I've tried it on real hw (/w 1541) it appears at the top.
The problem is that I want the main-app to appear at the top so a load"*",8,1 always loads it, and never this created file.
Any docs anywhere on this?
Thanks!
-mikael
|
|
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
You can use a tool like Dir Master V8.4 to move dir entries up and down as you like. Can't help you with your original question, though. |
| |
Mix256 Account closed
Registered: Dec 2008 Posts: 26 |
You said something there, 'dirs', that kind of solved my problem. Didn't it? If the disk can hold directories, ofcourse. Which it can, can't it?
Needs instant investigation. Thanks!
EDIT: Don't know what I was on about. Never seen a directory on a floppy. You can't create one, can you?
|
| |
Marauder/GSS Account closed
Registered: Jul 2006 Posts: 224 |
AFAIR it always takes the first free directory-entry it finds to save the filename in a dir-sector.
So if you've f.e. 10 files on the disk and delete the 2nd one, then this "deleted" entry is taken for the next file you save (as it's deleted and hence a free directory-entry) and it's not saved on last position as you might assume... that's why it might seems randomly to you. Haven't tested how emulators do it...
1581 drives can also hold directories, on C128 but C64 doesn't have directories... |
| |
Mix256 Account closed
Registered: Dec 2008 Posts: 26 |
Thanks Marauder. Sounds logical. Will do some more testing on real hw and hope you're right because then it would work as I want.
|
| |
Mace
Registered: May 2002 Posts: 1799 |
If you validate a disk, the directory is 'compressed'.
All empty entries are removed, the next time you save a file, it will be last on the disk.
However, if you have a disk with data saved without using a file entry (so called 'block loaders', 'track loaders' or a demo refered to as 'trackmo'), with verify you'll fuck things up :-)
Oh, yeah, to validate:
open 15,8,15,"V":close 15 |
| |
MagerValp
Registered: Dec 2001 Posts: 1078 |
Of course the 1541 has a directory, it just doesn't have *sub*directories...
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: Hiya!
So, I got an app that removes and creates a file to disk (using kernal, $ffd8).
But where on the disk this file is listed afterwards seems totally random. Is it just me or is it like that?
In vice is seems to keep the position where it was. In ccs it jumps up and down. And the times I've tried it on real hw (/w 1541) it appears at the top.
The problem is that I want the main-app to appear at the top so a load"*",8,1 always loads it, and never this created file.
Any docs anywhere on this?
Thanks!
-mikael
You can pre-create an entry at the top to delete and rewrite.
Otherwise you'll need to manipulate the directory track directly.
|
| |
Marauder/GSS Account closed
Registered: Jul 2006 Posts: 224 |
Quote: Of course the 1541 has a directory, it just doesn't have *sub*directories...
yes, that's what I've ment when talking about directory-entries...ofcoz it has a directory, but not subdirectories! |
| |
AlexC
Registered: Jan 2008 Posts: 299 |
Quote: yes, that's what I've ment when talking about directory-entries...ofcoz it has a directory, but not subdirectories!
A bit off topic but you can use Make Dir to create directories on disk (1541):
Make Dir
|
| |
Mix256 Account closed
Registered: Dec 2008 Posts: 26 |
K, fiddled some.
As you say, the first free directory-entry is used.
My 3rd file gets removed and then reinserted again, just as I want it to.
BUT when doing a load"*",8,1, the first file isn't loaded. This 3rd file is loaded instead...
Got a MMC Replay inserted. Could that do that kind of thing?
|
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
* loads the last accessed file. Only on a fresh boot it loads the first one. |
| |
iAN CooG
Registered: May 2002 Posts: 3197 |
Quote: * loads the last accessed file. Only on a fresh boot it loads the first one.
load":*",8,1 and you're sure. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
I urge you to copy all revelant files to a clean disk before releasing, otherwise you'll have superfluous garbage on the disk. Similar for your binaries, we have seen releases with chunks of source code and other remnants often enough. |
| |
A Life in Hell Account closed
Registered: May 2002 Posts: 204 |
Quote: I urge you to copy all revelant files to a clean disk before releasing, otherwise you'll have superfluous garbage on the disk. Similar for your binaries, we have seen releases with chunks of source code and other remnants often enough.
i like seeing those things. it's like computer archeology... |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
does anyone write messages in the bam of d64's ?
that's how the oldest crackers got in contact.. |
| |
Mix256 Account closed
Registered: Dec 2008 Posts: 26 |
Thank you Steppe. The gamestate file was the last accessed one after my resets, no wonder it loaded it.
And thank you iAN, didn't know that either.
So all, in all, I never had a problem...just user error on my side and some strange behaviour in ccs64.
I just need to rtfm a bit closer in the future.
Thanks all!
ps. so, with this bug out of the window, it's time for you to preorder ;)
http://www.binaryzone.org/retrostore/
|