Commodore 64 (C64) Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
Fast loader shootout
Goto page 1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Commodore 64 (C64) Forum Index -> General
View previous topic :: View next topic  
Author Message
LordCrass
Forum Junkie
Forum Junkie


Joined: 04 Jan 2002
Posts: 517

PostPosted: Fri Mar 02, 2012 5:58 am    Post subject: Fast loader shootout Reply with quote

Ever wondered how the major commercial fast loaders compared to each other for speed? Some step the drive head quickly, but were they really loading as fast as it sounded?

I did a bit of looking into this, and here are the results, showing the loader, GCR efficiency, the data density (bytes per track), sector interleave (number of rotations to load entire track), and final throughput, calculated as: density/(rotations * 0.2s)

Code:

Loader        GCR Eff   Density      Skew  Throughput
AR5*         :  CBM     5334 B/trk   3^    6667  B/s
SS5*         :  CBM     5334 B/trk   4^    5334  B/s (D)
FinalCart3*  :  CBM     5334 B/trk   4^    5334  B/s (D)
EXOS V3*     :  CBM     5334 B/trk   4^    5334  B/s (D)
Epyx FL      :  CBM     5334 B/trk   10    2667  B/s
Mach5 v2a*   :  CBM     5334 B/trk   10    2667  B/s (D)
Mach5 v1b r2 :  CBM     5334 B/trk   8&    3333  B/s (D)
WarpSpeed v2 :  CBM     5334 B/trk   5&/6& 4445  B/s
JiffyDOS v6  :  CBM     5334 B/trk   4&/6& 4445  B/s
FastBoot v2  :  CBM     5334 B/trk   8&    3333  B/s (D)
SuperDOS v2.0:  CBM     5334 B/trk   6&    4445  B/s
Vorpal v1*   :  75%     5040 B/trk   2     12600 B/s
Vorpal v2*   :  80%     6016 B/trk   3     10026 B/s
V-Max! v0*   :  CBM     5334 B/trk   5     5334  B/s
V-Max! v1    :  CBM     5082 B/trk   6     4235  B/s
V-Max! v2    :  75%     4972 B/trk   4     6215  B/s
V-Max! v3    :  75%     4825 B/trk   3^    8041  B/s
V-Max! v4    :  75%     5018 B/trk   3^    8363  B/s
BOSSDOS v1*  :  50%     2304 B/trk   3     3840  B/s (D)
BOSSDOS v2.5 :  CBM     5334 B/trk   10    2667  B/s
Rapidlok v1  :  66%     4191 B/trk   5     4191  B/s
PirateSlayer :  CBM     5334 B/trk   11    2424  B/s
S.T.P. Loader:  CBM     5334 B/trk   8     3333  B/s (D)
ProDOS (all) :  CBM     5334 B/trk   11    2424  B/s
KeyDOS       :  CBM     5334 B/trk   15    1778  B/s
XEMAG 2.0    :  CBM     5334 B/trk   10    2667  B/s


* Denotes a loader that transfers data with the screen off only.
^ Denotes an interleave-independent loader (cartridges/EXOS require +1 disk revolution to build sector table)
& Assumes files written with optimal interleave indicated
JiffyDOS will manage an interleave of 4 and throughput of 6667 B/s if using a 1571 drive.
Warp Speed will handle interleave 5 on 1571.
(D) Indicates "dirty" loader, which cheats by not verifying sector checksums.

Some of the IRQ loaders listed above may have lower performance when interrupts are more intensive. The above values are based on optimal conditions and on the most dense tracks. Other factors such as motor spin-up time, drive head seek, directory search, time to find first sector on the track, etc, are not considered, and can add substantial time to the overall load of a file.

The data density indicates the actual usable program data that the track can hold. ie. what you'd actually load into c64 memory. Some values may be off by a few bytes, but should be otherwise fairly accurate.

For reference, standard Commodore DOS has a throughput of approximately 300 bytes/second.

If you see any errors, speak up so I can fix it!


Last edited by LordCrass on Sat Mar 23, 2013 6:46 pm; edited 18 times in total
Back to top
View user's profile Send private message
r.cade
Master of C64
Master of C64


Joined: 28 Aug 2004
Age: 41
Posts: 1422
Location: Augusta, Georgia, USA

PostPosted: Fri Mar 02, 2012 6:55 pm    Post subject: Reply with quote

The older version of Vorpal is faster than the newer... Interesting. Smile
_________________
-
Pete Rittwage
C64 Preservation Project
Register your C64 today - http://c64preservation.com/registry
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
adric22
Forum Junkie
Forum Junkie


Joined: 07 Sep 2009
Age: 37
Posts: 597
Location: Fort Worth, TX

PostPosted: Fri Mar 02, 2012 7:23 pm    Post subject: Re: Fast loader shootout Reply with quote

LordCrass wrote:
Ever wondered how the major commercial fast loaders compared to each other for speed? Some step the drive head quickly, but were they really loading as fast as it sounded?

I've never heard of any of these. The main commercial fast loaders I know of are:
  • EPYX Fastload
  • Mach 5
  • Jiffydos
Back to top
View user's profile Send private message Visit poster's website
Hidron
C64 Enthusiast
C64 Enthusiast


Joined: 11 Aug 2010
Age: 40
Posts: 731
Location: North Idaho, USA

PostPosted: Fri Mar 02, 2012 7:45 pm    Post subject: Re: Fast loader shootout Reply with quote

adric22 wrote:

I've never heard of any of these.


What is listed in the 1st post are normally considered copy protection. I don't normally think of them when I think of fast loaders either.
_________________
Commodore will live forever!
Back to top
View user's profile Send private message
LordCrass
Forum Junkie
Forum Junkie


Joined: 04 Jan 2002
Posts: 517

PostPosted: Fri Mar 02, 2012 8:24 pm    Post subject: Reply with quote

The first version of Vorpal doesn't store as much data though, so v2 is a very nice compromise: More data per track than standard CBM, but still loads extremely quickly. Maybe that's why they didn't use it for every release. For instance, Epyx's Final Assault, which came out in 1988, uses the original Vorpal loader. If it would have been more than one disk side, and using v2 would have brought it under 1 disk, they probably would have used that. If you ask me, Vorpal v2 is the state-of-the-art when it comes to 1541 loaders and disk format. It is very impressive.

I realize these aren't fast loaders that you can really put to your own use, but there's already a lot of data out there on the user-land fast loaders like Jiffy and Epyx Fast Load, but very little on the commercial/protection fast loaders, so that's why I focused on that. If you're interested in the differences between those other carts, and why some are faster than others, I could do a little writeup.

I did include the Action Replay 5 loader in there, so there is some comparison to regular tools. AR is bar-none, the fastest cart loader out there. They use nearly every trick available to increase speed. To get any faster, you're going to a non-standard GCR, or parallel cable. I am aware of another software-based loader that does Vorpal-speed on standard CBM DOS, but it has limited practical use.
Back to top
View user's profile Send private message
nonex
Groupie
Groupie


Joined: 30 Dec 2011
Posts: 175
Location: USA

PostPosted: Fri Mar 02, 2012 9:01 pm    Post subject: Reply with quote

LordCrass wrote:
I realize these aren't fast loaders that you can really put to your own use, but there's already a lot of data out there on the user-land fast loaders like Jiffy and Epyx Fast Load, but very little on the commercial/protection fast loaders, so that's why I focused on that.

You can't make your own vorpal disks? I seem to remember doing so back in the day...
Back to top
View user's profile Send private message
Hidron
C64 Enthusiast
C64 Enthusiast


Joined: 11 Aug 2010
Age: 40
Posts: 731
Location: North Idaho, USA

PostPosted: Fri Mar 02, 2012 9:08 pm    Post subject: Reply with quote

nonex wrote:
LordCrass wrote:
I realize these aren't fast loaders that you can really put to your own use, but there's already a lot of data out there on the user-land fast loaders like Jiffy and Epyx Fast Load, but very little on the commercial/protection fast loaders, so that's why I focused on that.

You can't make your own vorpal disks? I seem to remember doing so back in the day...


Is that where you have contests to see how far you can make the disks fly when thrown? Laughing
_________________
Commodore will live forever!
Back to top
View user's profile Send private message
nonex
Groupie
Groupie


Joined: 30 Dec 2011
Posts: 175
Location: USA

PostPosted: Fri Mar 02, 2012 9:19 pm    Post subject: Reply with quote

Hidron wrote:
Is that where you have contests to see how far you can make the disks fly when thrown? :lol:

No, I was thinking real vorpal disks using a mastering type program. I have the disk upstairs, mebbe I can take a look at it.
Back to top
View user's profile Send private message
LordCrass
Forum Junkie
Forum Junkie


Joined: 04 Jan 2002
Posts: 517

PostPosted: Fri Mar 02, 2012 10:07 pm    Post subject: Reply with quote

Vorpal v1, yes, you could use this format if you had the Vorpal Utility Kit from Epyx.

There were also numerous rip-offs of Vorpal: Warp*25, Turbo 25, Heureka Sprint. The SuperKit/1541 (v2) loader was also lifted from Vorpal.
Back to top
View user's profile Send private message
nlem
Groupie
Groupie


Joined: 23 Nov 2005
Posts: 237
Location: San Francisco, California

PostPosted: Sun Mar 04, 2012 11:59 pm    Post subject: Reply with quote

LordCrass, thanks for the nice comparison. Couple notes.

Seems like v-max v1 was a mistake. They rewrote for a non-blank loader (vs. v0) but got the interleave pretty bad.

Could you post other versions of RapidLok or is the encoding the same? I'm also interested in the EA and Activision loaders.

Thanks.
Back to top
View user's profile Send private message Visit poster's website
Lasse
C64 Games Programmer
C64 Games Programmer


Joined: 07 Jan 2002
Posts: 2181
Location: Finland

PostPosted: Mon Mar 05, 2012 11:18 am    Post subject: Reply with quote

This is very interesting data. How did you measure the protection-like fastloaders, did you rip the loader out, or just measure a game's loading performance?
Back to top
View user's profile Send private message Visit poster's website
LordCrass
Forum Junkie
Forum Junkie


Joined: 04 Jan 2002
Posts: 517

PostPosted: Mon Mar 05, 2012 9:35 pm    Post subject: Reply with quote

I'll check out the EA loader (PirateSlayer, the one that actually has a fast loader, such as on Bard's Tale II and Kings of the Beach). There may be more than one version of the fast loader code on this, since it was used across so many years. There's also the ProDOS loader that EA used in few later titles that was decently fast. The Activision loader you're referring to is the KeyDOS one, correct? That's the one that was used on games such as Portal. These ones won't be nearly as impressive as far as speed goes, since they use standard GCR encoding.

Edit: Added PirateSlayer from Kings of the Beach (1989). It's capable of an interleave of 7, but uses 8, likely to avoid problems with faster running drives. Also checked Bard's Tale II, but that loader is crippled by using an interleave of 1, so it's slower than it should be.

I'll look into a few other v-max v1 titles as well, and also verify how many sectors pass under the drive head before the loader is ready to grab the next one. They may have used 13 to be on the safe side, even if the loader is capable of a lower value. This one was from Defender of the Crown.

Edit: Yes, turns out it's an optimal interleave 6, and the loader does sometimes use that. Updated the initial post.

Lasse: The info was gathered from disassembly of the loaders.
Back to top
View user's profile Send private message
Sigmoid
Groupie in Training
Groupie in Training


Joined: 05 Mar 2012
Age: 32
Posts: 105

PostPosted: Wed Mar 07, 2012 3:09 pm    Post subject: Reply with quote

Sorry for the silly question, but how exactly did these systems realize copy protection? Smile

Also, I wonder what sort of built-in, fulldisk loader would you guys recommend that can be used for new releases? Maybe with a crossplatform (PC) disk mastering utility?
Back to top
View user's profile Send private message
LordCrass
Forum Junkie
Forum Junkie


Joined: 04 Jan 2002
Posts: 517

PostPosted: Wed Mar 07, 2012 5:46 pm    Post subject: Reply with quote

Some of them used a non-standard GCR (ie. RapidLok, V-Max v3), so you couldn't use a fast copier to duplicate them, as it would try to decode the GCR using Commodore's routines and fail. Nibblers would copy some of them, such as Vorpal v1 since the sector structure was the same as Commodore's. Others, such as BOSSDOS, had long sectors that wouldn't fit in drive memory without being decoded first. Custom copiers could sometimes deal with these ones. The main purpose of the non-standard GCR was to speed up loading by avoiding Commodore's slow GCR decoding routines. The custom GCR usually wasn't as efficient, but could be decoded in near real-time.

Usually an extra protection check was added to the loaders that could be copied by fast copiers or nibblers. They'd check bytes in the gap areas, lengths of sync marks, fat tracks, etc.

The later ones like Vorpal v2 and V-Max v2 or higher used a completely different sector layout which was more efficient than Commodore's. They didn't have gaps in the header or data blocks and they didn't use a sync mark between the header and data blocks. Those gaps are in CBM's DOS because you need to be able to write normal sectors as well as read. These custom loaders didn't support writing to disk in these formats, so they didn't have to worry about them. The only way to write these formats out was to write the whole track at once, without turning off the write head, and that required a parallel cable or extra drive RAM to hold the whole track. They also stored more data on a track than normal, so you wouldn't be able to write them out unless you slowed down the drive motor a bit.

If you're looking for a loader for new releases, you likely wouldn't use one with a non-standard GCR, since then you'd have to distribute it as a g64 image or on physical floppies.

Krill has a nice loader available with source code.

http://noname.c64.org/csdb/release/?id=78348

The only downside to it is that it uses the ATN line, so you can't have more than one drive connected to the serial chain.
Back to top
View user's profile Send private message
maiki
Groupie in Training
Groupie in Training


Joined: 01 Nov 2008
Posts: 131

PostPosted: Thu Mar 08, 2012 11:08 am    Post subject: Reply with quote

Which loader is that one used by many cracker groups, that has the short lines running acroos black screen? I have never understood the popularity of that loader as it is SLOW as hell and looks boring. And the loader in Defender Of The Crown is actually a turbo loader? It was a real pain to play that game on 1541-II having to wait for dozens of seconds all the time. The best was always when there was no custom loader in the game so that I could get use of my Final Cartridge II, which was significantly faster than those 2 I mentioned.
Back to top
View user's profile Send private message
Fröhn
Grandmaster of C64
Grandmaster of C64


Joined: 13 Jan 2003
Posts: 1950

PostPosted: Thu Mar 08, 2012 11:42 am    Post subject: Reply with quote

Probably Freeze Frame loader.
Back to top
View user's profile Send private message
garycd32
Newbie


Joined: 14 Jan 2003
Posts: 31

PostPosted: Sat Mar 10, 2012 1:54 am    Post subject: Reply with quote

maiki wrote:
Which loader is that one used by many cracker groups, that has the short lines running acroos black screen? I have never understood the popularity of that loader as it is SLOW as hell and looks boring.


You may be thinking of games on disk that were cracked from tape. I think the loader was decrunching data while loading and this is why it was slow - it wasn't a turbo loader. Most of these had short multi-coloured lines in the border on a black screen.
Back to top
View user's profile Send private message
LordCrass
Forum Junkie
Forum Junkie


Joined: 04 Jan 2002
Posts: 517

PostPosted: Sat Mar 10, 2012 7:42 am    Post subject: Reply with quote

maiki wrote:
And the loader in Defender Of The Crown is actually a turbo loader? It was a real pain to play that game on 1541-II having to wait for dozens of seconds all the time.


You can't be referring to the original Defender of the Crown game, are you? The V-Max loader on there is quite fast. Go play the Eaglesoft version for a comparison. And even the ESI version uses a faster-than-stock loader.
Back to top
View user's profile Send private message
encore
Über Groupie
Über Groupie


Joined: 02 Jun 2010
Posts: 376
Location: .se

PostPosted: Sat Mar 10, 2012 9:38 am    Post subject: Reply with quote

LordCrass: Ah, I saw you already mentioned Krill's Loader a few posts up. How does it compare speedwise?
Back to top
View user's profile Send private message Visit poster's website
NorthWay
Groupie
Groupie


Joined: 07 Jan 2003
Posts: 288
Location: Grimstad, Norway

PostPosted: Sat Mar 10, 2012 7:50 pm    Post subject: Reply with quote

Are there any fastloaders that just spin the disk and load whatever not-loaded sector that comes first? I.e. a scatter-loader. Would probably break if you are decompressing in the loader, but those are not the fastest loaders anyway?
Back to top
View user's profile Send private message
Fröhn
Grandmaster of C64
Grandmaster of C64


Joined: 13 Jan 2003
Posts: 1950

PostPosted: Sat Mar 10, 2012 9:06 pm    Post subject: Reply with quote

NorthWay wrote:
Are there any fastloaders that just spin the disk and load whatever not-loaded sector that comes first? I.e. a scatter-loader.

Action Replay loader does that, Krill's IRQ loader also does that and finally Warpcopy D64 reading does that too. AR + Krill need one initial revolution of the disk to detect which blocks belong to the file + what offsets in memory they would have.

Quote:
Would probably break if you are decompressing in the loader, but those are not the fastest loaders anyway?

Depends. If the decompressing is done in times which otherwise would be C64 idle times, it can be faster than faster loading + decompression afterwards.
Back to top
View user's profile Send private message
LordCrass
Forum Junkie
Forum Junkie


Joined: 04 Jan 2002
Posts: 517

PostPosted: Sat Mar 10, 2012 10:30 pm    Post subject: Reply with quote

NorthWay wrote:
Are there any fastloaders that just spin the disk and load whatever not-loaded sector that comes first? I.e. a scatter-loader. Would probably break if you are decompressing in the loader, but those are not the fastest loaders anyway?


These are marked in the list with a ^ beside the interleave. The transfer speed reflects the extra rotation required. V-Max 3+ doesn't need the extra rotation because the sector number and file that it belongs to are part of the sector itself.

encore wrote:
LordCrass: Ah, I saw you already mentioned Krill's Loader a few posts up. How does it compare speedwise?


Krill's loader is similar to Action Replay, but the send routine is a bit slower since it has to contend with interrupts and leave the screen on. I haven't really traced it to see what its actual speed is, but I'm guessing it could read/transfer every 4th sector, and with an extra initial rotation, would put it at about 5 rotations to read an entire track? This of course is assuming that there isn't anything going on at the c64 except the data transfer.
Back to top
View user's profile Send private message
Liteweildr
Über Groupie
Über Groupie


Joined: 24 Apr 2010
Age: 47
Posts: 328
Location: Northern Utah (Wishin I was home in Texas)

PostPosted: Wed Mar 14, 2012 1:48 am    Post subject: Reply with quote

Do you have the ability to test the Mach64/128? I would be interested in its' performance. (Mainly because I have a Mach128 and it claims to load @ +700% with blank screen and +500% W/o blank screen)
Other than that very nice info!


Thank you!

Lite
Back to top
View user's profile Send private message
NorthWay
Groupie
Groupie


Joined: 07 Jan 2003
Posts: 288
Location: Grimstad, Norway

PostPosted: Wed Mar 14, 2012 9:02 pm    Post subject: Reply with quote

Are there any loaders that are designed so they can stream data continuously? Would probably have pretty low density?

What is the x25 loader that came with The Expert like?
Back to top
View user's profile Send private message
LordCrass
Forum Junkie
Forum Junkie


Joined: 04 Jan 2002
Posts: 517

PostPosted: Thu Mar 15, 2012 12:17 am    Post subject: Reply with quote

I don't have the Mach5 or the Mach128 carts, but I do have the Mach 5 cart image for Vice. Took a quick look at it, it's very basic. It uses the regular DOS (through the $80 job code) to read in sectors and decode them, but uses a 2-bit transfer routine to get the sector to the c64. This is what the Epyx Fast Load cart does, but the EFL cart does it more efficiently and is therefore nearly twice as fast! I'd have say the Mach 5 has an optimal interleave of 20, but this really means that it's only going to load one sector per disk revolution. It's a rather poor fastloader and their claims of 500% speedup are dubious. Should probably be more like 200%.

Is the 700% claim only made for the Mach128 cart? I'm not sure how they could state this either. See, the thing is, you can't load faster than the Epyx Fast Load (5x speedup) without doing one of 2 things:

1. Changing the sector interleave to <10.
2. Loading sectors out of order.

If your read and transfer routines are faster than an interleave 10, you just spend a bunch of time waiting till that next sector arrives and your speedups are wasted. JiffyDOS and carts like WarpSpeed can claim 10x speedups, but only if you save your files with an interleave of 6 instead. With standard interleave of 10, they only load 500% faster.


Northway: I'm not sure what you mean by "stream data continuously". If you mean a sector interleave of 1, then there's only 2 speeders I'm aware of that can do that: Professional DOS (a.k.a RapiDOS Pro in the USA, Disk Demon in the U.K, and some other variants of it) and Prologic DOS. They achieve that by using a parallel cable to do real-time transfer, as well as hardware GCR decode so they can decode real-time as they read.

I'm not familiar with the loader that came with The Expert, but if it's a 25x loader, I'm willing to bet that it's a Vorpal rip off.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Commodore 64 (C64) Forum Index -> General All times are GMT
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Tip: Get C64 Forever for super-comfy C64 emulation with pre-installed games, demos and other goodies!


Powered by phpBB © 2001, 2005 phpBB Group