Do floppy disks become fragmented on Commodore drives?

Modding and Technical Issues

Moderator: Moderators

Post Reply
rwv01
Vic 20 Enthusiast
Posts: 161
Joined: Thu Nov 01, 2007 8:14 am

Do floppy disks become fragmented on Commodore drives?

Post by rwv01 »

If so, can they be defragmented?

[edit]Ok, according to the 1541 manual, this would require the CBM DOS "Validate" command. (ah, yes!) It says not to use with random files though.[/edit]

I'm trying to reduce loading times for my disks.
Eventially I'll invest in some new hardware which does this, but for now I'd like to try optimizing my disks. I'm using a software fast loader and have removed unnecessary files.

Is there a way to see the order in wich all files on a disk are being loaded?

If so, I could put them in the same order on the disk and perhaps reduce loading time a litte more. I re-ordered some files on a disk containing Novaterm 9.6 (which shows part of the loading sequence) and it apparently shaved off 7 seconds. I've got the loading time down from 3.42 minutes to 1.88 minutes. Still have to see if I broke anything.

Any other tricks? Is there a way to auto-load and run programs?
Last edited by rwv01 on Mon Aug 03, 2009 11:12 am, edited 1 time in total.
Diddl
Vic 20 Afficionado
Posts: 425
Joined: Wed Jun 10, 2009 3:18 am

Post by Diddl »

No, "validate" does no defragmentation, only free/allocate sectors.


Fragmentation is normally no problem for a 1541. But it would be possible:

+ many, many very small files

+ delete some of it, on or two per track

+ save a large file, it will be fragmented
rwv01
Vic 20 Enthusiast
Posts: 161
Joined: Thu Nov 01, 2007 8:14 am

Post by rwv01 »

Diddl wrote:No, "validate" does no defragmentation, only free/allocate sectors.
I must have miss-interpreted the manual then. Thanks.
In any case, It didn't have the effect I was looking for.

Are there any other methods for reducing loading time?
Diddl
Vic 20 Afficionado
Posts: 425
Joined: Wed Jun 10, 2009 3:18 am

Post by Diddl »

rwv01 wrote:Are there any other methods for reducing loading time?
Jiffy-DOS, Easyload ...
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

1. The DOS scans the directory for the file name you specified. This search will take longer, the farther down the file is on the list.

2. The directory is (roughly) located in the middle of disc space. When a file is stored, DOS searches for the next available sector "near" to the directory, and then stores the file only either stepping down, or up tracks. When the lowest, or topmost tracks are filled, DOS moves the head over to the other half of the disc.

Unless you made a scratch-and-save fest on a disc, this means that files further up the directory list are located near the directory track, and thus have a smaller time for the first access after the file entry has been found.

...

If you are sure there is no direct access data on the disc you can proceed as follows:

* Take a program to organise directories, and move the files to the top that should load the fastest.

* Use a file copy program to copy over the files to an empty disk, in the order they appear in the source directory.
Diddl wrote:Jiffy-DOS, Easyload ...
And Hypra-System. :mrgreen:

Greetings,

Michael
Lozza
Vic 20 Amateur
Posts: 63
Joined: Wed Feb 16, 2005 4:50 pm

Post by Lozza »

technically and sensibly fab though all this is - does he just want to know how to get stuff to load *much* faster ?

so aside from jiffy and the like - can you put a diskfastload thing on to the boot of each disk with simple a b c d menu and have a single file prog load well quick ?

is that the question ?
oi oi saveloy
rwv01
Vic 20 Enthusiast
Posts: 161
Joined: Thu Nov 01, 2007 8:14 am

Post by rwv01 »

It's a little technical, but hey it's computers! :)

It answers my question about the how the file order and speed of loading.
Thanks!
I am using a software fast loader as well.

Now, how do you know which files should load first?
Is there a way to monitor what is being loaded if the file name doesn't appear on screen?
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

rwv01 wrote:Now, how do you know which files should load first?

Is there a way to monitor what is being loaded if the file name doesn't appear on screen?
Yes. 8)

One puts a wedge into the LOAD vector at ($0330). That wedge ideally resides, and stores the file name in an area not written to by the supervised program. As you most probably use a +8K or better expansion, an additional +3K expansion could provide that space between $0400, and $0FFF.

But then we have a programming question. ;)
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Lozza wrote:so aside from jiffy and the like - can you put a diskfastload thing on to the boot of each disk with simple a b c d menu and have a single file prog load well quick ?
EasyLoad+ (File version)

Put it as first file of the disk, load, Run, select the block where you want to put it and hit F3 for a directory.

It Requires any memory expansion 3K/ 8K / 16k or any other, better if the Vic is full expanded, to load a program for unexpanded vic you just need to set the proper vic configuration "on the fly" example:

If you have a 16k expansion select block 4 then to load a program for unexpanded Vic hit CTRL+F1 to unexpand the vic "on the fly" then hit "F3" for the Directory, if you want to load a program for Vic+8K, hit CTRL+F5 to set "on the fly" Vic+8K and load the program.

The best choice is a Vic Full expanded or Mega-Cart of course.

And thanks to new Diddl routines, i'm writing a Mega-Cart patch to add JiffyDos support to the EasyLoad version included on Mega-Cart so you may also quickly load from any drive with JiffyDos roms, uIEC/SD2IEC included.
Mega-Cart: the cartridge you plug in once and for all.
rwv01
Vic 20 Enthusiast
Posts: 161
Joined: Thu Nov 01, 2007 8:14 am

Post by rwv01 »

Cool! When I have more time, I'll look further into your suggestions.
Thanks. I've got the memory requirements covered.

Are there equivalent methods for the C64?
ruud
Vic 20 Devotee
Posts: 245
Joined: Wed Aug 04, 2004 11:26 pm

Post by ruud »

Defragmentation can be done in a very simple way by copying the disk file by file to a newly formatted disk. Can be done by using Commodore's own Uni-copy (don't know the exact name) program found on various demo disks.
Using a speed loader will speed up the process of course.

Code: Select all

    ___
   / __|__
  / /  |_/     Met vriendelijke groet, Ruud Baltissen
  \ \__|_\
   \___|       URL: www.baltissen.org

Post Reply